你将学到什么#
你将把prop放进Engine里的一个真实场景,为它添加物理效果,在Play模式中测试,并使用往返功能把它送回Sculpt或Pigment进行修改。
开始之前#
- 完成在Pigment中为你的prop贴图,或者准备好任意一个已贴图的mesh。
- Engine是一个通过众筹解锁的模块。浏览器支持WebGPU时使用WebGPU,不支持时回退到WebGL2,因此不论哪种情况都能打开。
- 值得了解:Engine是一个完整的游戏引擎。一个场景就是Scene Graph里的一棵实体树,每个实体是一组组件(Transform、Model、Light、Camera、RigidBody、Collider、Script)。
步骤#
-
打开Engine,选择从空场景开始,或者加载一个demo模板,直接获得一个地面和灯光。
**警告:**demo场景不会被保存。如果你在demo场景基础上搭建内容,离开之前请把它保存为你自己的项目。
-
导入你的prop。从Pigment把它发送过来,或者直接导入
.glb文件。它会作为一个实体到达,并且已经带有Transform和Model组件。 -
在Scene Graph中选中该实体,在inspector里检查它的Transform。现在就把它放到地面上,并设置一个合理的缩放,因为下游的一切都会继承这个设置。
-
用Add Component添加一个Collider。没有它,prop就只是一个看得见、但物理系统碰不到的形状。
**提示:**让collider匹配实际用途。一个近似prop形状的简单形状,在运行时比精确的mesh collider开销更小,而且对于一块石头,没人会看出区别。
-
如果prop需要受物理影响,就添加一个Rigidbody。对于永远不会移动的场景物件则不加,因为静态几何体的开销更低。
-
按下Play。在这个模式下,物理是真实运行的,所以一个带有Rigidbody和collider的prop会下落、落地并稳定下来。
-
观察它落地时发生了什么。一个会穿过地板下沉、抖动,或者奇怪地弹跳的prop,是在告诉你它的collider或质量设置有问题。
-
按下停止并进行调整。Play模式是用来测试的,不是用来创作的。
-
无需离开Engine即可修正建模问题:在Scene Graph中右键点击prop,用Edit in在Sculpt、Pigment或Retopo中打开它。你的修改会被送回来,并原地更新这个prop。
**提示:**你可以用Shift+点击,或者在Mac上用Cmd+点击进行多选,并把多个对象合并成一个发送出去。在Mac上,Ctrl+点击会打开上下文菜单,而不会改变选中状态。
-
保存场景,并使用Save to Cloud,让项目跟随你的账号。
结果#
你的prop现在存在于一个可玩的场景中:它有了物理存在感,能在真实物理下正常表现,并且你可以随时把它送回上游进行修改,完全不需要导出或重新导入任何东西。
进一步探索#
- 用脚本赋予prop行为。Engine暴露了
start、update(dt)、onCollision和onTrigger等生命周期钩子,其API横跨50个命名空间,共538个成员。 - 如果你更想用可视化的方式而不是写代码来搭建逻辑,可以试试Blueprints。
- 探索地形编辑器和Sky & Atmosphere面板,为你的prop搭建一个环境。