一体の人体モデルを制御します。
(凡例:
読み取り専用)
| フレーム | TopFrame | |
| PartFrames | ||
| 生成元 | P3D | |
| 設定 | InterPolateMethod |
| 姿勢の制御 | StandardPose |
| Pose | |
| Move | |
| MoveBlended |
TopFrame : TSXFrame
人体モデルを表示する、最上位のフレームを示します。
PartFrames : TSXFrameList
各パーツを格納しているフレームを参照します。
P3D.Parts[idx]を格納しているフレームが、PartsFrames[idx]に対応します。
P3D : TP3D
生成元のTP3Dオブジェクトを示します。
InterPolateMethod : TP3DInterpolateMethod TP3DInterpolateMethod = (pimIDFT, pimBSpline, pimLinear, pimSkip);
モーション再生時の、ポーズの補間方法を設定します。
以下の値が有効です。
| pimIDFT | 逆フーリェ変換を利用して補間を行います |
| pimBSpline | 3次Bスプライン補間を行います |
| pimLinear | 線形補間を行います |
| pimSkip | 現在の時刻に最も近い、キーフレームの時刻におけるポーズを、そのまま用います(補間ナシ、パタパタアニメ状態) |
デフォルトでは、pimIDFTです。HumanMDLと同じモーション補間方法です。
procedure StandardPose;
標準姿勢をとります。
procedure Pose(poseIndex:Integer);
poseIndexで指定されるポーズをとります。
procedure Move(motionIndex:Integer; time:Single);
motionIndexで示されるモーションの、時刻timeにおける姿勢をとります。
procedure MoveBlended(motionA,motionB:Integer; timeA,timeB:Single; rate_b:Single);
motionAで示されるモーションの、時刻timeAで示される時刻における姿勢と、motionBで示されるモーションの時刻timeBにおける姿勢とを混合した姿勢をとります。
rate_bが混合比で、rate_b = 0の時motionAと同じ姿勢になり、rate_b = 1の時、motionBと同じ姿勢になります。