Как добиться реалистичности c движения самолета в единстве - PullRequest
0 голосов
/ 17 февраля 2020

Мое текущее движение плоскости подходит для первой итерации, за исключением того, что я не могу понять, как сделать эффективное движение по крену. То, что мне нужно, это когда вы поднимаете стрелку вверх на банке, чтобы она наклонялась в том же направлении, что и ваш банк. Игнорируйте переменную Propeller, это то, для чего я работаю позже.

Вот мой код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class movement : MonoBehaviour
{
public GameObject plane;
public Rigidbody rb;
public float thrust = 100f;
public GameObject propeller;

void Update()
{

    if (Input.GetKey("left"))
    {
        plane.transform.Rotate(0, 0, 1, Space.World);
    }
    if (Input.GetKey("right"))
    {
        plane.transform.Rotate(0, 0, -1, Space.World);
    }
    if (Input.GetKey("space"))
    {
        rb.AddForce(transform.forward * thrust);
    }
    if (Input.GetKey(KeyCode.LeftControl))
    {
        rb.velocity = Vector3.zero;
        rb.angularVelocity = Vector3.zero;
    }
    if (Input.GetKey("down"))
    {
        plane.transform.Rotate(-1, 0, 0, Space.World);
    }
    if (Input.GetKey("up"))
    {
        plane.transform.Rotate(1, 0, 0, Space.World);
    }
}

}

1 Ответ

0 голосов
/ 18 февраля 2020

Я бы порекомендовал посмотреть эту ссылку https://docs.unity3d.com/ScriptReference/Rigidbody.AddTorque.html.

Это помогло мне узнать, как сделать шарик в проекте для школы.

Добавление крутящего момента создаст эквивалент линейного движения для круглого объекта.

Здесь пример

rb.AddTorque("the force in the x axis", the force in the y-axis, "the force int the z axis,"the force mode")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...