三流作家の雑記帳

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

1日15分でマスターするUnityトレーニング:第25回(衝突箇所にパーティクル)

前回、物体が衝突した箇所にパーティクルを発生させることが出来ない、と書きましたが、解決しました。
例によってこれが正攻法なのかは分かりませんが、ご紹介したいと思います。

やり方ですが、弾と同じようにプレハブ化した後にインスタンスを使って制御します。
この辺りは第20回をご覧下さい。

下図のようにパーティクルをプレハブ化します。
図はスライムをクリックした状態で、ご覧の通り、衝突スクリプトは弾であるスライムに割り当ててあります。
Unity25-1.png

スクリプトは衝突スクリプト内に追加します。
この前はぶつかったらパーティクルを再生、という処理でしたが、そこをプレハブの出現に変更します。
内容は下記の通り。

------------------------------------------------------------------------------------------
void OnCollisionEnter(Collision collision){
   GameObject explosion = (GameObject)Resources.Load("Particle_explosion");
if(collision.gameObject.name == "Cube_001"){
  GameObject new_explosion = (GameObject)Instantiate(explosion, transform.position, transform.rotation);
  explosion.particleSystem.Play();
       }
}

------------------------------------------------------------------------------------------

今までの講座と全く同じテクニックです。
Instantiate(explosion, transform.position, transform.rotation)内のtransform.positionはその場所で発生させると言う意味です。
こうしておくと、何故か衝突箇所でパーティクルが発生しますが、理由は不明w
口を酸っぱくして言っておりますが、結果良ければ……でございますw

テストしてみます。
ぶつかった際に弾を消していないのでシュールな映像となっていますが、そこは気にしないで下さい。
unity_.gif

スライムがぶつかった位置に爆発が起こっていますね。
成功です!

しかし、こんな大砲の移動ではゲームとして微妙ですね。
大砲の角度とかに合わせて発射が出来ればいいのですが、私の手には負えない処理でして……。
現状、打開策は全くありません。

奥から手前に敵を移動させて、それを迎え撃つゲームなら作れそうですが、面白いかどうかは保障出来ませんw
まあ、いつかは完成させたいRPGの為の勉強ですので、少しずつ頑張ります。

次は発射されるスライムをランダムでスライムベスに、何て処理を実装してみましょう。
ランダム処理はゲーム制作に必須ですので、避けては通れませんからね。

それでは。
  1. 2014/07/26(土) 09:04:59|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<暑すぎる | ホーム | 祝、梅雨明け>>

コメント

コメントの投稿


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

トラックバック

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

小説試し読み

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

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

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

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

Blender講座

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

Unity講座

最新記事

広告







月別アーカイブ

カテゴリ

未分類 (0)
雑記 (183)
小説 (29)
時事 (57)
ゲーム (75)
Blender (92)
競馬 (74)
映画 (35)
車/バイク (299)
狩猟/射撃 (96)
Unity (72)

検索フォーム

リンク

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