#はじめに
UnrealEngine の VRテンプレートの MotionControllerMap をベースにしてVR内の視線の方向やコントローラーの向きを取得してキャラクターを動かす方法のまとめです
やりたかったのはこれです
— reisyu (@reisyu1) February 29, 2020
常に視界に割り込んでくる!かまってちゃんな金鯱😊 pic.twitter.com/ozIunhugIl
キャラクターを動かす方法は「Unreal Engine 4 アクションゲーム ブループリント入門 第6章 敵キャラクターを作る」で学んだ方法です
視線の方向を取得する方法は TARK(@LideTark)さんにアドバイスをいただき完成しました。ありがとうございます!
#環境
UnrealEngine 4.24.3 VRテンプレートのMotionControllerMapを使用
Oculus Quest 13.0.0.298.463.195755071
#作成方法
##キャラクターを作る
Character クラスの BPアクターを新規作成
作成したBPを開いて Mesh を選択しキャラクターの外観を設定します
CapsuleComponent
の Capsule Half Height
や Mesh
の Location Z
を調整して位置・大きさを合わせます
##カメラをの位置を取得する
Get Player Pawn
> Cast to MotionContorollerPawn
とつなぎ As MotionontorollerPawn
ピンから引き出してGet Camera
を選択
##カメラをの向きを取得する
取得した Camera から Get World Transform
> Break Transform
> Get Forward Vector
で視線の向きを取得できます
##視線の向いている方向にキャラクターを移動する
下記のとおりです
詳しくは「Unreal Engine 4 アクションゲーム ブループリント入門 第6章 敵キャラクターを作る」をご確認ください!
##視線ではなくハンドコントローラーの向きを取得する方法
Cast to MotionContorollerPawn
の As MotionontorollerPawn
ピンから引き出してGet Left Controller
を選択
Left Controller
ピンから引き出してGet Hand Mesh
を選択
Camera
の代わりにHand Mesh
をGet World Transform
につなげる
今度は手の向きにあわせてうごく素直な金鯱!#Blender #UE4 #OculusQuest pic.twitter.com/Z9rRYCntsM
— reisyu (@reisyu1) February 29, 2020
#まとめ
VR内で自分の動きに反応してキャラクターが動いてくれるのがカワイイ
今後は移動するだけじゃなくてさらに色々なアクションを付け加えていきたいです!