玩家设置【中】:开发角色武器射击及特效音效相关功能;
Tip:对于自己生成的变量此后引用时应注意考虑到是否有效的情况以排除风险;
非纯函数以动词状态命名,纯函数以问句名词表达,方便蓝图可读性;
事件图表中的EventTick属于每帧调用;
(九)、添加武器与激光瞄准效果
1.在角色蓝图中再创建一个骨骼网络体组件Rifle,移动至Mesh组件子项中,右侧骨骼网格体选择枪模;插槽设置父项套接字选项选择角色武器插槽WeaponPoint(骨骼插槽可在内容浏览器角色骨骼图中看到),若武器未适配于手掌记得将坐标与旋转归零;
2.新建材质M_LaserBeam,混合模式改为半透明,着色模型改为无光照,内容浏览器中拖拽光束纹理T_LaserBeam至材质编辑器中,右键ParticleColor节点,将两节点首引脚用乘积节点相连,其值赋予自发光颜色;将ParticleColor节点底部的Alpha引脚与纹理节点的RGB引脚用乘积节点相连,其值赋予不透明度;得到白色光束;
3.在Effect-weapons文件夹中新建Laser文件夹,新建粒子系统P_LaserBeam(其中每一竖排为一个发射器,每行为一个模块),右键第一个模块Particle Emitter,类型数据中选择新建光束数据,编辑:
左侧设置光束方法为目标模式,即从起点到终点直射;
speed设置为0,即瞬发;
勾选固定开启,一直存在;
选中Required(必需)模块,编辑:
材质选择M_LaserBeam;
选中LifeTime(生命周期)模块,最大最小值改为0(持续存在);
(选中编辑initialSize模块可调节光束大小;)
删除initialSpeed(起始速度)模块和colorOverLife(生命内)模块;
右键“颜色-初始颜色”新建initial Color模块,编辑颜色常量为红色(可编辑透明度);
右键“光束-源”新建source源模块和target目标模块;
源模块起点调成(0,0,0);目标模块终点调成(2000,0,0),目标方法改为用户集(终点由用户设定);
4.在角色中添加该粒子组件系统,编辑枪模材质右上角选择骨骼视图,微调开火特效插槽位置;插槽设置父项套接字选项选择激光插槽SporLightSocket;
(十)、添加手电筒、开火特效与开火声音控制
5.添加聚光源组件SpotLight,挂载插槽;旋转移动30度照地板,锥体外部角度设置为30,强度设置为十万;
6.内容浏览器"Effect-Weapon-Muzzle"选中P_AssaultRifle_Loop特效添加至组件FirePaticle,挂载插槽调整位置;设置激活的自动启用选项取消勾选;至此开火特效停止启用,由蓝图调遣;
7.修改项目设置的输入,添加操作映射Fire为鼠标左键和游戏手柄RightTrigger(右扳机)&#x