ブループリントで OnHit Event を使用する

OnHit Events を使って被破壊メッシュを破砕し、それを動かすために推進力を適用します。

Windows
MacOS
Linux

このページでは OnComponentHitEvent Hitイベント を使って被破壊メッシュにダメージを与えて破砕します。また、ヒット位置に推進力を適用し被破壊物をプッシュして、発射物によってヒットされるエフェクトをシミュレーションし、ヒット位置に力を適用します。

このチュートリアルでは スターター コンテンツ を有効にした状態で Blueprint First Person テンプレートを使用します。

  1. コンテンツ ブラウザ のプロジェクトで、「Content/Geometry/Meshes」 フォルダに進みます。

  2. 1M_Cube スタティックメッシュで 右クリック して、 Create Destructible Mesh を選択します。

    OnHit1.png

    このスタティックメッシュから被破壊メッシュを作成して、撃たれたときにそれを破砕し、粉々になるようにします。

  3. [Destructible Mesh] エディタ内で [Fracture Mesh] ボタンをクリックして、次に 保存 してウィンドウを閉じます。

    OnHit2.png

  4. 新規作成した Destructible Mesh アセットを 右クリック して、[Asset Actions][Create Blueprint Using This...] を選択します。

    OnHit3.png

    必ず、新規作成したこのブループリントの保存場所を選んで名前を付けるようにしてください。

  5. この新規ブループリントのブループリント エディタ内の Components ウィンドウで Destructible コンポーネントを選択します。

  6. [Details] パネルの Physics から [Simulate Physics] チェックボックスにチェックを入れます。

    OnHit4.png

    このブループリントでは、物理をシミュレーションします。

  7. Details パネルの下方の EventsOnComponentHit Event をクリックします。

    OnHit5.png

    これにより新規ノードが追加され、Event Graph が開きます。

    OnHit6.png

  8. Other Actor ピンを 左クリック して引き出して、Cast To FirstPersonProjectile ノードを探して追加します。

    OnHit7.png

    ここでは FirstPersonProjectile という別のブループリントに対して ブループリントでキャストする を行います。被破壊メッシュをヒットする場合、実際には FirstPersonProjectile ブループリントがヒットするようにします。その場合、スクリプトを追加して、このメッシュを破砕して粉々にすることができます。そうでなければ何も行いません。

  9. Hit ピンを引き出して、Break Hit Result ノードを追加します。

    OnHit8.png

    Break Hit Result ノードによってヒット結果とその情報に関してあらゆるタイプの情報にアクセスできます。

  10. Break Hit Result から、Hit Actor ピンを引き出して Apply Point Damage ノードを追加します。

  11. Apply Point Damage ノードで、Base Damage100 に設定し、Damage Type ClassDamage Type に設定します。

    OnHit9.png

    Apply Point Damage ノードを使って、生じるダメージの度合いを指定するだけでなく、ダメージを受ける位置を指定することができます。

  12. Apply Point Damage ノードで、以下のように残りのワイヤーを接続します。

    OnHit10.png

    ノードをすべて接続すると、上のようなグラフになります。

  13. コンパイル保存 してから、ブループリントを終了します

  14. コンテンツ ブラウザ からこのブループリントをレベルにドラッグします。

    OnHit11.png

  15. エディタで再生するには、Play を押して、キューブで発射物を発射するには 左マウス ボタンを使用します。

    エディタで再生すると、発射された発射物でキューブをヒットすると、キューブがダメージを受けて、粉々になり、ヒットされた位置に推進力を加え、その方向に飛ばします。適用される力は、FirstPersonProjectile ブループリント内で定義されます。これは、Event Hit ノードを使って発射物が実際に何かをヒットした場合に判断します。

  16. 「Content/FirstPersonBP/Blueprints」 フォルダ内で FirstPersonProjectile ブループリントを開きます。

    拡大表示するにはここをクリック

    このブループリントのスクリプトは、ヒットされる物体が物理をシミュレーションするかをチェックします (ここではキューブのブループリントで true にしました)。物理をシミュレーションする場合、ヒットする位置で推進力を適用します (その量は、黄色のボックス内で定義されます。ここでは 50 に減らしました)。この値を調整して、ヒットが発生したときに適用される推進力の大きさを増減させることができます。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信