EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

Unity的C#中Vector3.Normalize()和Vector3.normalized的区别

.normalized其实是归一化,

当玩家同时按下W和D的时候,玩家是斜着走的,

如果向前和向右的移动速度都1m/s,那么斜着走就是1.414m/s,

1.414

结论:斜着走比正常走路快。

这显然是不符合常理的。

为了解决这个问题,出现了.normalized,

即我们不关注其大小只关心其方向,

.normalized会返回单位为1的只读向量。(注意是返回值,而不是改变)


如果你想改变的话,则需要用Normalize()。

注意,这个方法会改变当前向量。


它们有一个共同点:

当向量太小了的话,前者会返回0向量,后者会设置成0。

This article was last edited at 2020-03-31 16:56:54

* *