タグ

unityとIKに関するtake-yuのブックマーク (3)

  • UnityのIKを使って足の位置と角度を地面に合わせる機能

    using UnityEngine; using System.Collections; using System; public class FootIK : MonoBehaviour { private CharacterController characterController; private Animator animator; // テスト用のIKのOn・Offスイッチ [SerializeField] private bool useIK = true; // IKで角度を有効にするかどうか [SerializeField] private bool useIKRot = true; // 右足のウエイト private float rightFootWeight = 0f; // 左足のウエイト private float leftFootWeight = 0f; //

  • Unity でキャラクタの足の位置を地面の形状に合わせてみた - 凹みTips

    はじめに 段差や坂を登る時などに単にアニメーションさせているだけではコライダの位置に合わせてキャラクタが上下するだけで、片方の足は地面に付いているけど、もう片方の足の位置は地面から離れているといった不自然な表現になってしまいます。 これを解決するには、アニメーションした後に地面の形状に応じて足の位置と傾きを上書きしてあげれば良いわけです。Unity では MonoBehaviour の OnAnimatorIK() などのタイミングで IK(Inverse Kinematics)を利用することで、手前の関節も位置も考慮して両手両足の位置を上書きをすることが出来ます。これを利用すると簡単に足を地面に沿わせることが出来ます。前半はこれについて解説します。 地面の形状に合うようにつけるのは簡単なのですが、動いている時も自然な見た目になるようにしようとすると色々と面倒になります。自分で作るのも大変

    Unity でキャラクタの足の位置を地面の形状に合わせてみた - 凹みTips
  • UnityのIKを使って物を運ぶアニメーション

    今回はUnityのIKを使って物を運びながら走るアニメーションを作成してみようと思います。 岩や箱を一時的にでもキャラクターが持つという場面を考えます。 それ用のアニメーションを作成するとなると箱の大きさを考えて手の位置を変更し細かく調整する必要があります。 が、箱の大きさや持つ位置が合わないのでまた最初からアニメーションの調整!をしているとたまったもんじゃありません。 IKを使って右手、左手の位置や角度を指定すると元々のアニメーションにかかわらず、右手、左手、右足、左足の位置を特定の位置と角度に合わせる事が出来ます。 今回の機能を作成すると、 IKを使用する為にアニメーターコントローラの設定を変更するIKを使用する為にアニメーターコントローラーの設定を変更する必要があります。 元々の走るアニメーションは上のような感じです。 キャラクターに設定しているアニメーターコントローラのBase L

  • 1