繁体   English   中英

Unity 3D-使用刚体的第三人称角色移动

[英]Unity 3D - Third Person character movement using rigidbody

我是Unity的新手,试图制作自己的第一款游戏(《第三人称射击》)。 现在已经有一个多星期了,我一次又一次地尝试使用刚体部件而不是角色控制器或简单的transform.Translate来使角色移动。

自一周以来,我已经打开了大约30个网页,浏览有关该主题的信息,但是我什么也没找到(几乎让我觉得我正在尝试做一些不可能的事情……)。

因此,我想像在“分裂细胞黑名单”中那样移动角色,并用鼠标控制带有十字准线的摄像机(如果我拍摄,角色会在不面对目标的情况下旋转然后拍摄)。

对于运动,如果不能使用刚体,那么我将使用其中之一,只是我喜欢刚体所具有的真实感觉。

如果甚至有一个将其分解为真正理解的教程,那将是很棒的,或者只是一些带有注释的代码(我有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;
}

我的点子。 如果您想要真实的感觉,则需要在角色身体的适当部位为您的角色添加“ rigidbody.addforce 而不是rigidbody.position

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM