我是Unity的新手,试图制作我的第一个游戏(第三人称射击游戏)。 现在已经超过一个星期,我一次又一次地尝试使用刚体组件而不是字符控制器或简单的transform.Translate来让我的角色移动。
自从一周浏览有关它的主题以来,我已经打开了大约30个网页,但我没有找到任何东西(几乎让我觉得我正在尝试做一些不可能的事情......)。
所以,我想像Splinter Cell Blacklist中一样移动我的角色,并让相机用十字线控制鼠标(如果我拍摄,角色会旋转,如果没有面向目标然后拍摄)。 / p>
对于运动,如果不能使用刚体,那么我将使用其他人之一,只是因为我喜欢刚体所具有的真实感觉。
如果有一个教程分解为真正理解,那将是伟大的或只是一些带注释的代码(我有一个C#背景)。
float moveSpeed = 6f; // Player's speed when walking.
float rotationSpeed = 6f;
float jumpHeight = 10f; // How high Player jumps
Vector3 moveDirection;
Rigidbody rb;
// Using the Awake function to set the references
void Awake()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
Move();
}
void Move ()
{
float hAxis = Input.GetAxis("Horizontal");
float vAxis = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(hAxis, 0f, vAxis);
rb.position += movement * moveSpeed * Time.deltaTime;
}
答案 0 :(得分:1)
我的想法。
如果你想要真正的感受,你需要在角色身体的适当部分使用rigidbody.addforce
你的角色。不是rigidbody.position
。
希望帮助。