- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近一直在研究 Source 引擎。更具体地说,他们有扫射/跳兔式的 Action 。
这是源引擎的实际移动代码。我的问题指向第 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.com在 float 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/
我最近一直在研究 Source 引擎。更具体地说,他们有扫射/跳兔式的 Action 。 https://github.com/ValveSoftware/source-sdk-2013/blob/5
我是一名优秀的程序员,十分优秀!