揚力をサイト通りに記述して取得しているのですがこの値をどうやってゲーム内に組み込めばいいのでしょうか?
揚力が一定の値にすれば一定の高度で飛ぶことができると説明ありますが少なくなった場合多くなった場合また1揚力にたいしてどのくらい上昇すればいいのか?
質問ですが適当に適当に数字を割るなりしてそれなりの数値を算出すればいいのでしょうか?それとも何かちゃんとした上昇の公式等があるのでしょうか?
参考サイト: http://www.cfijapan.com/study/html/to099/html-to035/017b-Lift_CL.htm
cs
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class PlayerController : MonoBehaviour 6{ 7 [SerializeField] float wingsArea; //翼の面積 8 [SerializeField] float airDensity; //空気密度 9 [SerializeField] float speed; //速度 10 [SerializeField] float cl; //揚力係数 11 12 13 Rigidbody rb; 14 15 float L; //揚力 16 Vector3 moveVec; //向き 17 18 19 20 // Start is called before the first frame update 21 void Start() 22 { 23 rb = GetComponent<Rigidbody>(); 24 moveVec = new Vector3(0,0,0); 25 L = 0; 26 27 } 28 29 // Update is called once per frame 30 void Update() 31 { 32 if(Input.GetKey(KeyCode.W)) 33 { 34 cl += 1; 35 } 36 else if (Input.GetKey(KeyCode.S)) 37 { 38 cl += -1; 39 } 40 41 /////////////////////////////////////////////////////////////////////////// 42 L = (airDensity / 2) * wingsArea * speed * speed * cl; //揚力計算 43 moveVec.y = L / 1000; 44 /////////////////////////////////////////////////////////////////////////// 45 Debug.Log(L); 46 47 moveVec.z = speed; 48 } 49 50 51 void FixedUpdate() 52 { 53 rb.AddForce(moveVec); 54 55 56 } 57 58} 59
解決したように見えないのに解決済みとしたのはなぜですか?
回答者の返答待ちですよね。
理解できてないなら解決したとは到底言えません。結局同じ質問繰り返してるだけでリソースの無駄遣いです。
回答1件
あなたの回答
tips
プレビュー