発射した弾が、ジグザグに動いていくように、スクリプトを作成してみましょう。
クリックでSphereを発射します。
発射されたオブジェクトは、横方向に往復運動をくり返しながら、前に移動していきます。

関連記事:
キャラクターをジグザグに動かす
地面から出たり引っ込んだりする
クリックのたびに左右移動を切り替える
飛ばしたボールがジグザグに動く
Sphereを作成します。
BallMove.csを作成して、Sphereに追加します。

BallMove.csを記述します。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallMove : MonoBehaviour {     private int ziguzagu;     private float moveX = 0.1f;     private float moveZ = 0.1f;     void Update()     {         transform.Translate(new Vector3(moveX, 0, moveZ));         ziguzagu++;         if (ziguzagu == 10)         {             ziguzagu = 0;             moveX *= -1;         }     } }  | 
					
Sphereをプロジェクトビューにドラッグ&ドロップして、Prefab化します。

Sphereの元データは削除します。

続いて、空のオブジェクトを作成します。
BallShot.csを作成し、GameObject(空のオブジェクト)に追加します。

BallShot.csを記述します。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  | 
						using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallShot : MonoBehaviour {     public GameObject prefab;     private Vector3 mousePosition;     void Update()     {         if (Input.GetMouseButtonDown(0))         {             mousePosition = Input.mousePosition;             mousePosition.z = 10.0f;             Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition),Quaternion.identity);         }     } }  | 
					
プレハブのフィールドに、Sphereを入れます。

ゲームプレイして、画面をクリックしましょう。
発射されたボールがジグザグに動きます。
