问题描述
首先。我几乎是一个空白的初学者,正在尝试统一制作一个小游戏。
这是一根棍棒,可以同时抬起addforced
并旋转。
现在的问题是,当我添加transform.up
力时,它绑定到对象z旋转,而不是全局
有什么办法解决吗?
using UnityEngine;
public class LaunchCAR : MonoBehavIoUr
{
public Rigidbody2D rb2D;
public float thrust = 10.0f;
public float torque = 1f;
private void Start()
{
transform.position = new Vector3(0.0f,-2.0f,0.0f);
}
void FixedUpdate()
{
if (Input.GetMouseButtonDown(0))
{
rb2D.AddRelativeForce(-(transform.up) * thrust,ForceMode2D.Impulse);
// float turn = Input.GetAxis("Horizontal");
rb2D.AddTorque(torque,ForceMode2D.Impulse);
}
}
}
解决方法
AddRelativeForce
需要对象空间(局部)坐标,但是您传递的是世界空间坐标中的transform.up
。
请改用Vector3.up
或AddForce
。