gpt4 book ai didi

c# - 有人能告诉我 AddForce 和 transform.translate 之间的区别吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:51:11 24 4
gpt4 key购买 nike

我正在尝试 move 游戏对象,但我发现这两个最常用的函数可以 move 对象。我知道这两者之间的区别是使用 AddForce 需要一个刚体,但在 Transform.translate 中不需要刚体。我只是想确保我在游戏中使用了正确的功能。这两个功能的功能有什么区别吗?我正在一个无限大的平面上 move 一个立方体,途中有障碍物。我认为当然需要刚体,但我想知道 Transform.translate 有什么用?

最佳答案

转换.翻译:

使用这种方法,您基本上可以远程传输 GameObject,无需考虑 物理学也不是对撞机。如果您附加了 RigidBody,这个会非常昂贵。

加力:

通过这个,您可以为游戏对象的刚体添加力,因此所有 move 将考虑物理和碰撞器。

如果您需要 move 刚体(如玩家),我建议使用 MovePosition .它比 AddForce 更精确,并使用物理马达。

编辑:

例子:

public float movementSpeed= 5f; //for instance

void FixedUpdate()
{

Vector3 direction = new Vector3(Input.GetAxisRaw("Horizontal"), 0 , Input.GetAxisRaw("Vertical"));
rigidbody.MovePosition(transform.position + direction * movementSpeed * Time.fixedDeltaTime);
}

调整 movementSpeed 以更快或更慢。

没有测试代码,但它应该可以工作。

关于c# - 有人能告诉我 AddForce 和 transform.translate 之间的区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com