第一个,好吧,除了最开始的模型的建模之外,其他的全部美术相关流程都是我一个做的,其中使用到了各种DCC软件,第一个自己做的特效,很开心~
国际惯例,先上最终效果:

拿到需求,先按分析美术想要的效果,然后拜托场编小哥哥帮忙建了个模型,当然,这个模型很正经,点都是合在一起的:

然后我开始用Blender去分开成单个面:




注意:因为Max的单位和houdini的单位不一样,所有要么在max里面缩小0.01,再导出,要么直接在导入houdini之后,用Transform去scale一个0.01。houdini的单位是米,max一般是厘米。这里我是在max里面去缩小了0.01之后导出模型的。
导入模型到houdini,在Houdini中添加动画:

用attribwrangle节点,添加简单的Vex语句去做每个三角面的每个顶点的移动,对每个primitive去获取primpoints,遍历primpoints,去设置顶点的位置,顺便随机计算了个顶点色,用于后面材质的颜色变化:

这里遇到一个问题,我本来是想直接用 setprimattrib(0, "P", i, Pos) 的做法去每个面片的Prim去位移的,但是,好像只有设置位置的attrib是无效的,换成cd的话,setprimattrib确实是能给每个Prim去设置颜色,如果有哪位大佬知道,请赐教哈~
在VEX里面添加一个参数,用于控制位移大小的,就是用这个参数去做Key帧,实现面片各种飞的效果:

得到一个动态效果:

在最后一定要导出一个NULL节点,给VAT节点用的:

做好动态的效果后,添加VAT的节点:

把上面的NULL节点拷贝粘贴到SOP Path里,然后按一下Initialize for Engine,面板其他一般不需要改,默认的就可以了,然后也可以设置一下输出的路径,最后点击Render:

这里Render之后,会生成fbx和exr的贴图,其中fbx是添加了新的UV1,UV0还是模型之前的UV0,UV1是用于采样VAT的新的UV,所以在UE里面用的话,需要用houdini导出的模型和VAT:

VAT贴图的设置:


把Houdini里VAT的Shader Code拷贝出来贴到UE4的Material Function里:


直接新建一个Material Function,粘贴Houdini的Shader Code:

给fbx模型添加材质:



创建材质实例,要把Houdini的VAT面板中的几个数据同步到材质实例的参数里,按名字一一对应:


以上是基础的设置,到这里,就能直接在场景里面看到模型的动态效果:

开始制作贴图:
一开始场编小哥哥在建模的时候,我就有交代要这样分这个UV:

然后在PS里面一顿操作之后,得到一张这样的图(其实是按我想要实现的材质效果,各种图层渐变叠加得到一个适合自己用的图):


得到初步效果:

添加全息投影类似的计算,用屏幕空间坐标去采样一张条纹图,再计算一个距离的衰减:

因为还有很多动态参数要做调整,也需要配合其他整体效果,于是,需要把这个模型用到UE4的Particle System里面,刚好在这里我就玩了一下Particle System,还挺好玩,也挺好上手,好玩~
加入到Particle System,就需要这个VAT的帧数需要按播放的帧数来,不再是不断循环的,这里需要修改上面那个Material Function的计算:

刷新一下Particle System 右键-添加Dynamic项,就会自动关联到材质会用到的参数名字:

每次在材质里面修改添加,在面板里Refresh一下就能更新到材质的数据:

然后设置帧数:

再叠加一些其他的特效,最后得到最终效果:

总结:
各种软件工具各种用,很好玩~
不过有问题百思不得其解,就是一开始我的模型是有两套UV的,但是经过测试,无论是VAT导出的模型,还是普通的Houdini导出模型,都会导致UV1和UV0互换顺序,虽然VAT应该是会出错的,但是是直接把采样VAT的那套UV放置到原来的UV0,原来模型的UV0被放置到UV1了,只有模型只带UV0的情况下,VAT的导出模型UV顺序才能是正确的。如果哪位大佬知道为什么或者两套UV的模型怎么在Houdini里面加VAT又不会出错,希望能赐教呀~
所以后来我只能在max里面先去掉UV1:

最后
以上就是顺利时光最近收集整理的关于lol模型导入ue4_Houdini与UE4结合的基于VAT的盾特效(第一个全流程自己做的修改模型贴图材质粒子特效)...的全部内容,更多相关lol模型导入ue4_Houdini与UE4结合内容请搜索靠谱客的其他文章。
发表评论 取消回复