gpt4 book ai didi

c++ - 源引擎-移动代码 : What is "wishspeed"?

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:51 26 4
gpt4 key购买 nike

我最近一直在研究 Source 引擎。更具体地说,他们有扫射/跳兔式的 Action 。

https://github.com/ValveSoftware/source-sdk-2013/blob/56accfdb9c4abd32ae1dc26b2e4cc87898cf4dc1/sp/src/game/shared/gamemovement.cpp#L1779

这是源引擎的实际移动代码。我的问题指向第 1779 行和第 1784 行。这里,wishspeed 的值是 wishdir 的 大小。虽然当 vector (wishdir) 是归一化 vector 时,幅度不会也被归一化吗? (所以它的数量级为 1)

据我了解,这就是标准化后发生的情况。如果这是真的,为什么第 1784 行有一个带有 if (wishspeed != 0 && **(wishspeed > mv->m_flMaxSpeed)**) 的 if 语句,如果 wishspeed 是 1?进一步查看代码,有更多暗示 wishspeed 不是 0 或 1,而是更高的值。

有人可以向我解释这是怎么可能的吗?wishspeed 应该归一化,怎么会超过 1?

谢谢!

最佳答案

来自 developer.valvesoftware.comfloat VectorNormalize(vec) 上:

Divides the vector by its length, normalising it. Modifies the Vector and returns the old length.

wishspeed 采用 wishdir 标准化前的长度。

关于c++ - 源引擎-移动代码 : What is "wishspeed"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42448925/

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