寻觅《指环王》3D动画制作 指环王it's my precious
这篇文章给大家聊聊关于探索《指环王》3D动画制作:Maya与Golaem Crowd技术融合,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
至于把这么老厚一摞笔记汇集成册的动力是想知道——能否在普通PC上实现类似《魔戒》或者《星球大战》里的镜头?哪怕只有一帧也好。而且方法要尽量简单,毕竟就算买得起RTX 3090显卡也不一定能付得起足够的时间成本。
图1-引自电影《魔戒》——洛汗骑兵出现在帕兰诺平原
言归正传,《魔戒》无论文学地位还是电影成就都是高山仰止的存在,其中“血战帕兰诺”又是这部高潮迭起的巨著中的亮点之一。Weta特效团队在制作流程中使用了Massive这款集群软件,但是国内只能找到Maya2018以下的版本,而且教程也很少。相比之下,Golaem Crowd可以直接加载到Maya中,对Vray、Arnold、RedShift等渲染器的兼容性也更好,最重要的是,在相当长的时间里,一直不知道如何让数以千计的角色沿着地形移动,直到在Golaem Crowd中发现了NavMesh Creator……这就是那个苦寻不得的答案。
经过测试,发现有了Golaem Crowd的帮助,实现“几千骑兵+一个小山坡”的镜头难度倒不是很大,真正的难度在于——有没有一个足够强大的意志力去面对Maya一而再再而三地崩溃和不断探索“讲好一个故事”的动画技术的好奇心。
硬件方面可以参考本人的笔记本电脑配置:
CPU:AMD Ryzen7 2.3GHz
显卡:NVIDIA Geforce 1660Ti
内存:16GB
硬盘:5TB
渲染器:Vray Next V4.30(HD 1080)
一,安装以及过程中的坑
图2-安装成功的提示(在about菜单中打开)
如果授权文件加载不能功的话会一直提示为个人学习版,虽然不影响大部分功能的使用,但在渲染时会出现随机的黄色斑块。而且在使用中发现一个诡异的情况:用个人版制作的文件在用永久版打开时会自动切换到个人版。
1-1安装步骤:
(1)首先下载Amped,将安装包中的RLM_Windows文件夹拷贝到C盘根目录;
(2)在C:\Windows\System32\cmd.exe,右键管理员身份打开;
(3)输入cd c:\RLM_Windows→install;
图3-安装授权文件
1-2加载授权文件后仍然提示为个人版的问题
之所以在好多天里一直出现这个问题导致授权文件加载不成功,其实原因并不复杂——
最初的安装教程都是从百度上淘来的,就按照里面讲的,在C盘Program Files文件夹里新建“rlm“子文件夹,再把授权文件和rlm应用程序拷贝进去,最后启动rlm等等。问题就出在这里:因为rlm已经在内存中启动,在加载授权文件失败后重新安装时就不能覆盖老的rlm文件,软件就一直显示为个人版,最后发现,只能打开Window的任务管理器,将里面的rlm程序逐一关闭掉,再次安装rlm,问题终于得以解决。
1-3安装好授权文件后,登录http://golaem.com/,下载Golaem-7.3.7-Maya2020安装包和GolaemCharacterPack-7.3.7角色库。
图4-Golaem官网
图5-Golaem安装包和角色素材包
1-4安装Golaem Crowd7.3.7后,添加环境变量:变量名→golaem_LICENSE,变量值→5053@localhost;
图6-变量名和变量值
1-5在Maya→Windows→Settings/Preferences→Plug-in Manager(插件管理器),加载Golaem Crowd插件。
图6-加载glmCrowd.mll插件
二、了解Golaem Crowd框架
图7-Golaem Crowd7.3.7主要模块和文件格式
从制作“几千骑兵出现在小山坡上”这一目标出发,首先来分析需要用到Golaem Crowd的哪些模块。
(1) Character Maker→用来定义角色骨骼、动作,建立动作映射,很明显,这个模块在现阶段暂时派不上用场;
(2) Population Tool→建立角色集群;
(3) NavMesh Creator→将模型转换为角色集群沿其运动的地形;
(4) Behavior Editor→加载素材库中的行为;
(5) Simulation Exporter→将Golaem Crowd角色解算出缓存文件,使其成为Vray渲染器可以识别的物体。
了解以上模块,同时也就初步建立了Golaem Crowd的制作流程,接下来就可以进入制作环节。
三、制作流程
3-1导入角色文件和Shader文件
图8-EntityType Node工具图标
图9-Open Character Files窗口
以安装根目录为E盘为例:
角色路径为:E:\Golaem\GolaemCharacterPack-7.3.7\golame\characters
文件名:CavalrySoldier.gcha
图10-导入角色文件
Shader文件路径为同一目录下的shaders。
文件名:CavalrySoldier_VR.ma
图11
注意:保存文件!
3-2建立地形和贴图
图12-建立地形
(1) 创建Plane,并调整至略有起伏;
(2) 打开Hypershade,创建Lambert材质,赋予草地贴图(推荐从Quixel Bridge里搜索下载,就是速度慢点,但重在免费);
图13-Hypershade(材质编辑器)
(3) 建立Directional light×1(用于添加灯光贴图并投射阴影)、 Vray Dome light×1(提供场景照明)
(4)选中VRayLightDome,勾选Options面板下的Invisible;
图14-灯光属性面板
(5) 为Directional light添加灯光贴图(Directional Light Attributes→Color),实现光线集中在画面中心的效果;
图15-灯光贴图
图16-渲染视图
3-3.使用PopulationTool建立角色集群
(1) 双击PopulationTool图标,建立角色分布的区域(可选择右下角的控制手柄调整区域大小);
图17-手柄图标
(2) 在Slots栏中输入生成的角色数量(1000~2000);
图18-Poptool属性面板
(3) 点击Create按钮,建立角色集群;
(4) 点击动画播放面板的Play按钮,预览场景。
图19-建立角色集群
3-4.使用NavMesh Creator工具将Plane物体转换为地形
图20-NavMesh Creator图标
图21-NavMesh Creator面板
(1) 参数选择默认,点击Compute and save…;
图22-保存.gse文件
(2)在项目文件夹中保存.gse(Golaem环境文件);
3-5.使用Behavior Editor工具为角色匹配动作
图23-Behavior Editor图标
(1)打开Golaem Behavior Editor,双击entityTypeShape1;
图24-Golaem Behavior Editor
(2) 从Behaviors(行为)窗口中依次拖入beMotionShape(导入动作文件)、beNavigationShape(定义角色之间的避让)、beGotoShape(定义角色动作的目标)三个图标;
图25-拖入行为图标
(3)点击Crowd Target Locator图标,建立集群目标体;
图26-Crowd Target Locator图标
(4)回到Golaem Behavior Editor,双击beMotionShape图标,导入Motion File(路径:Golaem\GolaemCharacterPack-7.3.7\golaem\motions);
(5)双击beGogoshape图标,打开属性面板,修改Target Attributes(目标属性)→Target Mode(目标模式)→Use Target Poptool(使用集群目标);
(6)修改Target PopTool Attributes(集群目标属性)→In Target Poptool→targetShape1;
以上这几步其实是为了确定三个问题:角色以什么动作运动?角色向哪里运动?角色之间是否规避?
(7)再次点击Play图标,预览场景,如果之前的操作无误的话,可以看到建立的骑兵集群开始前进了……
图27-预览场景
(8) 建立摄影机,在摄影机视窗中检查画面;
图28-摄影机视图
在第一次看到大队骑兵出现在地平线上的时候真的是差一点就泪流满面,经过一个多月的屡败屡战(其中光搞明白授权文件为什么不能加载这个问题就搭进去10多天),终于为完整的3D动画版《指环王》砌上了第一块砖。
3-6.解算动画并渲染
图29-Simulation Exporter图标
(1) 点击Simulation Exporter图标,打开Golaem Simulation Exporter(Golaem解算输出模块);
图30-Golaem Simulation Exporter面板
(2) 点击“Export”……
(3) 打开VRay渲染器窗口,开启GI,将Resolution(分辨率)设为“HD 1080”。
图31-VRay Render Settings面板
(4) 渲染完成后保存PNG图片,在Photoshop里加上对比度高些的天空图片(或用VUE导出),如果时间充裕的话再加些花花草草效果会更好一些。
图32-加入天空背景的预览镜头
四、总结:
附:
草地贴图(原图尺寸:8K):