Unityで音を鳴らす基本――効果音を再生するスクリプト、音楽のループ再生ゲーム開発初心者のためのUnity入門(10)(2/4 ページ)

» 2017年01月23日 05時00分 公開
[薬師寺国安PROJECT KySS]

爆発用Cubeを作りスクリプトを設定する

 次に、爆発させるCubeを作っていこう。Cubeの作り方は、連載第2回の「Unityで3Dモデルや色、テクスチャのマテリアルを作成、変更、保存する基本&空の背景の作り方」で解説したので説明は省略する。

 この後、まず1個作ったCubeを「Duplicate」で複製を何個も作っていくので、最初の1個に関して必要な設定を全て済ませておく。このCube1もHierarchy内のGameObjectの子要素として配置する。

 最初の1個はInspectorで「名前」を「Cube1」としておく。「Cube1」を選択し、「Add Component」から「Detonator」→「Detonator」を選択する。

 Cube1に「Detonator(Script)」の項目が追加される(図5)。

図5 「Detonator(Script)」の項目が追加された

 図5の(A)の項目を見ると既に内容が設定されている。

 頭に「Fireball」と付いている項目は爆発したときの火の球を指し、頭に「Smoke」と付いているのは、爆発時の煙のことだ。「Shockwave」は衝撃波、「Sparks」は火花、「Glow」は光、「Heatwave」は熱波を表すが、指定の有無はどちらでも問題ない。

 また、「Upwards Bias」の値を「0」から「10」にしておく。この値が「0」だと爆発した時上方向に飛ばないので「10」を指定して上に飛ぶようにした。また、図6の「Detonator(Script)」にある、「Explode On Start」のチェックは外しておく。チェックが入っていると、プレーと同時に爆発が始まる。

図6 最終的な「Detonator(Script)」の設定

クリックして爆発するスクリプトの設定

 図6の「Detonator(Script)」の「Script」をクリックして、C#の「Detonator.cs」ファイルを編集する。どこでもいいので、リスト1のコードだけ追加しておく。必ず「Build」は実行しておこう。マウスをクリックしたときに爆発を起こす処理だ。

void OnMouseDown(){
    this.gameObject.GetComponent<Detonator>().Explode();
}
リスト1 「Detonator.cs」に追加するコード

 次に、同じくCube1にAdd Componentから「Detonator」→「Fireball」を追加する。既に、全ての設定がなされているので、どこも設定する必要はない(図7)

図7 「Fireball(Script)」を追加した

 同様にして、今度は、「Detonator Force(Script)」を追加する(図8)。「Duration」に「3」と指定する。「Power」の値の値は「4000」とデフォルトでなっているが、この値が小さいと爆発が弱くなる。

図8  「Detonator Force(Script)」を追加した

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。