我正在尝试制作一个统一的移动三维角色,我偶然发现了一个教程,告诉我当用户按下"w"键时输入这行代码,我不知道不同的组件是什么意思,有人能帮我吗?
开始阅读API!
-
transform
是连接到与此脚本所连接的GameObject
相同的Transform
组件。 -
Transform.TransformDirection
将
direction
从本地空间转换为世界。 -
Vector3.forward
编写
new Vector3(0, 0, 1)
的捷径 -
Time.deltaTime
自最后一帧以来的完成时间(以秒为单位(
它主要用于将
units / frame
的任何速度转换为units / second
的值。
所以让我们把所有的东西放在一起:
- 您可以通过
transform
获得GameObject的Transform
引用 -
取等于
0,0,1
的向量Vector3.forward
,并使用transform.TransformDirection
将其转换为游戏对象的世界空间前向向量。注意:这是完全多余的,您不应该使用它
而是直接使用
transform.forward
,它已经为您做到了这一点;(返回表示世界空间中变换的蓝色轴的归一化向量
-
最后,将得到的向量乘以一个幅值。目前,它的大小为
1
,因为它是一个归一化向量,所以你想使用它的方向,但给它指定一个特定的"速度"。因此,将其乘以预定义的固定速度值
movementspeed
,然后使用Time.deltaTime
将其从值movementspeed / frame
转换为值movementspeed / second
对象的变换是其位置、旋转和缩放。
Transform.direction用于将变换位置移动到指定的矢量
Vector3.forward是x0,y0,z1 的矢量
Time.deltaTime返回从一帧到下一帧之间经过的秒数
movementspeed是一个变量,你可以用int或float等赋值。
基本上,它以每秒的移动速度向前移动这条线所连接的物体