簡體   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