此为从0开始一个展示项目,非常简练,值得反复细品,地址。
下面的笔记就是制作过程、顺序。
这次做的是受电弓模型的导入,它是由3Dmax做的,可以直接导出成fbx格式的模型,也可以用datasmith的插件导出,但是datasmith数据导入后无法成为一个Actor蓝图。
具体参数解释可再看上面的知乎教程,步骤:
如果是自己手动去拼接一个Actor蓝图类,一定要看这,它是导入汽车模型,然后静态网格体在一个Actor蓝图中做拼装,这里我就不写了。
第一步打开引擎选择一个空白的模板,进去:
创建关卡:(后面的ptcc是代表受电弓的简写),先创建一个Maps文件夹
加入HDRI背景:
制作另一个背景:
然后在把刚才的“Env01_Map”复制一个并改名为“Env02_Map”,再把这个Env02_Map拖到关卡中去
模型放入场景:==在关卡那里点击切换到“持久关卡”后==,再把模型导入, # 这很重要
注:尽量把导入的模型放在世界坐标的原点,即都设置为(0,0,0)
创建一个相机、游戏模型,以便可以播放它。
即:可以使用鼠标拖动在汽车周围移动的相机;并前后移动鼠标滚轮,并添加景深,以这种方式自动聚焦的功能。
这些如果用第三人称模板,应该就是开启了的,使用空白的,就要自己去手动开启,还有些其它的,有需要的话,去打开使用。
添加输入的轴映射:项目设置 –> 引擎 –> 输入
制作4个蓝图,地址。 # 这很关键
核心:下面是改上面创建的4个蓝图的设置:
第2步创建的蓝图:BP_PlayerController
第3步创建的蓝图:BP_PlayerCameraManager
第1步创建的蓝图:BP_Pawn
添加一个“弹簧臂组件”,并在这组件下添加一个“摄像机组件”
以下几点都是针对弹簧臂组件的细节面板:
在此蓝图中的事件图标图表添加控制逻辑:
说明:
特别注意:
添加一个自动聚焦的功能:具体原理和设置可看这里。里面的参数设置原理一定要去看视频,视频里有讲解。
下面的截图来自“BP_Pawn”:
这一小点只是比较简单的良好总颜色切换,如果是多种颜色,建议使用下一小节的方法。
打开一个材质,添加一些“VectorParameter”结点,还有线性的lerp插值结点:
回到内容浏览器添加一个“材料参数集”:(方便传参,管理更多颜色)(注意命名时不能太长了,编译不会报错,但功能不会起作用)
把上步创建的“材质参数集”用==鼠标拖==到第1步材质的编辑界面,并在其细节面板上把“参数名”设置为刚改的time,并链接到lerp结点的Alpha上:
去到受电弓的蓝图类里事件图表写逻辑: # 核心是能通过时间轴来改变第2步的time参数值
这样就可以让颜色随着时间轴设置的曲线进行变化。(时间轴的y轴一定是0-1,x轴的时间长度就自己定了)
接着还要在这个蓝图中,点击选中它的根结点,在其细节面板中==开启接受输入==,这样才能在有键盘的事件: # 这很重要
这是在2.4.1的基础上,进行多种颜色的切换,所以还是要先熟悉2.4.1,主要使用的“材质参数集”。还是比较简单化的,具体可以看教程。
在材质参数集添加两个颜色“A、B”,一切都是在这两个颜色上变换: 其中A就是一开始的材质默认颜色,B就添加上,不用给值
进到受电弓主要材质里,不再是新建一个参数,而是用材质参数集:
由于受电弓有这个,就先不写了,教程地址。主要有用到一个名为“创建动态材料实例”(Create Dynamic Material Instance)。
这个教程的这个方式似乎更加直观:主要是用到“ease”这个节点,我这里把受电弓碳滑块向上移动300用这种方式实现了,还用了原本最经典的方法:
这个功能就是在更换前面哪个关卡那种,我暂时用不到,教程地址放这。
很重要的一点,使用的图片用UE打开后,要去设置其最大纹理大小,一般比button小一点,比如button设置成130的,然后max纹理设置为128。
UI界面的制作就看教程吧,汽车的这个,和谌嘉诚的教程,这主要是ui界面,然后因为用的ue5,创建的控件里一开始没有“画布画板”,自己去添加一下:
ui界面布置好后,就去==关卡蓝图==中设置:(谌嘉诚教程中还讲了很细)
当button设置好后,ue5注意要在其细节面板的右上角把“==是变量==”勾选上,这样它才会出现可以点击这些事件的组件:
注意:在添加button后在其细节面板把“背景颜色”的A透明通道从1.0改为0.0。
然后就可以给其添加点击事件了,然后就会跳转到其右上角的“图表”,就能去写逻辑,再点击“设计器”就会回到ui界面的设计。然后比如按R键变成红色,就可以先在受电弓的蓝图里在按键R那再添加一个自定义事件,方便在umg中的图表调用:
同理,其它的也都这么做,这么做最简单了,汽车那个教程的做法有些复杂,它不是在umg图表中调用,而是用事件绑定的方式,我觉得逻辑不是很好,只能说是一种方式,当了解(主要他那种方式,我也没能实现出来)。
视频地址,跟着这个来吧,不写了。写几个注意点:
主要的一个参考是这个教程。(注意,这种只能在当前关卡使用,哪怕控制逻辑是写在受电弓的蓝图,在别的蓝图这种动画序列都是不行的)
简单说明一下,组件好的模型,拖入到场景后,不仅仅是可以做它的一个整体动画,还可以就它的局部的部件做动画。下面使用的ue5.2做的示例截图。
创建关卡序列,然后选择保存地址和名字:
打开关卡序列,把场景中的受电弓拖到序列界面的左侧,然后点加号,就可以选择它的部件:
然后就是设置其关键帧,这就不多说了,注意有些部件是可以改变其中心枢纽点的,就方便旋转。
最终在蓝图中写逻辑,可以写到关卡蓝图中,也可以写到受电弓蓝图中,但是要注意在其蓝图默认值中开启接收玩家输入,方便键盘事件:核心节点是“创建关卡序列播放器”