<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
<X3D profile='Immersive'
version='4.0'
xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'
xsd:noNamespaceSchemaLocation
='
https://www.web3d.org/specifications/x3d-4.0.xsd
'
>
<head>
</head>
<!--
Visualization reports for HAnimHumanoid models:
SimpleSkeleton HAnimHumanoid Report,
SimpleSkeletonMesh HAnimHumanoid Report,
SkinIndexedGeometry HAnimHumanoid Report,
SkinShapeIndexedGeometry HAnimHumanoid Report,
SkinSwitchShapeIndexedGeometry HAnimHumanoid Report,
SynthesizedSkinShapeIndexedTwoPartGeometry HAnimHumanoid Report,
ApparelSkinIndexedGeometryMultipleShapes HAnimHumanoid Report,
AnatomySkinIndexedGeometryMultipleShapes HAnimHumanoid Report
<!--
Index for DEF nodes:
a_feature01_tip,
a_SimpleSkeleton,
b_SimpleSkeletonMesh,
c_SkinIndexedGeometry,
d_SkinShapeIndexedGeometry,
e_SkinSwitchShapeIndexedGeometry,
f_SynthesizedSkinShapeIndexedTwoPartGeometry,
g_ApparelSkinIndexedGeometryMultipleShapes,
h_AnatomySkinIndexedGeometryMultipleShapes,
IndexedSkinMeshIFS,
JointVisualization,
MultipleHumanoids,
SegmentBoneMesh,
SegmentVisualization,
SiteVisualization,
SkinMeshCoordinate,
SkinMeshIFS,
TwoPartIndexedSkinMesh,
TwoPartSkinMesh,
ViewHelpText
Index for Viewpoint node:
ViewHelpText
-->
<Scene>
<WorldInfo title='HAnimHumanoid skin design patterns for apparel, medical'/>
<Background skyColor='0 0.6 0.6'/>
<Group DEF='MultipleHumanoids'>
<
MetadataString name='
HAnimArchitecture'
reference='
https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/Guidelines.html#MultipleHumanoidsPerFile
'
value='
"E.4 Multiple humanoids per file"'/>
<!-- ============================== -->
<HAnimHumanoid DEF='a_SimpleSkeleton' name='SimpleSkeleton'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'>
</HAnimSegment>
</HAnimJoint>
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='b_SimpleSkeletonMesh' name='SimpleSkeletonMesh'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'>
</HAnimSegment>
</HAnimJoint>
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='c_SkinIndexedGeometry' name='SkinIndexedGeometry'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<IndexedFaceSet DEF='SkinMeshIFS' containerField='skin'/>
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='d_SkinShapeIndexedGeometry' name='SkinShapeIndexedGeometry'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<Shape containerField='skin'>
</Shape>
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='e_SkinSwitchShapeIndexedGeometry' name='SkinSwitchShapeIndexedGeometry'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<!-- TODO show X3D4.0 addition of <Switch DEF='AlternativeSkins' containerField='skin'> -->
<Shape containerField='skin'>
</Shape>
</HAnimHumanoid>
<!-- similarly for LOD -->
<!-- ============================== -->
<HAnimHumanoid DEF='f_SynthesizedSkinShapeIndexedTwoPartGeometry' name='SynthesizedSkinShapeIndexedTwoPartGeometry'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<Shape containerField='skin'>
</Shape>
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='g_ApparelSkinIndexedGeometryMultipleShapes' name='ApparelSkinIndexedGeometryMultipleShapes'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<Shape containerField='skin'/>
<!-- allow multiple Shape nodes with containerField='apparel', one for each layer of clothing -->
<!-- TODO proposed for X3D4.1 <Shape containerField='apparel'/> -->
</HAnimHumanoid>
<!-- ============================== -->
<HAnimHumanoid DEF='h_AnatomySkinIndexedGeometryMultipleShapes' name='AnatomySkinIndexedGeometryMultipleShapes'>
<HAnimJoint containerField='skeleton' name='humanoid_root' ulimit='0 0 0' llimit='0 0 0'>
<HAnimSegment name='sacrum'/>
</HAnimJoint>
<!-- allow multiple Shape nodes with containerField='skin', one for each layer of skin -->
<Shape containerField='skin'/>
</HAnimHumanoid>
<!-- ============================== -->
</Group>
<Viewpoint DEF='ViewHelpText' description='Select text to see website' position='0 0 12'/>
<!-- Selectable Text design pattern has transparent Box and TouchSensor description as a tooltip -->
<Anchor description='DesignPatternsApparelMedicalSkinLayers.x3d explores potential apparel approaches' parameter='"target=blank"'
url='
"https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/DesignPatternsApparelMedicalSkinLayersIndex.html" '
>
<Shape>
<!-- TODO adjust Text string and Box size, then set Material transparency='1' -->
<Text string='"DesignPatternsApparelMedicalSkinLayers.x3d" "" "explores potential apparel approaches"'>
<FontStyle family='"SANS"' justify='"MIDDLE" "MIDDLE"' size='0.6' style='BOLD'/>
</Text>
<Appearance>
<Material diffuseColor='0.9 0.9 0.9'/>
</Appearance>
</Shape>
<Shape>
<!-- Author TODO: to adjust transparent Box as text-selection assist, set width and height to match size, then set transparency='1' to make invisible. -->
<Box size='11 2 .001'/>
<Appearance>
<Material transparency='1'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--
Visualization reports for HAnimHumanoid models:
SimpleSkeleton HAnimHumanoid Report,
SimpleSkeletonMesh HAnimHumanoid Report,
SkinIndexedGeometry HAnimHumanoid Report,
SkinShapeIndexedGeometry HAnimHumanoid Report,
SkinSwitchShapeIndexedGeometry HAnimHumanoid Report,
SynthesizedSkinShapeIndexedTwoPartGeometry HAnimHumanoid Report,
ApparelSkinIndexedGeometryMultipleShapes HAnimHumanoid Report,
AnatomySkinIndexedGeometryMultipleShapes HAnimHumanoid Report
<!--
Index for DEF nodes:
a_feature01_tip,
a_SimpleSkeleton,
b_SimpleSkeletonMesh,
c_SkinIndexedGeometry,
d_SkinShapeIndexedGeometry,
e_SkinSwitchShapeIndexedGeometry,
f_SynthesizedSkinShapeIndexedTwoPartGeometry,
g_ApparelSkinIndexedGeometryMultipleShapes,
h_AnatomySkinIndexedGeometryMultipleShapes,
IndexedSkinMeshIFS,
JointVisualization,
MultipleHumanoids,
SegmentBoneMesh,
SegmentVisualization,
SiteVisualization,
SkinMeshCoordinate,
SkinMeshIFS,
TwoPartIndexedSkinMesh,
TwoPartSkinMesh,
ViewHelpText
Index for Viewpoint node:
ViewHelpText
-->
<!--
=============================================================================================================================
HAnimHumanoid a_SimpleSkeleton skeleton holds X3D4 HAnim2 joints/segments/sites.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (1), @ skin nodes (0)
=============================================================================================================================
HAnimHumanoid DEF='a_SimpleSkeleton name='SimpleSkeleton' loa='-1'
skeleton
humanoid_root : sacrum ^ feature01_tip
^ HAnimSegment sacrum holds 1 HAnimSite node: feature01_tip
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='a_SimpleSkeleton' name='SimpleSkeleton' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
-
<!-- HAnimSite visualization line segment from ancestor <HAnimJoint name='humanoid_root'/> to <HAnimSite name='feature01_tip'/> -->
<Shape>
<LineSet vertexCount='2'>
<Coordinate point='0 0 0, 0 0 0'/>
<ColorRGBA USE='HAnimSiteColorRGBA'/>
</LineSet>
</Shape>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid b_SimpleSkeletonMesh skeleton holds X3D4 HAnim2 joints/segments.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (0)
=============================================================================================================================
HAnimHumanoid DEF='b_SimpleSkeletonMesh name='SimpleSkeletonMesh' loa='-1'
skeleton
humanoid_root : sacrum
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='b_SimpleSkeletonMesh' name='SimpleSkeletonMesh' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid c_SkinIndexedGeometry skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='c_SkinIndexedGeometry name='SkinIndexedGeometry' loa='-1'
skin IndexedFaceSet DEF='SkinMeshIFS'
skeleton
humanoid_root : sacrum
@ HAnimHumanoid SkinIndexedGeometry holds 1 containerField='skin' node: IndexedFaceSet DEF='SkinMeshIFS'
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='c_SkinIndexedGeometry' name='SkinIndexedGeometry' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid d_SkinShapeIndexedGeometry skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='d_SkinShapeIndexedGeometry name='SkinShapeIndexedGeometry' loa='-1'
skin Shape
skeleton
humanoid_root : sacrum
@ HAnimHumanoid SkinShapeIndexedGeometry holds 1 containerField='skin' node:
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='d_SkinShapeIndexedGeometry' name='SkinShapeIndexedGeometry' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid e_SkinSwitchShapeIndexedGeometry skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='e_SkinSwitchShapeIndexedGeometry name='SkinSwitchShapeIndexedGeometry' loa='-1'
skin Shape
skeleton
humanoid_root : sacrum
@ HAnimHumanoid SkinSwitchShapeIndexedGeometry holds 1 containerField='skin' node:
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='e_SkinSwitchShapeIndexedGeometry' name='SkinSwitchShapeIndexedGeometry' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid f_SynthesizedSkinShapeIndexedTwoPartGeometry skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='f_SynthesizedSkinShapeIndexedTwoPartGeometry name='SynthesizedSkinShapeIndexedTwoPartGeometry' loa='-1'
skin Shape
skeleton
humanoid_root : sacrum
@ HAnimHumanoid SynthesizedSkinShapeIndexedTwoPartGeometry holds 1 containerField='skin' node:
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='f_SynthesizedSkinShapeIndexedTwoPartGeometry' name='SynthesizedSkinShapeIndexedTwoPartGeometry' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- similarly for LOD -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid g_ApparelSkinIndexedGeometryMultipleShapes skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='g_ApparelSkinIndexedGeometryMultipleShapes name='ApparelSkinIndexedGeometryMultipleShapes' loa='-1'
skin Shape
skeleton
humanoid_root : sacrum
@ HAnimHumanoid ApparelSkinIndexedGeometryMultipleShapes holds 1 containerField='skin' node:
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='g_ApparelSkinIndexedGeometryMultipleShapes' name='ApparelSkinIndexedGeometryMultipleShapes' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- similarly for LOD -->
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
=============================================================================================================================
HAnimHumanoid h_AnatomySkinIndexedGeometryMultipleShapes skeleton holds X3D4 HAnim2 joints/segments and a skin node.
[key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (1), : HAnimSegment (1), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (0), @ skin nodes (1)
=============================================================================================================================
HAnimHumanoid DEF='h_AnatomySkinIndexedGeometryMultipleShapes name='AnatomySkinIndexedGeometryMultipleShapes' loa='-1'
skin Shape
skeleton
humanoid_root : sacrum
@ HAnimHumanoid AnatomySkinIndexedGeometryMultipleShapes holds 1 containerField='skin' node:
=============================================================================================================================
The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes.
Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.
Key to author-assist additions inserted in the HAnimHumanoid skeleton:
-
HumanoidRoot Suggested Shape geometry for HAnimHumanoid
-
HAnimJoint Suggested Shape geometry additions are provided to illustrate each HAnimJoint
-
HAnimSegment Suggested IndexedLineSet connections illustrate each HAnimSegment
-
HAnimSite Suggested IndexedLineSet and Shape geometry additions illustrate each HAnimSite
-
Viewpoint Suggested Shape geometry additions illustrate each HAnimSite/Viewpoint combinations
<HAnimHumanoid
DEF='h_AnatomySkinIndexedGeometryMultipleShapes' name='AnatomySkinIndexedGeometryMultipleShapes' version ='2.0' >
|
- <HAnimJoint
DEF='' name='humanoid_root' containerField ='skeleton' ulimit='0 0 0' llimit='0 0 0'>
- <HAnimSegment
DEF='' name='sacrum'>
-
<!-- Visualization sphere for <HAnimJoint name='humanoid_root'/> is placed within <HAnimSegment name='sacrum'/> -->
<TouchSensor description='HAnimJoint humanoid_root, HAnimSegment sacrum'/>
-
<Transform translation='0 0 0'>
<Shape USE='HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
<!-- similarly for LOD -->
<!-- ============================== -->
<!-- ============================== -->
<!-- ============================== -->
|
</HAnimHumanoid>
|
-->
<!--
Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/DesignPatternsApparelMedicalSkinLayersIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/DesignPatternsApparelMedicalSkinLayers.x3d
-->
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->