シーン ノード上の一部のプロパティおよびメソッドは、[ノード プロパティ](Node Properties)ダイアログ ボックス内のボーン パラメータと関数に対応しており、アクセスが可能です。
これらのプロパティとメソッドは、INode ノード インタフェースで表示されます。インタフェース:INode
プロパティ:
<node>.boneEnable : Boolean, read-only
設定メソッドについては、<node>.setBoneEnable
を参照してください。
<node>.boneAutoAlign : Boolean
オフの場合、ボーンの基点は子オブジェクトに位置合わせされません。
子ボーンを変換しても、親の回転に変換されません。
代わりに、親の X 軸から子を離すことができます。
<node>.boneFreezeLength : Boolean
オンの場合、ボーンの長さが保持されます。
オフの場合、ボーンの長さは子ボーンの変換に基づいて決定されます。
このオプションは、[自動位置合わせ] (Auto-Align)がオンの場合にのみ使用できます。
<node>.boneScaleType
#scale、#squash、#none のいずれかです。
#None
- ストレッチは実行されません。
#Scale
- ボーンのスケールを実行します。 ストレッチは、1 つの軸に沿って発生します。
#Squash
- ボーンの押し潰しを実行します。 ボーンは短くなるほど太くなり、長くなるほど細くなります。
<node>.stretchTM : matrix3, read-only
通常、行列の結合は次のように実行されます。
objectTM = objectOffsetTM * stretchTM * nodeTM
objectTM を使用するコードは、stretchTM の効果を透過的に継承します。
ただし、オブジェクト オフセットではなく stretchTM を含めたい場合は、このプロパティは stretchTM のみを返します。
ノードがボーンではないか、またはストレッチがない場合は、このプロパティは単位行列を返します。
メソッド
<node>.setBoneEnable <onOff_boolean> <initial-time_time>
ボーンのオンとオフを切り替えます。
<onOff boolean>
オンに設定すると、ボーンまたはオブジェクトはボーンとして動作します。このオプションをオフに設定すると、ノードがボーンとして動作しなくなります。自動位置合わせまたは自動ストレッチは行われません。このオプションをオンに設定すると、オブジェクトの位置合わせまたはストレッチがすぐに行われます。ただし、この後で子を変換すると、回転およびストレッチが実行される場合があります。既定値は、ボーン オブジェクトの場合はオン、他のオブジェクトの場合はオフです。
<initial-time time>
子の初期位置を計算および保存する時刻を指定します。
これは通常、現在のタイム スライダ位置で使用されます。
タイム スライダに関連付けられている時間は、sliderTime
グローバル変数を介して問い合わせたり設定することができます。時間コントロール
.setBoneEnable
を使用したマクロスクリプトの例については、\ui\macroscripts\Macro_Bones.mcr の 3ds Max ディレクトリを参照してください。
<node>.realignBoneToChild()
ノードを回転して、ボーン プロパティがオンになっているすべての子の平均位置にノードの X 軸を一致させます。
<node>.resetBoneStretch()
ストレッチ係数の計算に使用される子の初期位置は、子の現在位置に再設定します。
ストレッチ係数が 1 になります。
ストレッチ係数が 1 でない場合は、オブジェクトは元のストレッチされていない状態にスナップします。