Biped のノード階層
biped.getNode <biped | biped_ctrl> <name | index> [link:<int_link>]
指定されたリムノードを返します。2 番目の引数には名前付きリム(#larm、#rarm、#lfingers など)、または整数のインデックスを指定できます。リンク引数を指定しない場合は、トップ(最初の)ノードが返されます。指定されたノードが存在しない場合は、undefined
値が返されます。
例:
|
--you can get the left hand as follows:
biped.getNode $ #lArm link:4
|
Biped のトップ レベルおよびそのリンク ノードは次のとおりです。
インデックス
|
リム名
|
リンク ノード(リンク インデックス順)
|
|
|
|
1
|
#larm
|
L Clavicle
|
L UpperArm
|
L Forearm
|
L Hand
|
2
|
#rarm
|
R Clavicle
|
R UpperArm
|
R Forearm
|
R Hand
|
3
|
#lfingers
|
L Finger0
|
L Finger01
|
L Finger02
|
L Finger1
|
|
|
L Finger11
|
L Finger12
|
L Finger2
|
L Finger21
|
|
|
L Finger22
|
L Finger3
|
L Finger31
|
L Finger32
|
|
|
L Finger4
|
L Finger41
|
L Finger42
|
|
4
|
#rfingers
|
R Finger0
|
R Finger01
|
R Finger02
|
R Finger1
|
|
|
R Finger11
|
R Finger12
|
R Finger2
|
R Finger21
|
|
|
R Finger22
|
R Finger3
|
R Finger31
|
R Finger32
|
|
|
R Finger4
|
R Finger41
|
R Finger42
|
|
5
|
#lleg
|
L Thigh
|
L Calf
|
L HorseLink
|
L Foot
|
6
|
#rleg
|
R Thigh
|
R Calf
|
R HorseLink
|
R Foot
|
7
|
#ltoes
|
L Toe0
|
L Toe01
|
L Toe02
|
L Toe1
|
|
|
L Toe11
|
L Toe12
|
L Toe2
|
L Toe21
|
|
|
L Toe22
|
L Toe3
|
L Toe31
|
L Toe32
|
|
|
L Toe4
|
L Toe41
|
L Toe42
|
|
8
|
#rtoes
|
R Toe0
|
R Toe01
|
R Toe02
|
R Toe1
|
|
|
R Toe11
|
R Toe12
|
R Toe2
|
R Toe21
|
|
|
R Toe22
|
R Toe3
|
R Toe31
|
R Toe32
|
|
|
R Toe4
|
R Toe41
|
R Toe42
|
|
9
|
#spine
|
Spine
|
Spine1
|
Spine2
|
Spine3
|
|
|
Spine4
|
|
|
|
10
|
#tail
|
Tail
|
Tail1
|
Tail2
|
Tail3
|
|
|
Tail4
|
|
|
|
11
|
#head
|
Head
|
|
|
|
12
|
#pelvis
|
Pelvis
|
|
|
|
13
|
#vertical
|
Biped COM
|
|
|
|
14
|
#horizontal
|
Biped COM
|
|
|
|
15
|
#turn
|
Biped COM
|
|
|
|
16
|
#footprints
|
Footsteps
|
|
|
|
17
|
#neck
|
Neck
|
Neck1
|
Neck2
|
Neck3
|
|
|
Neck4
|
|
|
|
18
|
#pony1
|
Ponytail1
|
Ponytail11
|
Ponytail12
|
Ponytail13
|
|
|
Ponytail14
|
|
|
|
19
|
#pony2
|
Ponytail2
|
Ponytail21
|
Ponytail22
|
Ponytail23
|
|
|
Ponytail24
|
|
|
|
20
|
#prop1
|
Prop1
|
|
|
|
21
|
#prop2
|
Prop2
|
|
|
|
22
|
#prop3
|
Prop3
|
|
|
|
101
|
#lfArmTwist
|
L ForeTwist
|
L ForeTwist1
|
L ForeTwist2
|
L ForeTwist3
|
|
|
L ForeTwist4
|
L ForeTwist5
|
L ForeTwist6
|
L ForeTwist7
|
|
|
L ForeTwist8
|
L ForeTwist9
|
|
|
102
|
#rfArmTwist
|
R ForeTwist
|
R ForeTwist1
|
R ForeTwist2
|
R ForeTwist3
|
|
|
R ForeTwist4
|
R ForeTwist5
|
R ForeTwist6
|
R ForeTwist7
|
|
|
R ForeTwist8
|
R ForeTwist9
|
|
|
103
|
#lUparmTwist
|
L UpTwist
|
L UpTwist1
|
L UpTwist2
|
L UpTwist3
|
|
|
L UpTwist4
|
L UpTwist5
|
L UpTwist6
|
L UpTwist7
|
|
|
L UpTwist8
|
L UpTwist9
|
|
|
104
|
#rUparmTwist
|
R UpTwist
|
R UpTwist1
|
R UpTwist2
|
R UpTwist3
|
|
|
R UpTwist4
|
R UpTwist5
|
R UpTwist6
|
R UpTwist7
|
|
|
R UpTwist8
|
R UpTwist9
|
|
|
105
|
#lThighTwist
|
L ThighTwist
|
L ThighTwist1
|
L ThighTwist2
|
L ThighTwist3
|
|
|
L ThighTwist4
|
L ThighTwist5
|
L ThighTwist6
|
L ThighTwist7
|
|
|
L ThighTwist8
|
L ThighTwist9
|
|
|
106
|
#rThighTwist
|
R ThighTwist
|
R ThighTwist1
|
R ThighTwist2
|
R ThighTwist3
|
|
|
R ThighTwist4
|
R ThighTwist5
|
R ThighTwist6
|
R ThighTwist7
|
|
|
R ThighTwist8
|
R ThighTwist9
|
|
|
107
|
#lCalfTwist
|
L CalfTwist
|
L CalfTwist1
|
L CalfTwist2
|
L CalfTwist3
|
|
|
L CalfTwist4
|
L CalfTwist5
|
L CalfTwist6
|
L CalfTwist7
|
|
|
L CalfTwist8
|
L CalfTwist9
|
|
|
108
|
#rCalfTwist
|
R CalfTwist
|
R CalfTwist1
|
R CalfTwist2
|
R CalfTwist3
|
|
|
R CalfTwist4
|
R CalfTwist5
|
R CalfTwist6
|
R CalfTwist7
|
|
|
R CalfTwist8
|
R CalfTwist9
|
|
|
109
|
#lHorseTwist
|
L HorseTwist
|
L HorseTwist1
|
L HorseTwist2
|
L HorseTwist3
|
|
|
L HorseTwist4
|
L HorseTwist5
|
L HorseTwist6
|
L HorseTwist7
|
|
|
L HorseTwist8
|
L HorseTwist9
|
|
|
110
|
#rHorseTwist
|
R HorseTwist
|
R HorseTwist1
|
R HorseTwist2
|
R HorseTwist3
|
|
|
R HorseTwist4
|
R HorseTwist5
|
R HorseTwist6
|
R HorseTwist7
|
|
|
RHorseTwist8
|
R HorseTwist9
|
|
|
Biped ノード階層に関連したメソッド
biped.maxNumNodes <biped | biped_ctrl>
Biped がサポートする最大ノード。
トップ レベル ノードの一覧については、 biped.getNode() の説明を参照してください。
biped.maxNumLinks <biped | biped_ctrl>
Biped がサポートする最大リンク ノード。
リンク ノードの一覧については、 biped.getNode() の説明を参照してください。
例
|
bipObj = biped.createNew 100 0 [0,0,0] arms:true neckLinks:5\
spineLinks:5 legLinks:4 tailLinks:5 ponyTail1Links:5 \
ponyTail2Links:5 fingers:5 fingerLinks:3 toes:5\
toeLinks:3 ankleAttach:0.3 trianglePelvis:True \
prop1Exists:True prop2Exists:True prop3Exists:True \
forearmTwistLinks:4
nn = biped.maxNumNodes bipObj
nl = biped.maxNumLinks bipObj
for i = 1 to nn do
(
anode = biped.getNode bipObj i
if anode != undefined do
(
format "% :\t%\n" i anode.name
for j = 1 to nl do
(
alink = biped.getNode bipObj i link:j
if alink != undefined do
format "% : % \t%\n" i j alink.name
)
)
)
|
上記のサンプル コードでは、すべての Biped ノードが取得されますが、Biped のツイスト ノードは取得されません。
3ds Max 7 では、ID 24、25 で前腕(formarm)のツイスト ノードを取得していましたが、これが Biped にあるツイスト ノードのすべてでした。
3ds Max 8 では、上腕、ふくらはぎ、下肢、大腿にツイスト ノードが追加されています。
maxNumNodes は 24 ではなく 22 を返すように変更されました。この変更により、前腕のツイストにアクセスすることはできなくなりました。
前腕のツイストの ID が変更され、他のツイストすべてに新しい ID が追加されましたが、ユーザがツイストにアクセスするためのメソッドはありませんでした。
ツイスト ボーンのメソッド
次のメソッドは、3ds Max 9 で追加され、Biped のツイスト ボーンへのアクセスを提供します。これらのメソッドは、唯一のパラメータとして Biped コントローラを取ります。
Biped.maxTwistNodes <biped | biped_ctrl>
Biped によってサポートされているツイスト ノード トラックの数。
トップ レベル ツイスト ノードの一覧については、 biped.getNode() の説明を参照してください。
Biped.maxTwistLinks <biped | biped_ctrl>
Biped によってサポートされている、各ツイスト トラックあたりの最大リンク ノード数。
Biped の説明を参照してください。 biped.getNode() の説明を参照してください。
Biped.getTwistStartId <biped | biped_ctrl>
ツイスト ノートの開始 ID。
ツイスト ノードおよびその ID の一覧については、 biped.getNode() の説明を参照してください。
以下の例は、Biped のすべてのツイスト ノードを取得します。
例:
|
nn = biped.maxTwistNodes bipObj
format "num twist nodes: %\n" nn
nl = biped.maxTwistLinks bipObj
format "max twist links: %\n" nl
ts = biped.getTwistStartId bipObj
format "twist start id: %\n" ts
for i = ts to ts+nn-1 do
(
anode = biped.getNode bipObj i
if anode != undefined do
(
format "% :\t%\n" i anode.name
for j = 1 to nl do
(
alink = biped.getNode bipObj i link:j
if alink != undefined do
(
format "% : % \t%\n" i j alink.name
)
)
)
)
|