ALSV4 カメラがオブジェクトをすり抜けてしまう問題の修正
最近ALSV4(AdvancedLocomotionSystemV4)を触ることが多いので
学んだことなどを紹介していきます。
今回は
カメラがオブジェクトをすり抜けてしまう問題を解決する方法を紹介します。
~目次~
カメラのすり抜け問題とは??
ALSV4をそれなりに触ったことある人なら
遭遇したことのある問題かもしれません。
このように、意図せずしてカメラがオブジェクトをすり抜けてしまいます。
これを解消するにはどうすればいいのか??
なぜすり抜ける??
「ALS_PlayerCameraManager」を開きます。
この「ALS_PlayerCameraManager」で
カメラのコリジョン判定が行われているようです。
「ALS_PlayerCameraManager」を開くと
以下のイベントグラフが表示されると思います。
このイベントグラフの中に
以下の赤枠で囲んである部分が、カメラのコリジョン判定の処理です。
Sphereトレースを使って、カメラのコリジョン判定を行っています。
このトレースのHitResultの
「InitialOverlap」がTrueになってると、カメラがオブジェクトをすり抜けるようになってます。
InitialOverlapがTrueになってる状態というのは
以下のような状態です。
「Tキー」で、カメラのトレースを可視化できます。
逆に、InitialOverlapがFalseの状態というのは
以下のような感じです。
違いが分かりましたかね??(語彙力が無いのでうまく説明出来てないかもサーセン)
つまり
カメラのトレースの
InitialOverlapをTrueにさせなければ
意図せずカメラがすり抜けるのを
防ぐことが出来る。
という事です。^^
カメラのすり抜け問題の解決方法
SkeletalMeshの編集
「ALS_Mannequin_Skeleton」を開きます。
スケルトンツリー内に
「TP_CameraTrace_L」
「TP_CameraTrace_R」
というソケットがあります。
これは、カメラのトレースの始点位置です。
「TP_CameraTrace_L」は、カメラがキャラの左斜め後ろにあるとき
トレースはこのソケットの位置から飛ばされます。
「TP_CameraTrace_R」は、カメラがキャラの右斜め後ろにあるとき
トレースはこのソケットの位置から飛ばされます。
この
「TP_CameraTrace_L」
「TP_CameraTrace_R」
の位置を、XYZ全て「0」にしましょう。
すると、ソケットの位置が
キャラの頭の位置に戻るはずです。
トレースRadiusの調整
「ALS_AnimMan_CharacterBP」を開きます。
「BPI_Get_3P_TraceParams」関数を開きます。
この関数で、トレースの設定をしています。
TraceRadiusを「5」にしましょう。
これで、完了です!
実際にプレイ!
カメラが意図せずして、オブジェクトをすり抜けることが無くなりました!
ALSV4をこれから使う人などのお役に立てれば幸いです!
それではまた!^^ノシ