1. 使用方法
(1) オブジェクトの親オブジェクトにIK Managerスクリプトを追加
(2) キャラクターの手足の骨の端と笏の端に空のオブジェクトを作成します
(3) IKノードの追加
プレーヤーの選択
追加後、Player のサブオブジェクト IK ノードが表示されることがわかります。
セプターの端にあるゲームオブジェクトをエフェクターにドラッグします
ChainLength を設定し、Target を作成すると、IK ノードにサブオブジェクトがあることがわかります。
(4) 移動するIKノードを選択します
(5) 位置を設定した後、Player が移動したときに問題が発生しないように、IK ノードを Player のサブオブジェクトとして設定します。
2. 重要なパラメータ
3. 小さな演習: マウスが指す場所、指が指す場所はどこですか?
public class L39 : MonoBehaviour
{
//两只手的ik节点(是IK节点的子对象target)
public Transform rightHandIkPoint;
public Transform leftHandIkPoint;
//记录鼠标位置
private Vector3 mousePos;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(1))
{
//记录鼠标位置
mousePos = Input.mousePosition;
//鼠标的Z轴跟摄像机的Z轴反向,摄像机Z是-10
mousePos.z = 10;
//屏幕坐标转世界坐标
rightHandIkPoint.position = Camera.main.ScreenToWorldPoint(mousePos);
leftHandIkPoint.position = Camera.main.ScreenToWorldPoint(mousePos);
}
}
}