Skip to content

🍏 动手实践:创建一个带物理效果的小球

在本教程中,你将亲手完成你的第一个 YuanEngine 小案例:创建一个受重力影响并能落向地面的物理小球。通过这个过程,你将掌握项目创建、节点操作、组件挂载以及物理系统的基本逻辑。


第一步:新建项目

首先,我们需要一个干净的工作空间。按下快捷键 Ctrl + S (Mac 为 Cmd + S) 来新建一个项目。

什么是“项目”?

项目是你的作品集合。建议为一个新项目创建一个专门的空文件夹。项目保存后,所有的资源、场景配置都会被锁定在这个文件夹内。

创建完成后,你会发现底部面板的 PROJECT 栏发生了变化:从之前的提示文字变成了显示项目根目录的文件列表。

打开项目后的编辑器UI


第二步:构建小球

为了让场景更整洁,我们先进行一些清理工作:

  1. 清理默认节点:在左侧的 层级面板 (Hierarchy) 中,右键点击默认生成的 Player 节点,选择 Delete 将其删除。
  2. 创建圆球:在层级面板的空白区域右键,选择 Create Object -> 3D Mesh -> Sphere
  3. 调整位置:此时圆球在原点。我们需要把它升高,给它“坠落”的空间。
    • 切换到 Move (移动) 模式(快捷键 W),向上拖动绿色箭头。
    • 或者在右侧属性面板中,直接将 Transform 组件的 Position Y 设置为 5

完成后的图片


第三步:初次运行(静止状态)

点击中心画布上方的 Play 按钮运行游戏。

关于摄像机

你可能会奇怪:我没有创建相机,为什么能看到画面? 这是因为 YuanEngine 拥有默认相机机制。如果你没有手动设置相机,系统会自动插入一个预设相机。参考:相机概述

结果: 你会发现圆球静止在半空中。这是正常的,因为我们还没赋予它“重力”。点击 Stop 回到编辑模式。


第四步:赋予物理特性

  1. 选中圆球节点。
  2. 点击属性面板底部的 [Add Component] 按钮。
  3. 选择 Physics -> Rigid Body (刚体组件)。

再次运行: 圆球现在会受重力影响掉落,并很快消失在视野中。因为它一直在往下掉,我们需要一个“地板”来接住它。


第五步:创建地板

  1. 创建立方体:在层级面板右键,选择 Create Object -> 3D Mesh -> Cube
  2. 修改外观:为了方便区分,选中立方体,在 Mesh 组件中找到 Color 属性,将其调为黑色。
  3. 改变形状:我们要让它看起来像个大平台。将它的 Scale (缩放) 设置为 50, 0.2, 50

完成后的图片


第六步:处理“穿模”与“掉落”

如果你现在直接运行,会发现两个问题:

  1. 圆球直接穿过了地板(因为地板还没有物理碰撞体积)。
  2. 如果给地板加了刚体,地板也会跟着球一起往下掉。

最终方案:

  1. 给地板添加 Physics -> Rigid Body 组件。
  2. 关键步骤:在刚体组件的属性中找到 Type (类型)
  3. 将默认的 dynamic (动态) 改为 fixed (固定)
为什么要改类型?
  • Dynamic (动态):受力影响,会掉落、会被撞飞。
  • Fixed (固定):拥有物理体积,能挡住别人,但自己像大山一样纹丝不动。

🎉 恭喜!你完成了第一个案例

再次点击 Play,你会发现圆球稳稳地掉在了黑色地板上。

💡 小技巧:父子层级实验

尝试在层级面板中,将“圆球”拖拽到“地板”节点下方,使它成为地板的子对象。 此时你尝试移动或旋转地板,你会发现圆球会保持相对位置跟着一起动。这就是我们之前提到的“父子继承”逻辑。