小编Boy*_*esz的帖子

Unity飞机物理

我想做一个简单的飞机控制器,看起来一点也不现实。我看了一些飞机物理学的视频。并统一编写一个简单的脚本,但是如果我开始,飞机无法移动,或者如果将阻力更改为零,飞机将无法升起。我试图使用真实数据并从Wiki(F22 Raptor)中获取数据。对于我的游戏对象,我给定了刚体组件的质量= 19670 kg。发动机推力= 2 * 116000.0f牛顿。

    private void calculateEnginePower()
    {
        EnginePower = engineThrust * ThrottleInput;
    }

    private void calculateForces()
    {
        angleOfAttack = Vector3.Angle(Vector3.forward, rb.velocity);
        angleOfAttack = Mathf.Clamp(angleOfAttack, 0, 90);

        coefficient = Mathf.Pow(1225.04f * rb.velocity.magnitude, 2) - 1; //M^2-2 where: M is mach.         

        if (coefficient > 0.0f)
            coefficientLift = (4 * angleOfAttack) / Mathf.Sqrt(coefficient);
        lift = 1.2754f * 0.5f * Mathf.Pow(rb.velocity.magnitude, 2) * coefficientLift * 78.04f; // densy1.2754 kg/m3, speed m/s , (F22)Wing area: 840 ft² (78.04 m²)

        coefficientDrag = …
Run Code Online (Sandbox Code Playgroud)

c# air math physics unity-game-engine

2
推荐指数
1
解决办法
3738
查看次数

标签 统计

air ×1

c# ×1

math ×1

physics ×1

unity-game-engine ×1