三流作家の雑記帳

三流作家、葉山洋三が日々感じたことを記すブログ

1日15分でマスターするUnityトレーニング:第24回(衝突判定を行う)

さて、今回は衝突判定を実装方法をご紹介します。

衝突判定とは何ぞや、という方も居られると思いますので、軽く説明を。
例えば、スーパーマリオだと、クリボーを踏んだらやっつけることが可能ですね。
この時、マリオとクリボーが触れた瞬間に、衝突判定が行われています。
恐らくですが、横からぶつかったらマリオがやられて、上からだとクリボーがやられるという処理になっているかと。

Unityでもこのような実装が可能なのですが、スクリプトでの制御となってしまいますので、少々敷居が高いです。
が、いつも何かエラーが出て悪戦苦闘する私でも簡単に実装出来ましたので、ご安心下さい。

衝突させた後にどんな処理を発生させるかは、皆さんのゲーム次第になりますが、今回の例ではパーティクルを発生させるということで進めさせて頂きます。
まずはパーティクルを作成します。
Unity24-1.png

スクリプトを作成します。名前はこれでなくてもOKです。
作成したら、インスタンスの弾へドラッグ&ドロップします。
Unity24-2.png

先程作成したスクリプトに処理を記述します。
追加はこれだけです。
ただし、追加する場所はupdate内ではなく、その外にして下さい。

-------------------------------------------------
void OnCollisionEnter(Collision collision){
if(collision.gameObject.name == "Cube_001"){
GameObject explosion = GameObject.Find ("particle_explosion");
explosion.particleSystem.Play();
}
}

-------------------------------------------------
簡単ですが、解説をします。
衝突判定はvoid OnCollisionEnter(Collision collision)という記述内で行います。
ちなみに、試してはいませんが、下記のような処理判定が出来るようです。

OnCollisionEnter……物体同士が接触した時
OnCollisionExit……物体同士が離れた時
OnCollisionStay……物体同士が接触中

今回は接触した時なのでEnterを使いました。

処理の判定はif文で行っています。
if(collision.gameObject.name == "Cube_001"){}
これはCube001という名前のオブジェクトに触れたら、{}内の処理をするという意味になります。
他にもタグ名で指定したり出来るみたいですが、まずは決め打ちで。
また使う必要が出てきたら紹介したいと思います。

{}内の処理は前回と同じ、パーティクルを発生させるものです。

ではテストしてみましょう。
スライムがビルに触れた瞬間、パーティクルが発生しました!
Unity24-3.gif

どうですか。
思ったより、簡単でしたよね。

ただ、スクリプトが別になってしまったのが、無念。
1つのスクリプトで制御した方がいいと本職の人が言っていたので、余りよろしくない形かもしれません。
例によって結果が良ければ全て良し、で進めたいと思いますがw

ただ、これ、スクリプト発生箇所が決め打ちなのですよね。
スライムの着弾場所で発生させるようにしたかったのですが、スライムはインスタンスで発生させているので、座標とかをスクリプトで指定する必要があります。
少し触っただけですが、エラーで駄目だったので、またもや研究が必要のようです……。

弾がスライムである必然性は皆無になってしまっていますが、これで頭に描いているゲームの基本形は作れそうです。
次回は何をするか決めていませんが、また使えるテクニックがあればご紹介したいと思います。

それでは。
  1. 2014/07/05(土) 10:16:42|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<Ninja250、一ヶ月点検終了! | ホーム | ラーメンツーリング>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://8ayama.blog.fc2.com/tb.php/503-e56b15c9
この記事にトラックバックする(FC2ブログユーザー)

小説試し読み

販売している小説の冒頭部分です。PDFが開きます。

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

ご購入はこちらからどうぞ

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

Blender講座

選択すると、その記事へジャンプ出来ます。

Unity講座

最新記事

広告







月別アーカイブ

カテゴリ

未分類 (0)
雑記 (179)
小説 (29)
時事 (57)
ゲーム (74)
Blender (92)
競馬 (74)
映画 (34)
車/バイク (294)
狩猟/射撃 (94)
Unity (72)

検索フォーム

リンク

このブログをリンクに追加する