问题描述
我想为我的 3d 模型制作彩色动画。在这些动画中,只有模型的颜色会发生变化。例如 - 动画 1 将模型的颜色设为绿色,动画 2 设为红色,动画 3 将颜色设为蓝色。
进行更改后,我想以 .fbx
格式导出动画和模型。
解决方法
快速动画
启动 Autodesk Maya,创建一个多边形立方体,为其指定一个 Phong 着色器,然后将以下 MEL 脚本应用于该立方体(您可以通过打开脚本编辑器并选择 MEL 选项卡来执行此操作):
select -r pCube1 ;
currentTime 1 ;
setAttr "phong1.color" -type double3 1 0 0 ;
setKeyframe { "phong1.c" } ;
currentTime 61 ;
setAttr "phong1.color" -type double3 0 1 0 ;
setKeyframe { "phong1.c" } ;
currentTime 120 ;
setAttr "phong1.color" -type double3 0 0 1 ;
setKeyframe { "phong1.c" } ;
按执行按钮。
输出纹理
确保在插件管理器中加载了 Arnold 库。应用彩色动画后,设置场景的灯光(您可以使用 Maya 或 Arnold 灯光)并使用主菜单选择:
Arnold –> Utilities –> Render Selection To Texture
为所需的帧数保存一系列 UV 映射图像:
生成的图像序列如下所示(我在这里使用了 OpenEXR
格式,分辨率为 512x512):
现在您可以将多边形几何体导出为支持纹理和动画的任何所需文件格式(如果需要动画,请不要忘记烘焙您的资产或转换动画)。
之后,您可以将渲染图像序列作为纹理应用于 Unity 中的模型。
进一步的步骤
目标渲染器是否支持纹理或视频纹理的图像序列,完全取决于 AR 应用程序的渲染器(众所周知,自 v17.1 以来不再支持原生 Sceneform 库)。例如,Apple RealityKit 框架支持 VideoMaterials,因此我可以轻松地将生成的 .exr
图像序列转换为 Final Cut Pro X 或 NUKE 中的 h264
视频文件。