TNTの爆発と TNT リスポナー
Last updated
Last updated
このチュートリアルでは衝撃を受けると爆発したり、使った後にリスポーンするポータブルTNT の作り方をご紹介します。
まずはじめにTNT を作成します。
「L」キーを押してライブラリを開き、TNTのアセットをドラッグして設置します。TNT がライブラリ内に表示されない場合はMarketplace(マーケットプレイス)のボタンをクリックして検索後、追加します。
Name(名前)の欄に識別しやすい(作用や効果など具体的な名前)TNTの名前を入力します。ここではTNT - Box Destroyer を使用します。
Physics(物理的設定)にはCollisions + Gravity(コリジョン+重力)を選択しTNTが転がされたり床に落ちたりするように設定します。
このアセットにはビヘイビアは必要ありません。
Health のコンポーネントを追加します。
破壊しやすいようにHealth の値は低く設定します。
Death Delay(リスポーンまでの時間)は2 に設定します。これはTNTが何かにぶつかってから爆発するまでの時間を指します。
Instant death message(死亡時メッセージ)をxxxx と設定します。もしくはデフォルトで設定されているもの以外のものに設定します。
攻撃対象としてわかりやすくするためにLife Bar Display(ライフバー表示)はAlways(常に)を選択します。
Drop のコンポーネントを追加します。
倒された時に何かを落とす設定をしたいのでDrop condition(ドロップ条件)はDeath(死亡)を選択します。
Drop Amount(ドロップ数) は1 を設定します。
Type of drop(ドロップタイプ)はPreset(プリセット)を選択します。 Preset の欄には次に作成する破壊する空間を設定するプリセットを入力します。
Indicator のコンポーネントを追加します。
Display Name(表示名)はゲーム内でプレイヤーにわかりやすい名前を設定します。ここではTNT を使用します。
Visibility Distance(目視距離)は短く設定します。ここでは9ブロック分の距離を設定しました。
Pickable のコンポーネントを追加します。これでプレイヤーは「E」キーを押してTNTを拾うことができます。
衝撃を受けたりxxxx のメッセージを受け取ると爆発してプリセットをドロップするTNT の作成方法をご紹介しました。
これでプレイヤーの注意を引く表示のある、拾ったり押したりすることができるTNTの完成です。 それでは次にTNTが破壊する空間を作成します。
シンプルで小さなアセットを使用します。ここではNumPad Switch を使用します。
空間のアセットを不可視の状態になる設定にして、さらにNo collisions(コリジョンなし)に設定します。
後で他のアセットと親子化する必要があるため後で検索しやすいような名前をName(名前)の欄で設定します。ここではTNT – Void を使用します。
まずはVoid のビヘイビアを追加し、Visible(可視化)の設定はFalse を選択します。
Destroy Area(破壊エリア)は希望の爆発の大きさに合わせてサイズを入力します。大きければ大きいほどラグが生じることになります。
Activation Mode(起動モード)はOnStart(スタート時)を選択します。
Blocks Destruction(ブロック破壊)はDontDestroy(破壊しない)を選択します。
Asset Destruction(アセットの破壊)はOnlyDestroyFromList(リストからのみ) を選択し、TNTが爆破するアセットを追加します。ここではStorage Container のみを爆破したいため、Storage Container と入力します。
Health のコンポーネントを追加します。
Death Event(死亡理由)はDestroy(破壊)を選択します。
Death Delay(リスポーンまでの時間)は-1 を入力します。
Instant death message(死亡時メッセージ)はtntkillx を選択します。
Life Bar Display(ライフバー表示)はHidden(隠す)を選択します。
これでスポーンした時に赤線で囲まれた範囲内にあるすべてのStorage Container が即座に爆発する空間の作成が完了です。背景に赤い線の空間が残り続けるとゲームの邪魔になるため、爆発と同時にその空間も消失させたいためHealth のComponent を追加します。 その次にこの時間差を解消する設定を行います。
空間がStorage Container を爆破する目的で設置されているため、これを使って爆破が終わったら空間も消失するように設定します。
Storage Container を画面に表示させます。
空間のアセットを不可視の状態に設定にして、さらにNo collisions(コリジョンなし)に設定します。
後で他のアセットと親子化する必要があるため後で検索しやすいようにName(名前)の欄で名前を設定します。ここではTNT – VoidKill を使います。
Health のコンポーネントを追加します。
Death Event(死亡理由)はDestroy(破壊)を選択します。
Death Delay(リスポーンまでの時間)は1を選択します。
Life Bar Display(ライフバー表示)はHidden(隠す)を選択します。
Message sent on death(死亡時に送信されるメッセージ)はtntkillx を選択します。
Send To Tags(タグに送信)はVoid(空間)を設定します。
画面左下のHierarchy(ヒエラルキー)のボタンをクリックします
検索にTNT と入力してTNTと名前が付いたすべてのアセットが表示されます。
TNT – Void と書かれたアセットをリストから探し、そのアセットの右側にある3つのアイコンの一番左側にある的のアイコンをクリックし、TNT – VoidKill の名前のある場所までドラッグし親子化します。詳細はイメージ画像を参照してください。
これで2つのアイテムが1つにまとめられました。Storage Container を移動させるとNumPad Switch (空間)も移動するようになります。次はTNT – VoidKill と名前を付けたStorage Container をプリセットに設定します。
TNT – VoidKill と名前を付けたStorage Container を選択します。
画面左側のPreset(プリセット)のボタンをクリックします。
<Create New Preset>(新しいプリセットの作成)をクリックし設定します。
これで空間がプリセットとして設定されたのでTNT に戻り、Drop のコンポーネントにTNT - VoidKill のプリセットを設定します。
これでStorage Container を爆破し、さらにゲーム内での時差を解消するTNTの作成が完了しました。最後にリスポナーの設定を行います。
作成したTNTを選択し、TNT - Box Destroyer と名前を付け、プリセットを作成します。上記で解説した方法で設定します。
NumPad Switch を追加してAsset Spawner のビヘイビアを追加します。
不可視の状態にする設定とNo Collision(コリジョンなし)を設定します。
Use Preset(プリセットを使う)の設定はTrue を選択し、Preset にはTNT - Box Destroyer を入力します。
Message Required(必要なメッセージ)はtntkillx を選択します。
Tags にはVoid のタグがあることを確認します。
これでTNTが爆発すると目に見えない設定のVoid とVoidKill がスポーンします。VoidKill がなくなるとVoid を消滅させるようにメッセージが送られ、Asset Spawner には新しいTNTをスポーンするようにメッセージが送られる設定が完了です。