Unity的C#中Vector3.Normalize()和Vector3.normalized的区别
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/222
.normalized其实是归一化,
当玩家同时按下W和D的时候,玩家是斜着走的,
如果向前和向右的移动速度都1m/s,那么斜着走就是1.414m/s,
结论:斜着走比正常走路快。
这显然是不符合常理的。
为了解决这个问题,出现了.normalized,
即我们不关注其大小只关心其方向,
.normalized会返回单位为1的只读向量。(注意是返回值,而不是改变)
如果你想改变的话,则需要用Normalize()。
注意,这个方法会改变当前向量。
它们有一个共同点:
当向量太小了的话,前者会返回0向量,后者会设置成0。
This article was last edited at 2020-03-31 07:56:54