Ejemplo n.º 1
0
 private void OnEnable()
 {
     liftSlope       = serializedObject.FindProperty("liftSlope");
     skinFriction    = serializedObject.FindProperty("skinFriction");
     zeroLiftAoA     = serializedObject.FindProperty("zeroLiftAoA");
     stallAngleHigh  = serializedObject.FindProperty("stallAngleHigh");
     stallAngleLow   = serializedObject.FindProperty("stallAngleLow");
     chord           = serializedObject.FindProperty("chord");
     flapFraction    = serializedObject.FindProperty("flapFraction");
     span            = serializedObject.FindProperty("span");
     autoAspectRatio = serializedObject.FindProperty("autoAspectRatio");
     aspectRatio     = serializedObject.FindProperty("aspectRatio");
     config          = target as AeroSurfaceConfig;
 }
Ejemplo n.º 2
0
    private static void DrawSurface(Transform transform, AeroSurfaceConfig config, float flapAngle, bool isAtStall = false)
    {
        AircraftPhysicsDisplaySettings settings = AircraftPhysicsDisplaySettings.Instance;
        float mainChord = config.chord * (1 - config.flapFraction);
        float flapChord = config.chord * config.flapFraction;

        DrawRectangle(transform.position + transform.right * (0.25f * config.chord - 0.5f * mainChord),
                      transform.rotation,
                      config.span,
                      mainChord,
                      isAtStall ? settings.wingAtStallColor : settings.wingColor);

        if (config.flapFraction > 0)
        {
            DrawRectangle(transform.position
                          + transform.right * (0.25f * config.chord - mainChord - 0.02f - 0.5f * flapChord * Mathf.Cos(flapAngle))
                          - transform.up * 0.5f * Mathf.Sin(flapAngle) * flapChord,
                          transform.rotation * Quaternion.AngleAxis(flapAngle * Mathf.Rad2Deg, Vector3.forward),
                          config.span,
                          flapChord,
                          isAtStall ? settings.flapAtStallColor : settings.flapColor);
        }
    }