発生させるエフェクトの大きさを、スクリプトを使って変化させてみましょう。
Cubeが移動し、一定の座標まで来たときに、爆発エフェクトが発生。
右で爆発すれば半分の大きさ、左で爆発すれば1.5倍の大きさになります。
関連記事:
少しずれた位置にエフェクト発生
爆発のエフェクトを発生させる
マインクラフトのようにクリックで壊す
クリックした位置にパーティクル発生
パッケージをインポート
アセットストアから、エフェクトのパッケージを入れます。
今回は、Cartoon FX Free 無料パッケージを使用させていただきました。
インポートが終わると、JMO Assets > Cartoon FX の順に開きます。
爆発系のエフェクトはたくさんあるのですが、ここでは、CFX_Explosion_B_Smoke+Text を使用することにします。
条件によってエフェクトの大きさを変える
続いて、Cubeを作成しましょう。
CubeMove.csを作成し、Cubeに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { public GameObject explotion; void Update() { float dx = Input.GetAxis("Horizontal") * Time.deltaTime * 3; float dz = Input.GetAxis("Vertical") * Time.deltaTime * 3; transform.position = new Vector3 ( transform.position.x + dx, 0, transform.position.z + dz ); if(transform.position.x > 3) { GameObject prefab = Instantiate(explotion, transform.position,Quaternion.identity); prefab.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Destroy(gameObject); } if(transform.position.x < -3) { GameObject prefab = Instantiate(explotion, transform.position,Quaternion.identity); prefab.transform.localScale = new Vector3(1.5f, 1.5f, 1.5f); Destroy(gameObject); } } } |
Explotionのフィールドが出来るので、ここに CFX_Explosion_B_Smoke+Text を入れましょう。
ゲームプレイしましょう。
まずは右へ移動。
続いて、左へ移動します。
関連記事:
少しずれた位置にエフェクト発生
爆発のエフェクトを発生させる
マインクラフトのようにクリックで壊す
クリックした位置にパーティクル発生