今天我们来学习使用Godot 3D模式下的物体运动操作,我们主要会使用到RigidBody3D「刚体」, StaticBody3D「静态」, Camera3D「相机」, DirectionalLight3D「定向光源」这四个节点。当然,除了这几个主要的节点,我们还会使用到处理碰撞检测的CollisionShape3D节点,Godot预置的3D模型,立方体CSGBox3D节点与圆柱体CSGCylinder3D节点。
创建场景并安放节点
我们新建一个项目,并把会用到的节点按着如下结构放置在场景中:
- Node[重命名为Root]
- StaticBody3D
- CollisionShape3D
- CSGBox3D
- RigidBody3D
- CollisionShape3D
- CSGCylinder3D
- Camera3D
- DirectionalLight3D
设置节点
我们为StaticBody3D的子节点CollisionShape3D设置属性Shape,这里我们给定一个BoxShape属性并且把Size x改为10m,z改为10m:
我们将StaticBody3D的子节点CSGBox3D中的Size也做同样的修改,使物理实体对齐碰撞检测的Shape:
我们选中RigidBody3D节点,然后设置它的位置Position,将y改为3.5m:
我们将Camera3D节点的位置Position和旋转角度Rotation也做修改:
我们最后再对DirectionalLight3D节点的位置Position和旋转角度Rotation做修改:
现在我们可以按键盘快捷键F6,运行该场景进行预览:
插入控制脚本
我们右键节点RigidBody3D,点击Attach Script选项,为其添加脚本,并把如下内容写入脚本:
一般来说我们在函数中控制物体的物理运动。
我们可以使用方法来获取键盘方向键输入,, , , 分别对应键盘方向键左,右,上,下。
用于设置刚体的运动速度,我们这里只处理x和z方向。
例如,当键盘方向键左被按住时触发:
我们将x方向的速度设置为-3。
保存后,再次运行场景,我们就可以使用键盘方向键来操作我们的物体进行运动了:
领取专属 10元无门槛券
私享最新 技术干货