###前提・実現したいこと
現在人型のモデルで関節を引っ張ることが出来る操作を実装しています
以下のサイトを参考にIKという機能を用いてとりあえず関節を引っ張ることが出来る様になったのですが
http://onoty3d.hatenablog.com/entry/2015/03/16/183650
関節は可動範囲内のみでしか移動できないのに対し追従先のオブジェクトが関節の可動範囲外を超えて移動できてしまう為
これを関節の可動範囲内のみに移動を制限したいです
###該当のソースコード
// 人型のモデルにIKを設定する処理 public class IK : MonoBehaviour { [SerializeField] private Transform mRightHand; // 関節(右手)の追従先のオブジェクト public void OnAnimatorIK(int layerIndex) { Animator animator = GetComponent<Animator>(); // 関節(右手)にIKを設定する処理 animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1); animator.SetIKPosition(AvatarIKGoal.RightHand, mRightHand.position); animator.SetIKRotation(AvatarIKGoal.RightHand, mRightHand.rotation); } }
// 関節の追従先オブジェクトを移動させる処理 GameObject rightHand = human.RightHand; // マウス移動により追従先オブジェクトのポジションを変更して関節も移動させる rightHand.transform.position += transform.rotation * new Vector3(Util.MouseX, Util.MouseY) * Time.deltaTime; // 上の処理に移動制限を掛けたいが分からない
###補足情報(言語/FW/ツール等のバージョンなど)
Unity 5.5.2f1
Blender 2.77
宜しくお願い致します
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。