【UE4】VRで物体を切断する処理【メモ】
ぷちコンでも使用した処理。個人用の備忘録として残しておく。
VRじゃない環境でのスライスのチュートリアルが沢山あったので助かった。
先駆者に感謝。
1.斬れるオブジェクトを作成
ActorでBPを作成。
プロシージャルメッシュコンポーネントを追加し、スタティックメッシュをアタッチ。
プロシージャルメッシュ内、Use Complex as Simple Collisionのチェックは外しておく。
スタティックメッシュには斬りたいメッシュを割り当てる。
非表示にしたいのでHidden in Gameにチェックする。
イベントグラフを編集する。
プロシージャルメッシュにスタティックメッシュのコピーを作成するノードらしい。
2.ブレードを作成
BP_MotionControllerのHandMeshに「Plane」のスケルタルメッシュコンポーネントをアタッチする。
どうもPlaneじゃないとダメっぽい?
他の形状にしたい場合は、そのアセットにPlaneをアタッチしてPlaneをHidden in Gameをする。
コリジョンプリセットはOverlapAllに。
イベントからOnComponentBebinOverlapとOnComponentEndOverlapを追加する。
緑色のプラスマークをクリックすればOK。
3.イベントグラフの編集
先ほど追加したイベントに以下のようにノードを繋ぐ。
プロシージャルメッシュをキャストして、SliceProceduralMeshで切断面のマテリアルを設定していく。
画像では切ったメッシュを変数に入れているが、これは必須ではない。
物理を有効化し、放射状の衝撃を与える。
4.実行
斬れる!
オブジェクト自体に重力を持たせたい場合は、プロシージャルメッシュとスタティックメッシュのSimulatePhysicsをTrueに。