こちらのFreeのヘリコプターを利用して
https://www.assetstore.unity3d.com/en/#!/content/8128
ヘリコプターを飛ばしてみました。
ローターは分離されてるので、ローターを回します。
rb = GetComponent<Rigidbody>(); rotor = GameObject.Find("Rotor_Control"); ry=0f; void Update () { ry += 30f;//Time.deltaTime * speed; rotor.transform.rotation = Quaternion.Euler(270, ry, 0); }
肝心のヘリの操縦ですが
まず、離陸w
if (Input.GetKey (KeyCode.Space)) { rb.AddForce( transform.up * 20f ); }
矢印キーの上・後ろで、前進・後進
要はヘリを傾ける+落ちない程度に揚力
(揚力はヘリ機体に垂直にかけてるので、傾けると傾けたほうに進む)
float v = Input.GetAxis ("Vertical"); if( v>0.1 ) { rx = -20f; rb.AddForce( transform.up * 8f ); } else if( v<-0.1 ) { rx = 20f; rb.AddForce( transform.up * 8f ); } else { rx=0; }
旋回は、
transform.rotation = Quaternion.Euler( new Vector3(rx,ry2,0) ); float h = Input.GetAxis ("Horizontal"); if( h>0.1f ) { ry2+=1; } else if( h<-0.1f ) { ry2-=1; }
いくらなんでも単純すぎるかww