【转载】在 Houdini 中制作 Niagara 的 SubUV 贴图

543 阅读1分钟

原文链接:在 Houdini 中制作 Niagara 的 SubUV 贴图 | Melody

这里以导出一个 1~36 的数字序列为例,结果如下:

先建一个 Font 节点,默认 TextFrame: $F,去掉"Frame:",$F 的意思是取当前帧数。给文本建一个普通的材质。

image.png

然后将动画长度设置为 36 帧,要制作的 SubUV6*6 Sub 的 Texture。这样就有一个随着帧数变化的动画。

然后在正视图添加一个相机,在视口 空格 + 3 就能进入正视图,然后点击,将相机锁定后就可以调整相机位置,让显示的数字居中。

相机要用 Orthographic,分辨率设为 128*128,这个相当于单个 Sub 的大小,按需设置。

image.png

然后在 out 里添加一个 mantra ,设置渲染为 RenderFrameRange,从 136 ,设置一下渲染路径和文件名:$HIP/render/$HIPNAME/SubUV.$F4.png,这里的是相对路径,中建点击可以看到完整路径,它会在当前 hip 文件所在处建一个 render/(以 hip 文件名命名的文件夹)的路径,文件名是 SubUV.$F4.png$F 取当前帧数,4 是数字显示的位数,然后 .png 就是输出的格式。

image.png

点击 Render to Disk,将当前的动画 Render 到磁盘上,这时就会得到 36 张序列帧(先忽略 SUBUV.tag ,这个是后面生成的):

现在已经得到了子的序列帧 Texture,然后是将他们合并成一张 SubUV ,到 img 模块下,像我这样连接:

添加一个 File 节点去读取我们的序列帧,这里依然是用 Houdini 的语法取相对路径:$HIP/render/$HIPNAME/SubUV.$F4.png

image.png

然后是用 mosaic 节点来设置每行的数量,从上到下,从左到右遍历

image.png

然后是 ropcomp 进行合成,输出路径是:$HIP/render/$HIPNAME/SUBUV.tga,然后点击 rop_comp 的 Render 就开始合成渲染了,然后就可以了。得到的 SUBUV.tga 就可以导入 UE 中使用了。

这里再说一下 Niagara 怎么用 SubUV 的基础。在 UE 里新建一个 NiagaraSystem,一个材质球,导入生成的 SubUV 贴图。材质这么连接,虽然这里预览看起来还是将整张 Texture 输出。

image.png

把材质球给 SpriteRendererMaterial ,在下面还有一个 SubUV 设置,根据大小设置,这里我的是 6*6

然后在 ParticleUpdate 里添加 SubUVAnimation 模块,将 EndFrame 设置为 35 ,从 0 开始,所以最后是 35 ,这样就可以播放 SubUVAnimation 了。