Unity C# 生成 Instantiate
(一) 生成物件在某物件的位置
- 此篇重點語法 * * * * *
→ Instantiate實例化(要生成的物件, 物件位置, 物件旋轉值);
e.g. Instantiate(gameObject, transform.position, transform.rotation);
★ 補充 :
自訂 Position : new Vector3(3,0,0)
自訂 Rotation : new Quaternion(0,90,0,0)
e.g. Instantiate (gameObject, new Vector3(3,0,0), new Quaternion(0,90,0,0));
★ 提醒 !!!
若物件有調整過旋轉值Rotation,記得要用一個GameObject來當做父物件,此父物件旋轉值都為 0度。
若沒有這樣做 -> 生成出來的物件方向會跟您想要的不同哦~
- 此篇效果 – 生成物件在某物件位置 * * * *
- 大概了解重點後,接下來進入完整教學 -
需求 :
遊戲一開始時,生成 Box 物件在 Instantiate_Position 物件的位置。
做法 :
一、場上有一個 Box 物件,以及 Instantiate_Position 生成點物件。
二、 新增一個程式碼,在此命名為 Instantiate_Obj,並將程式碼拖曳到 Instantiate_Position 生成點物件上。
三、寫程式囉! 不過我們先看看完整程式碼 ( 下一點有程式碼解析 ! )
檔案名稱與 public class的名稱 記得要一樣哦!!! (不然會出現錯誤!)
public class Instantiate_Obj : MonoBehaviour {
public GameObject Instantiate_Position;
public GameObject Box;
void Start () {
Instantiate(Box, Instantiate_Position.transform.position,
Instantiate_Position.transform.rotation);
}
}
四、程式碼解析
public class Instantiate_Obj : MonoBehaviour {
public GameObject Instantiate_Position; //物件的生成點。
public GameObject Box; //要生成的物件。
//public 公開 –
在宣告前面加上public,程式碼底下會出現欄位,可以從外部放入指定的物件(要與宣告類型相同哦!)。
void Start () //一開始就執行生成物件。
{
Instantiate(Box, Instantiate_Position.transform.position,
Instantiate_Position.transform.rotation);
//生成(Box, 物件的位置:生成點的位置, 物件的旋轉值:生成點的旋轉值);
//Instantiate實例化(要生成的物件, 物件位置, 物件旋轉值);
}
}
五、 將剛剛宣告 的 public GameObject Instantiate_Position 與 public GameObject Box 產生的欄位,放入指定物件。
六、完成啦 !!!!!
遊戲一開始時,生成 Box 物件在 Instantiate_Position 物件的位置。
- 複習重點語法 * * * * *
→ Instantiate實例化(要生成的物件, 物件位置, 物件旋轉值);
e.g. Instantiate(gameObject, transform.position, transform.rotation);
★ 補充 :
自訂 Position : new Vector3(3,0,0)
自訂 Rotation : new Quaternion(0,90,0,0)
e.g. Instantiate (gameObject, new Vector3(3,0,0), new Quaternion(0,90,0,0));
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家!
- By Cindy -
留言列表