抓紧记一下这几天看的教程和里面的知识点
首先看完了是官方的这个教程
里面主要的知识点其实就是UI和材质的互动,以及摄像机切换
用set view Target with blend切换摄像机,里面可以选择混合时间。
之后再扩展就可以在相机混合后切换控制权
表格的主要导入方式,是要先创建一个结构体,里面的列名称必须要和表格数据一致。
然后使用结构体导入表格就可以读取
成功之后就会创建一个表格文件
UI里面的文本文件旁边可以创建一个绑定函数,在内部控制如何显示
获取表格数据的时候用get data table节点。需要注意的是虽然表格内部index是数字,但是还是要用字符串来索引
切换材质教程里面用了switch on int,一个类似枚举的流程控制
函数内部利用set Material替换材质
利用get all actor of class可以获取level内所有该类型的实例
对于类型内部则可以使用get all child actors获取所有类内部的成员,然后可以做获取static mesh物体这样的事情。教程里面则选择为每个actor创建了一个带返回值的函数,直接调用获取actor内部的static mesh
另一个教程是
主要讲的是角色的控制,和帮助文档的Gameplay入门指南 https://docs.unrealengine.com/zh-CN/InteractiveExperiences/HowTo/index.html 有重合
input的控制选项在project setting - Engine-input里面
修改CharactorMovement属性实现按键加速。
第一人称模板利用timeline下蹲(所有组件都在camera下面,所以只控制相机和碰撞体就可以了)
UE4自带的++函数,可以很方便自加减
execte console command ->RestartLevel重启关卡(想查一下帮助文档( https://docs.unrealengine.com/zh-CN/ProductionPipelines/CommandLineArguments/index.html ,但是里面的内容好像不全)
血条
UI的progressBar类型可以通过绑定函数控制(实时更新)
也可以在graph里面创建一个event来根据命令更新。
可以在actor内部创建后期处理体积,然后通过控制blend weight参数控制混合强度。
节点上右键 watch this value可以直接观测数值debug
创建蓝图接口事件:
可以创建一个bp_interface改名叫BPI_interaction,在其中创建一个叫做interact的函数
在门的actor中点击class setting,然后就可以添加BPI_interaction的事件
在之后在interface的面板下就可以看到刚才创建的函数,可以利用其创建事件
在cahracter里创建一个inpuAction interact事件(在project setting中创建了一个interact事件),然后做一个角色向前的tracing检测
这样实现的效果就是,当玩家按下键盘触发interact的事件之后,从角色向前发射一个跟踪的ray,集中的物体如果有BPI_interact接口的话,就调用该事件。
为子弹加入声音和粒子效果
默认的子弹类里面是击中物体后,判断是否是physics物体,是的话则用add impulse at location添加互动,然后销毁。
案例中则利用play sound at location和spawn emitter at location实时创建出声音和粒子的实例
子弹的 class defults里面设置了生命值,如果设置为就不会死亡
附加:
set game paused节点可以暂停游戏
这是帮助文档里给提供的暂停菜单范例