#X3D V4.0 utf8
# X3D-to-ClassicVRML XSL translation autogenerated by X3dToVrml97.xslt
# https://www.web3d.org/x3d/content/X3dToVrml97.xslt
# Generated using XSLT processor: Saxonica
PROFILE Immersive
# [X3D] version=4.0
# [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-4.0.xsd
# [head]
COMPONENT HAnim:1
META "title" "HAnimModelHandRight.x3d"
META "description" "Right hand using high-fidelity definitions for HAnim version 2.0"
META "creator" "Kwan-Hee YOO, Don Brutzman and Joe Williams"
META "created" "26 January 2015"
META "modified" "23 December 2021"
META "TODO" "fix visible geometry for thumb and index finger, midcarpal_1 and midcarpal_2"
META "Image" "HAnimModelHandRightSegmentVisualizationError.png"
META "error" "not yet to scale, also relatively flat"
### Error:
META "warning" "TODO will X3D HAnim component add a new level to support LOA-4 functionality?"
META "info" "TODO describe how to compute and apply offsets for center values whenever attaching this appendage to a body"
### Info:
META "reference" "https://www.web3d.org/working-groups/humanoid-animation-HAnim"
META "reference" "https://www.web3d.org/documents/specifications/19774/V2.0"
META "reference" "https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheHands"
META "reference" "https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-HandJoints"
META "reference" "https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy4"
META "reference" "https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html"
META "subject" "X3D HAnim humanoid animation"
META "TODO" "Integrate and confirm Segment/Joint names, Viewpoints."
META "identifier" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/HAnimModelHandRight.x3d"
META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"
META "license" "../license.html"
# [Scene] ========== ========== ==========
NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo
WorldInfo {
title "HAnimModelHandRight.x3d"
}
DEF hanim_Hand_Right HAnimHumanoid {
name "Hand_Right"
info [ "loa=4" ]
# original HAnimHumanoid info='"authorName=Kwan-Hee YOO, Don Brutzman and Joe Williams"'
metadata MetadataSet {
name "HAnimHumanoid.info"
reference "https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid"
value [
MetadataString {
name "authorName"
value [ "Kwan-Hee" "YOO" "Don" "Brutzman" "and" "Joe" "Williams" ]
}
]
}
skeleton [
DEF hanim_humanoid_root HAnimJoint {
name "humanoid_root"
children [
# Might consider putting a HAnimSegment here, but that doesn't help with re-use of this hand model
DEF hanim_r_radiocarpal HAnimJoint {
description "connection joint of hand to leg above"
name "r_radiocarpal"
children [
DEF hanim_r_carpal HAnimSegment {
name "r_carpal"
children [
Transform {
children [
DEF HAnimJointShape Shape {
geometry Sphere {
radius 0.025
}
appearance DEF HAnimJointAppearanceBlue Appearance {
material Material {
diffuseColor 0 0 1
}
}
}
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF RCToMC12 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0 0 0 -0.1 0.1 0 ]
}
}
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF RCToMC3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0 0 0 0.0 0.07 0 ]
}
}
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF RCToMC45 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0 0 0 0.1 0.1 0 ]
}
}
}
]
}
# MC1
DEF hanim_r_midcarpal_1 HAnimJoint {
center -0.14 0.09 0
name "r_midcarpal_1"
children [
DEF hanim_r_trapezium HAnimSegment {
name "r_trapezium"
children [
Transform {
translation -0.14 0.09 0
children [
DEF HAnimNewJointShape Shape {
geometry Sphere {
radius 0.025
}
appearance DEF HAnimJointAppearanceRed Appearance {
material Material {
diffuseColor 1 0 0
}
}
}
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MC12toCMC1 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.1 0.1 0 -0.2 0.15 0 ]
}
}
}
]
}
# thumb finger
DEF hanim_r_carpometacarpal_1 HAnimJoint {
center -0.2 0.15 0
name "r_carpometacarpal_1"
children [
DEF hanim_r_metacarpal_1 HAnimSegment {
name "r_metacarpal_1"
children [
Transform {
translation -0.2 0.15 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF CMC1toMCP1xxx IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.2 0.15 0 -0.3 0.3 0 ]
}
}
}
]
}
DEF hanim_r_metacarpophalangeal_1 HAnimJoint {
center -0.3 0.3 0
name "r_metacarpophalangeal_1"
children [
DEF hanim_r_carpal_proximal_phalanx_1 HAnimSegment {
name "r_carpal_proximal_phalanx_1"
children [
Transform {
translation -0.3 0.3 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MCP11toIP1 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.3 0.3 0 -0.35 0.4 0 ]
}
}
}
]
}
DEF hanim_r_carpal_interphalangeal_1 HAnimJoint {
center -0.35 0.4 0
name "r_carpal_interphalangeal_1"
children [
DEF hanim_r_carpal_distal_phalanx_1 HAnimSegment {
name "r_carpal_distal_phalanx_1"
children [
Transform {
translation -0.35 0.4 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF fingertip_r_carpal_interphalangeal_1 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.35 0.4 0 -0.36 0.45 0 ]
}
}
}
]
}
]
}
]
}
]
}
]
}
# MC2
DEF hanim_r_midcarpal_2 HAnimJoint {
center -0.07 0.07 0
name "r_midcarpal_2"
children [
DEF hanim_r_trapezoid HAnimSegment {
name "r_trapezoid"
children [
Transform {
translation -0.07 0.07 0
children [
USE HAnimNewJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MC12toCMC2 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.1 0.1 0 -0.1 0.2 0 ]
}
}
}
]
}
# index finger
DEF hanim_r_carpometacarpal_2 HAnimJoint {
center -0.1 0.2 0
name "r_carpometacarpal_2"
children [
DEF hanim_r_metacarpal_2 HAnimSegment {
name "r_metacarpal_2"
children [
Transform {
translation -0.1 0.2 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF CMC2toMCP2 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.1 0.2 0 -0.15 0.5 0 ]
}
}
}
]
}
DEF hanim_r_metacarpophalangeal_2 HAnimJoint {
center -0.15 0.5 0
name "r_metacarpophalangeal_2"
children [
DEF hanim_r_carpal_proximal_phalanx_2 HAnimSegment {
name "r_carpal_proximal_phalanx_2"
children [
Transform {
translation -0.15 0.5 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MCP2toPIP2 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.15 0.5 0 -0.2 0.7 0 ]
}
}
}
]
}
DEF hanim_r_carpal_proximal_interphalangeal_2 HAnimJoint {
center -0.2 0.7 0
name "r_carpal_proximal_interphalangeal_2"
children [
DEF hanim_r_carpal_middle_phalanx_2 HAnimSegment {
name "r_carpal_middle_phalanx_2"
children [
Transform {
translation -0.2 0.7 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF PIP2toDIP2 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.2 0.7 0 -0.24 0.87 0 ]
}
}
}
]
}
DEF hanim_r_carpal_distal_interphalangeal_2 HAnimJoint {
center -0.24 0.87 0
name "r_carpal_distal_interphalangeal_2"
children [
DEF hanim_r_carpal_distal_phalanx_2 HAnimSegment {
name "r_carpal_distal_phalanx_2"
children [
Transform {
translation -0.24 0.87 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF fingertip_r_carpal_distal_interphalangeal_2 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.24 0.87 0 -0.26 0.93 0 ]
}
}
}
]
}
]
}
]
}
]
}
]
}
]
}
# MC3
DEF hanim_r_midcarpal_3 HAnimJoint {
center 0.0 0.07 0
name "r_midcarpal_3"
children [
DEF hanim_r_capitate HAnimSegment {
name "r_capitate"
children [
Transform {
translation 0.0 0.07 0
children [
USE HAnimNewJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MC3toCMC3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.0 0.07 0 0.0 0.2 0 ]
}
}
}
]
}
# Middle fingle
DEF hanim_r_carpometacarpal_3 HAnimJoint {
center 0.0 0.2 0
name "r_carpometacarpal_3"
children [
DEF hanim_r_metacarpal_3 HAnimSegment {
name "r_metacarpal_3"
children [
Transform {
translation 0.0 0.2 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF CMC3toMCP3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.0 0.2 0 -0.03 0.5 0 ]
}
}
}
]
}
DEF hanim_r_metacarpophalangeal_3 HAnimJoint {
center -0.03 0.5 0
name "r_metacarpophalangeal_3"
children [
DEF hanim_r_carpal_proximal_phalanx_3 HAnimSegment {
name "r_carpal_proximal_phalanx_3"
children [
Transform {
translation -0.03 0.5 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MCP3toPIP3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.03 0.5 0 -0.05 0.75 0 ]
}
}
}
]
}
DEF hanim_r_carpal_proximal_interphalangeal_3 HAnimJoint {
center -0.05 0.75 0
name "r_carpal_proximal_interphalangeal_3"
children [
DEF hanim_r_carpal_middle_phalanx_3 HAnimSegment {
name "r_carpal_middle_phalanx_3"
children [
Transform {
translation -0.05 0.75 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF PIP3toDIP3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.05 0.75 0 -0.08 0.96 0 ]
}
}
}
]
}
DEF hanim_r_carpal_distal_interphalangeal_3 HAnimJoint {
center -0.08 0.96 0
name "r_carpal_distal_interphalangeal_3"
children [
DEF hanim_r_carpal_distal_phalanx_3 HAnimSegment {
name "r_carpal_distal_phalanx_3"
children [
Transform {
translation -0.08 0.96 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF fingertip_r_carpal_distal_interphalangeal_3 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ -0.08 0.96 0 -0.09 1.05 0 ]
}
}
}
]
}
]
}
]
}
]
}
]
}
]
}
# MC4_5
DEF hanim_r_midcarpal_4_5 HAnimJoint {
center 0.1 0.1 0
name "r_midcarpal_4_5"
children [
DEF hanim_r_hamate HAnimSegment {
name "r_hamate"
children [
Transform {
translation 0.1 0.1 0
children [
USE HAnimNewJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MC45toCMC4 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.1 0 0.1 0.2 0 ]
}
}
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MC45toCMC5 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.1 0 0.15 0.17 0 ]
}
}
}
]
}
# ring finger
DEF hanim_r_carpometacarpal_4 HAnimJoint {
center 0.1 0.2 0
name "r_carpometacarpal_4"
children [
DEF hanim_r_metacarpal_4 HAnimSegment {
name "r_metacarpal_4"
children [
Transform {
translation 0.1 0.2 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF CMC4toMCP4 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.2 0 0.1 0.47 0 ]
}
}
}
]
}
DEF hanim_r_metacarpophalangeal_4 HAnimJoint {
center 0.1 0.47 0
name "r_metacarpophalangeal_4"
children [
DEF hanim_r_carpal_proximal_phalanx_4 HAnimSegment {
name "r_carpal_proximal_phalanx_4"
children [
Transform {
translation 0.1 0.47 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MCP4toPIP4 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.47 0 0.1 0.7 0 ]
}
}
}
]
}
DEF hanim_r_carpal_proximal_interphalangeal_4 HAnimJoint {
center 0.1 0.7 0
name "r_carpal_proximal_interphalangeal_4"
children [
DEF hanim_r_carpal_middle_phalanx_4 HAnimSegment {
name "r_carpal_middle_phalanx_4"
children [
Transform {
translation 0.1 0.7 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF PIP4toDIP4 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.7 0 0.1 0.93 0 ]
}
}
}
]
}
DEF hanim_r_carpal_distal_interphalangeal_4 HAnimJoint {
center 0.1 0.93 0
name "r_carpal_distal_interphalangeal_4"
children [
DEF hanim_r_carpal_distal_phalanx_4 HAnimSegment {
name "r_carpal_distal_phalanx_4"
children [
Transform {
translation 0.1 0.93 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF fingertip_r_carpal_distal_interphalangeal_4 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.1 0.93 0 0.1 1.0 0 ]
}
}
}
]
}
]
}
]
}
]
}
]
}
# pinky finger
DEF hanim_r_carpometacarpal_5 HAnimJoint {
center 0.15 0.17 0
name "r_carpometacarpal_5"
children [
DEF hanim_r_metacarpal_5 HAnimSegment {
name "r_metacarpal_5"
children [
Transform {
translation 0.15 0.17 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF CMC5toMCP5 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.15 0.17 0 0.2 0.4 0 ]
}
}
}
]
}
DEF hanim_r_metacarpophalangeal_5 HAnimJoint {
center 0.2 0.4 0
name "r_metacarpophalangeal_5"
children [
DEF hanim_r_carpal_proximal_phalanx_5 HAnimSegment {
name "r_carpal_proximal_phalanx_5"
children [
Transform {
translation 0.2 0.4 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF MCP5toPIP5 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.2 0.4 0 0.23 0.63 0 ]
}
}
}
]
}
DEF hanim_r_carpal_proximal_interphalangeal_5 HAnimJoint {
center 0.23 0.63 0
name "r_carpal_proximal_interphalangeal_5"
children [
DEF hanim_r_carpal_middle_phalanx_5 HAnimSegment {
name "r_carpal_middle_phalanx_5"
children [
Transform {
translation 0.23 0.63 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF PIP5toDIP5 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.23 0.63 0 0.25 0.79 0 ]
}
}
}
]
}
DEF hanim_r_carpal_distal_interphalangeal_5 HAnimJoint {
center 0.25 0.79 0
name "r_carpal_distal_interphalangeal_5"
children [
DEF hanim_r_carpal_distal_phalanx_5 HAnimSegment {
name "r_carpal_distal_phalanx_5"
children [
Transform {
translation 0.25 0.79 0
children [
USE HAnimJointShape
]
}
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 1
}
}
geometry DEF fingertip_r_carpal_distal_interphalangeal_5 IndexedLineSet {
coordIndex [ 0 1 ]
coord Coordinate {
point [ 0.25 0.79 0 0.26 0.85 0 ]
}
}
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
joints [
USE hanim_humanoid_root
USE hanim_r_carpal_distal_interphalangeal_2
USE hanim_r_carpal_distal_interphalangeal_3
USE hanim_r_carpal_distal_interphalangeal_4
USE hanim_r_carpal_distal_interphalangeal_5
USE hanim_r_carpal_interphalangeal_1
USE hanim_r_carpal_proximal_interphalangeal_2
USE hanim_r_carpal_proximal_interphalangeal_3
USE hanim_r_carpal_proximal_interphalangeal_4
USE hanim_r_carpal_proximal_interphalangeal_5
USE hanim_r_carpometacarpal_1
USE hanim_r_carpometacarpal_2
USE hanim_r_carpometacarpal_3
USE hanim_r_carpometacarpal_4
USE hanim_r_carpometacarpal_5
USE hanim_r_metacarpophalangeal_1
USE hanim_r_metacarpophalangeal_2
USE hanim_r_metacarpophalangeal_3
USE hanim_r_metacarpophalangeal_4
USE hanim_r_metacarpophalangeal_5
USE hanim_r_midcarpal_1
USE hanim_r_midcarpal_2
USE hanim_r_midcarpal_3
USE hanim_r_midcarpal_4_5
USE hanim_r_radiocarpal
]
segments [
USE hanim_r_capitate
USE hanim_r_carpal
USE hanim_r_carpal_distal_phalanx_1
USE hanim_r_carpal_distal_phalanx_2
USE hanim_r_carpal_distal_phalanx_3
USE hanim_r_carpal_distal_phalanx_4
USE hanim_r_carpal_distal_phalanx_5
USE hanim_r_carpal_middle_phalanx_2
USE hanim_r_carpal_middle_phalanx_3
USE hanim_r_carpal_middle_phalanx_4
USE hanim_r_carpal_middle_phalanx_5
USE hanim_r_carpal_proximal_phalanx_1
USE hanim_r_carpal_proximal_phalanx_2
USE hanim_r_carpal_proximal_phalanx_3
USE hanim_r_carpal_proximal_phalanx_4
USE hanim_r_carpal_proximal_phalanx_5
USE hanim_r_hamate
USE hanim_r_metacarpal_1
USE hanim_r_metacarpal_2
USE hanim_r_metacarpal_3
USE hanim_r_metacarpal_4
USE hanim_r_metacarpal_5
USE hanim_r_trapezium
USE hanim_r_trapezoid
]
}