2.匯入FBX至Unity
3.製作旋轉齒輪
4.建立齒輪碰撞基體 方塊和圓餅
5.將齒輪的Mesh與方塊碰撞基體放入圓餅碰撞基體中
6.關閉圓餅碰撞基體
7.製作被動齒輪
8.將製作好的旋轉齒輪複製一個出來
9.建立空的GameObject
10.將所有旋轉齒輪的物件拉入GameObject
11.新增RigiBody並關閉use Gravity
12.將兩個齒輪擺在適當位置
13.旋轉齒輪加入AutoRotate.js
var gear:GameObject; var downSpeed:float; var rotateSpeed:float; var stop:boolean; var isRotate:boolean; var isR:boolean; var flag:boolean; var flagB:boolean; var start:int=0; function Start(){ x=-0.5f; this.name="Gear"+gobal.nomber.ToString(); gobal.nomber++; stop=false; flag=true; flagB=true; } function FixedUpdate () { if(flagB==true){ flag=transform.gameObject.GetComponent(SnycRotate).flag; flagB=flag; } if(flag==false){ isRotate=(transform.gameObject.GetComponent(SnycRotate).isRotate); isR=(transform.gameObject.GetComponent(SnycRotate).isR); flag=true; Debug.Log("Down flag="+flag); Debug.Log("Down isR="+isR); } //Debug.Log("isRotate="+isRotate); //Debug.Log("isR="+isR); if(stop==false){ downSpeed+=(0.5f*Time.deltaTime); if(downSpeed>=0.5f){ transform.rigidbody.position += Vector3(0,-10,0); downSpeed=0; } if(Input.GetKeyDown("left")) this.transform.rigidbody.position += Vector3(-10,0,0); if(Input.GetKeyDown("right")) this.transform.rigidbody.position += Vector3(10,0,0); if(Input.GetKeyDown("down")) this.transform.rigidbody.position += Vector3(0,-10,0); if(Input.GetKeyDown("space")){ start=1; stop=true; Instantiate(gear, Vector3(-32,100,-19),Quaternion.identity); } } if(isRotate==true){ rotateSpeed+=(0.25f*Time.deltaTime); if(rotateSpeed>=0.25f){ if(isR==true){ this.transform.Rotate(Vector3(0,0,-45*start)); rotateSpeed=0; }else{ this.transform.Rotate(Vector3(0,0,45*start)); rotateSpeed=0; } } } }
0 ♥:
張貼留言