Skip to content

🧩 组件系统:赋予节点“灵魂”与“能力”

如果说节点 (Node) 是一个透明的“快递盒”,那么组件 (Component) 就是装进盒子里的“特种设备”。

一个盒子(节点)本身并不能让游戏跑起来,只有当你在盒子里装入“引擎”、“轮子”和“音箱”时,它才真正变成了一辆能跑会响的赛车。


1. 为什么要使用组件?

想象一下,如果你要创造一个“发光的会跳动的球”,你有两种做法:

  • 糟糕的做法:写一个巨大的程序,强行定义这个球的所有行为。如果你下次想要一个“发光的会跳动的方块”,你得重写一遍。
  • 组件化的做法(YuanEngine)
  • 创建一个节点
  • 挂一个 Mesh (模型) 组件,让它看起来像个球。
  • 挂一个 Light (光源) 组件,让它发光。
  • 挂一个 Script (脚本) 组件,写两行代码让它跳动。

这种“搭积木”的方式让你能够像玩乐高一样,通过自由组合功能来创造复杂的物体。


2. 如何添加组件?

在 YuanEngine 编辑器中,所有的组件都在属性检查器 (Inspector) 中进行管理。

  1. 层级面板 (Hierarchy) 中选中一个节点。
  2. 观察右侧的属性面板,拉到最底部。
  3. 点击 [Add Component] 按钮。
  4. 在弹出的菜单中选择你想要的功能(例如:Rigidbody 或 Script)。

3. 认识属性:组件能“存”什么?

每个组件都有自己的参数,你可以直接在界面上调整它们。YuanEngine 支持以下几种属性类型:

属性类型 (PropType)表现形式示例
Number数字输入框速度、重力大小
String文本框玩家名称、对话内容
Boolean开关 / 复选框是否启用、是否可见
Vector3三维坐标 (XYZ)目标位置、力方向
Color取色器后面灯光的颜色
Asset资源选择框选模型文件、选贴图
Node节点引用框关联另一个节点

⚠️ 重点:Node 类型的交互方式

当你看到一个属性类型是 Node 时,请不要尝试手动输入一长串 ID。 你只需要从左侧的层级面板 (Hierarchy) 中,选中目标节点,直接将其拖拽到这个输入框中即可。这就像是在告诉组件:“嘿,你关注的对象是那个家伙!”


4. 常见的核心组件

虽然 YuanEngine 提供了很多功能,但你会最频繁地和这两个打交道:

🧱 刚体 (Rigidbody)

给节点穿上一层“物理马甲”。挂载它后,节点会受到重力影响,会发生碰撞,甚至会从高处掉落。如果你想做一个真实的物理世界,它是必不可少的。

📜 自定义脚本 (Script)

这是你的“终极武器”。如果现有的组件满足不了你(比如你想让节点在玩家靠近时跳舞),你就需要通过脚本组件来编写自己的逻辑。

小贴士:脚本开发涉及 API 调用,我们将在自定义脚本入门中专门详细讲解,现在你只需要知道它能实现任何你想实现的魔法。


💡 总结

  • 节点 = 容器(我在哪?)
  • 组件 = 功能(我是什么?我能做什么?)
  • 属性 = 配置(我有多快?我是什么颜色?)

如果你玩过 Unity,你会发现这一切都非常亲切。尝试给你的节点挂一个 Rigidbody,看看它在运行模式下会不会掉下去吧!