大富豪ゲームの制作。
ちょっと間があいてしまいましたが、キャラクターのアニメーションや視線移動など演出面を改良中です。
手札を配っている間はカードの方を見る
番が回ってきたプレイヤーの方を見ます。人間プレイヤーの手順では各キャラが全員こちらを見ます。
腕をIKで曲げてますが、足もIKで曲げているので、座っている感じになっています(膝は操作できない)
カードが無くなると上がりなので、勝利ポーズをとります。
ビリの人は悲観にくれます (´・ω・`)
スマホでも動かせます。液晶がフルHDなのでレイアウト的問題はないですね。
もっと違う解像度でどうなるか検証がいります。
素晴らしいことに、SetLookAtPositionで、眼球から頭、首、体まで、特定のターゲットにむけて動かしてくれます。
weightで変化量を指定できますので、この値を徐々に増やせば徐々に動きます。
ただ、IKで無理やり関節動かしてると既存のアニメーションがおかしくなるので、いろいろと改良の余地あり。
void OnAnimatorIK(int layerIndex) { anime.SetLookAtWeight( weight, // 全体的な関節への影響 bodyWeight: 0.3f, headWeight: 0.8f, eyesWeight: 1.0f, clampWeight: 0.3f // 無理をしない度 ); // ターゲットの方を向く anime.SetLookAtPosition(LookTarget); }
手足を動かすのは、以前、足の着地をやりましたが、以下のような感じ
void OnAnimatorIK(int layerIndex) { setIK(AvatarIKGoal.RightHand, transform.forward * 3f + Vector3.up * 2f ); setIK(AvatarIKGoal.LeftHand, transform.forward * 3f + Vector3.up * 2f); setIK(AvatarIKGoal.RightFoot, Vector3.up * 7f); setIK(AvatarIKGoal.LeftFoot, Vector3.up * 7f); } void setIK(AvatarIKGoal goal,Vector3 pos) { anime.SetIKPosition(goal, anime.GetIKPosition(goal) + pos); anime.SetIKPositionWeight(goal, 1f); } }