这种方式对于场景逻辑开发十分便捷,可以将物体的每个逻辑功能,单独剥离出来抽象成功能组件。
在UE4中,也可以使用类似的方法,将对物体的逻辑功能单独写在蓝图Actor中,在需要时给定相应的物体即可。
下面举例说明:
实现一个陨石围绕星球旋转的功能,利用样条spline实现。
新建蓝图Actor,命名RotateSphere。为Actor添加staticMesh和Spline节点,并把中心的mesh设为根节点。
修改ClassSetting中的Parent Class 为StaticMeshActor
实现蓝图如下:
编写好的RotateSphere 拖到Level中运行如下:
在level中选中需要添加功能得模型,同时在ContentBrowser选中写好功能得Actor(
确认是继承StaticMeshActor的子类
),
在level中的模型上右键,选择Replace Selected Actor with按钮。
此时,模型仍然存在,并且在模型上增加了RotateSphere的功能
效果如下:
同理,可以在其他Actor中添加已写好的功能。
注意:保证编写逻辑功能的Actor,与被添加功能得Actor类型一致,否则会直接替换选中的物体
在Unity中,可以使用拖拽/添加的方式将组件添加到Scene中的GameObject上,使该GameObject实现编写的组件功能。如下图所示:这种方式对于场景逻辑开发十分便捷,可以将物体的每个逻辑功能,单独剥离出来抽象成功能组件。在UE4中,也可以使用类似的方法,将对物体的逻辑功能单独写在蓝图Actor中,在需要时给定相应的物体即可。下面举例说明:实现一个陨石围绕星球旋转的功能,利用样条spline实现。新建蓝图Actor,命名RotateSphere。为Actor添加sta
Actor
s是一个框架,使开发人员可以在
Unity
上更快地制作更好的游戏。
:star: 为什么是演员?
该框架支持简单性,并且不会尝试“抽象”
Unity
工作流,从而为将ECS与经典
Unity
组件
系统结合在一起提供了一流的支持。
确定性的工作流程。
具有清晰语法且无代码生成的ECS。
通过
Actor
组件
将ECS与
Unity
游戏对象集成。
多
场景
编辑。
React变量。
快速协程可在任何班级使用。
更新可在任何类
中
使用的
方法
。
:open_book: ECS概述
:bookmark: 实体是
组件
的容器。 实体ID由实体结构表示。
:speech_balloon: 如何创建实体?
// Bare entity
ALoadMethod
Game
ModeBase::ALoadMethod
Game
ModeBase() :Super() {
// 静态加载
蓝图
类的方式
// 所谓静态加载,即必须在构造函数
中
完成 // eg. 加载一个叫bp_Cat的
蓝图
类
// 1 在content browser(内容浏览器)
中
拷贝
蓝图
类的引用
// 复制出来的大概如下:Bl
ue
print'
2. 选
中
子
Actor
组件
,然后打开它的详细面板。
3. 在详细面板
中
,展开“事件”选项卡。
4. 在事件选项卡
中
,可以看到子
Actor
组件
中
的所有
方法
。
5. 选择要调用的
方法
,并将其拖动到
蓝图
中
。
6. 创建一个事件,例如按下一个按键或者启动
蓝图
时,然后将该事件连接到子
Actor
组件
方法
的调用节点上。
这样,当事件被触发时,子
Actor
组件
中
的
方法
就会被调用。需要注意的是,子
Actor
组件
中
的
方法
只能在拥有它的
Actor
的
蓝图
中
调用,不能在其他
Actor
的
蓝图
中
直接调用。