horagewo
(horagewo)
August 5, 2022, 4:55pm
1
プレイキャラ、壁、カメラ…があったとして。
カメラが壁に近づいたり、キャラと壁に挟まれるようになると、壁メッシュを半分…視点が通り抜けてしまうので、見せたくないものも見えてしまいます。
画像
①カメラの当たり判定 大きくしたら解決するかな・・・?と思ったのですが、 カメラやBoom(アーム)のコリジョン設定に それらしいのが見つけられない
②カメラがプレイキャラのコリジョン無視すれば。あるいは。その逆、キャラがカメラを無視してくれた…と思ったのですが、やり方が分からない。(プロジェクト設定>コリジョン>プロファイル設定…などからアプローチしも変化が見られない)
助言お願いします!!
SpringArmComponent(CameraBoom)のProbeSizeを変更すればCollisionに反応する距離を広げることができます
ただし、これはCameraが貫通しないことを保証する機能ではありません
あくまでもSpringArmの長さを調整するための機能です
SpringArmのCollision判定はデフォルトでは Camera
Channelを使用しています
CharacterのデフォルトのCollisionPreset(=Pawn)も、CameraChannelをBlockしています
このCameraChannelをBlockしないように設定するか、SpringArm側が別のCollisionChannelを用いて判定するようにすれば、Characterや地形に反応しなくなります
horagewo
(horagewo)
August 6, 2022, 9:14am
3
返答ありがとうございます。
アプローチとしては、最後の「SpringArm側が別のCollisionChannelを用いて判定する」というのをやりたかったのですが、一日中試行錯誤しても どこを見落としてるのか できませんでした…。
差し支えなければ、「自分ならこうする」…という具体的な設定例を指南頂けないでしょうか?
レベルBP、キャラクタBP(+カメラ+アーム)、コントローラーBP、プロジェクト設定…etc
頼り切りで申し訳ございません。
SpringArmComponentの Probe Channel
を変更してみてください
SpringArmは当たり判定をチェックする際、自身をここで指定されたCollisionObject/Channelとして扱います
例えばVisibilityに設定すれば、PawnはVisibilityをBlockしないため、キャラクターは無視されますが、地面(BlockAll)はVisibilityをBlockするため、地面を検知してSpringArmの長さが変わります
Character側のCollisionPresetで対処するのであれば、CameraをBlockしないカスタムプリセットを作成し、それを設定してください
プレイヤーはともかく、敵や群衆のCollisionはカスタムプリセットを使ってCameraをBlockしないようにしたほうが都合が良い場合があります
そもそもCollisionチェックしたくない、という場合であれば、 DoCollisionTest
をOFFにすれば、Collisionチェックは行われなくなります
1 Like