宣告遊戲物件
- public GameObject phoneObj;
- 宣告後在Inspector界面將實體物件與程式物件做連結。
利用已存在的遊戲物件做遊戲物件的複製
- GameObject phoneCube_2 = (GameObject)Instantiate(原遊戲物件,要出現位置,Quaternion.identity);
- Quaternion.identity:代表無旋轉,跟著父物件的角度
位置宣告指定方法
- private Vector3 = phoneCube_2_pos = new Vector3(float x,float y float z);
利用鍵盤輸入準備移動物件
- Input.GetKeyDown(KeyCode.space)-->press space true/false
參考
移動物件-Object.transform.Translates() (移動變化量)
- transform.Translate(Vector3.up * Time.deltaTime, Space.World);
- transform.Translate(0, 0, Time.deltaTime,Space.World);
- translate(Vector3.right * Time.deltaTime, Camera.main.transform);
- transform.Translate(Time.deltaTime, 0, 0, Camera.main.transform);
參考
旋轉物件
移動物件
縮放物件
遊戲物件上貼圖
一、建立材質球
- create->material
- Inspector->Shader->Unlit->Transparent
二、材質球上貼圖
- 弄一張帶有alpha的圖,PhotoShop轉存png。
- 材質球->Texture Select->選擇png圖。
三、遊戲物件上貼上材質球
- 遊戲物件上->Mesh Renderer->Element 0
結果
Reference
- 先在Arduino端設置四顆按鈕,並在按下後傳送1、2、3、4,分別控制物體的上下左右
- Serial.write(3);
- Serial.flush();
- delay(20);
- file->Build and Setting->Player Setting->API Compatibility Level->.NET 2.0
- Assets->create->c#
- using System.IO.Ports
- SerialPort sp = new SerialPort("COM7",9600);
- 在Start function 中 開啟sp->sp.Open()、sp.ReadTimeout = 1
- 在updata function 中 先確認sp是否正確->sp.IsOpen(true/false)-->try and catch
- 改變object的位置->transform.Translate(Vector3.left*speed,Space.World)
- 利用Vector3的left、reght、forward、back、up、down來改變三軸在空間中的位置
- 在想撞人的物體上加上剛體:component->Physics->Rigidbody
- 撞人和被撞至少有一個開啟Is Trigger才撞得進去:Sphere Collider->Is Trigger
- 當撞到且撞得進去時呼叫:void OnTriggerEnter(Collider other) (有勾Is Trigger)
- 當撞到但撞不進去時呼叫:void OnCollisionEnter(Collision collisionInfo) (都沒勾Is Trigger)