目前为止接触虚幻4已经一周多了,慢慢开始理解UE4的操作逻辑。尤其是这两天学了自定义事件,蓝图通信,事件分发Dispatchers,BP的父子继承之后,更是发现UE4的这套操作逻辑的强大(尤其是在游戏类这种大量组件/功能复用的使用环境下)。
上面是目前为止实现的蓝图效果,开关组件默认不激活,并且有一个虚拟碰撞阻止玩家靠近。当玩家靠近钥匙按F拾取,这个开关组件就激活了,虚拟碰撞失效。
大体的开发逻辑是:
1,做了一个自动旋转浮动的蓝图类做父物体,角色靠近可以按键拾取也可以自动拾取,拾取完成广播(Dispathcers)。
2,做一个KEY的子类继承上面的类,子类里自定义一个事件与父物体的dispatcher(广播?分发?)绑定,当父物体分发广播,这个事件就执行,利用蓝图通信调用step transform组件的自定义事件ON_Event
3,step transform组件的ON_Event的内容包含了打开关闭actor的开关,还有打开或关闭用户放置的防止玩家在组件不生效时靠近的blocker。
首先浮动物体类的构建函数
构造函数就是收集一下参数默认值