AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

VR空間でNPCの左手を掴む

f:id:yasu9780:20201003215103g:plain

UnityのHumanoidのIKを掴んでみました。
まだNPCの手首が変な方向に曲がってますけどw

Oculus Questのデモに、ロボットの両手を掴んで踊るデモがあったんですが、あーゆーのをやってみたいですね。
両手を掴んで回ったり、自分がしゃがむと相手もしゃがんだりしてました。

UnityのIKだとこんな感じで定義しますが、FinalIKでもできるのかな?

private void OnAnimatorIK(int layerIndex)
{
    animator.SetIKPositionWeight(AvatarIKGoal.LeftHand, 1);
    animator.SetIKRotationWeight(AvatarIKGoal.LeftHand, 1);
    animator.SetIKPosition(AvatarIKGoal.LeftHand, main.isRightHold.transform.position);
    animator.SetIKRotation(AvatarIKGoal.LeftHand, main.isRightHold.transform.rotation);
}

今の所実現したVRの要素技術は、

  • 鏡にはOculusTouchモデルが非表示
  • 自分およびNPCの髪の毛や服のSpringBoneに触れられる
  • 指を曲げられる
  • 表情を変えられる
  • 物を拾える
  • 拾った物を投げられる
  • 掴んだバットで物を動かせる
  • バットでボールを打てる
  • NPCの左手をつかめる