Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 如何使真实的平面运动统一起来_Unity3d - Fatal编程技术网

Unity3d 如何使真实的平面运动统一起来

Unity3d 如何使真实的平面运动统一起来,unity3d,Unity3d,我当前的平面运动对于第一次迭代来说是可以的,除了我无法了解如何进行有效的滚动运动。我需要的是,当你在一个斜坡上使用向上箭头向上俯仰时,使它在你倾斜的角度的相同方向上俯仰。忽略螺旋桨变量,这是我以后要做的事情 这是我的密码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class movement : MonoBehaviour { public GameObject p

我当前的平面运动对于第一次迭代来说是可以的,除了我无法了解如何进行有效的滚动运动。我需要的是,当你在一个斜坡上使用向上箭头向上俯仰时,使它在你倾斜的角度的相同方向上俯仰。忽略螺旋桨变量,这是我以后要做的事情

这是我的密码

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);
    }
}

}我建议查看此链接

在学校的一个项目中,它帮助我学会了如何制作滚动球

添加扭矩将为圆形对象创建等效的线性运动

这里有一个例子


rb.AddTorque(“x轴上的力”、y轴上的力、“z轴上的力”、“力模式”)

它不起作用,因为我得到的只是错误,当我让它进入播放模式时,代码什么也没做