COLUMN / maya

ADUCG /
Maya

Exploring the depths of maya. Curated articles, technical deep dives, and production insights.

使用科学数据(Using Scientific Data)

2026.05.06

给 Pixar Surface 的镜面反射切到物理模式,把颜色选择器改成 RGB,然后从折射率数据库里按红绿蓝波长分别查出折射率和消光系数,就能搭出一套基于实测数据的金属着色。用黄金跑一遍会发现数值虽然数学上准确,但颜色偏淡,稍微拉高红色消光、压低绿蓝,金色会暖得更对味。说到底,是在科学参数和画面直觉之间找一个自己认可的平衡点。

从 Maya 到 Houdini Solaris:基于数据驱动的场景自动化重建方案

2026.04.26

Maya里手动摆放的场景布局,如何高效迁移到Houdini Solaris的USD流程?技术美术师JonnhyRDG的开源方案提供了一种思路:从Maya导出变换数据,转成JSON字典,再在Solaris里按规则重建引用与实例化结构,把场景装配变成可再生的流程能力。

从 $F4 到 {FrameID:4}:序列帧命名规则的演变

2026.04.23

从 Houdini 的 $F4 到 Nuke 的 ####,再到 Unity 的 FrameID:4,序列帧占位符的写法一直在变。这篇笔记把三种典型语法的来龙去脉、边界清晰度和扩展性做了对比,也聊了起始帧、padding 和占位符识别这些跨软件对接时容易踩的坑,适合做流程的同行参考。

Houdini输出FBX的LOD和Collision

2024.06.17

Houdini导出FBX时处理LOD和碰撞体,通常有两种思路:一种直接在OBJ层级里组装好,另一种给模型添加segment属性,再用name或path属性输出。两种方式都能在ROP FBX节点中完成,后者在需要程序化控制时更顺手。

Maya Python 性能优化指南

2024.04.30

在 Maya 里写 Python 工具,性能问题迟早会碰上。这份笔记从 API 选择到批量操作、缓存策略,对比了 cmds 和 API 2.0 的实际差距,并附上了可参考的提升倍数。如果你也在为脚本卡顿头疼,这些思路或许能帮上忙。

强化绑定变形:在《DC 超级宠物联盟》上的镜头雕刻(Shot Sculpting)

2022.08.08

在《DC 超级宠物联盟》里,动画师用一套镜头雕刻工具直接在镜头中捏出肌肉鼓起、猪挤进狭小空间等效果,不用再等绑定部门返工。这套工具基于 Animal Logic 的 Bond 变形系统,把 blendshapes、lattice 等变形器无缝塞进 Maya 动画流程,让轮廓始终由动画师掌控。

usd-noodle

2021.05.21

USD-noodle 是一个开源小工具,把 USD 文件的层级与引用关系用节点图的方式呈现出来,方便快速理清场景结构。它支持命令行独立运行,也提供了完整的 Houdini 插件,安装后可以直接在 LOP 环境中加载 stage 查看,很适合日常排查依赖和了解文档组成。

Katana批量镜头生产(一)

2021.02.19

接手一个外包网大项目时,Maya 频繁崩溃让批量渲染几乎无法推进,于是切到 Katana 重新搭建流程。这篇记录了手动导出 Alembic、统一资产命名、在 Katana 里还原材质并组装可复用模板的实战过程,为后续多镜头并行生产铺好了路。

Clarisse iFX经验之谈(二)

2020.08.06

在Clarisse iFX里,合理的目录结构不只是为了整洁,更是因为每个节点的唯一路径直接影响操作效率。聊聊Image与Layer的镜头分层思路,以及如何用group像Set一样组织渲染元素,让复杂场景的分层输出更顺畅。

如何启用Katana3.5的USD插件

2020.08.06

Katana 3.5 自带了基于 USD 19.11 的插件,但默认不会加载。只需在系统环境变量或启动脚本里指定插件路径,就能在节点菜单中创建 USD 节点。目前这套官方插件还比较基础,支持加载文件、读写属性与设置变体,暂未提供层合并和专用显示窗口。

Clarisse iFX 4.0 SP1坑爹BUG

2019.07.07

Clarisse iFX 4.0 SP1 在后台渲染时有个让人头疼的 bug:cnode 命令行即便只指定了某个 layer,也会把整个 image 下的所有层都渲一遍,只保存你指定的那层。农场渲染时间直接翻倍。用 3.6 对比测试后确认问题出在版本上,官方论坛早有人提交,SP3 已修复。临时方案是每个 image 只放一个 layer。

Maya动画曲线导出及导入

2019.02.28

在 Maya 里用 animImportExport 插件导出动画曲线时,选择物体后以 animExport 格式输出,勾选双精度和包含子层级能保证数据完整;导入时只需选中目标物体再加载 .anim 文件即可。这套流程简单可靠,适合日常在角色或道具间迁移动画数据。

Clarisse iFX经验之谈(一)

2019.02.19

从 3ds Max 到 Maya 再到 Clarisse,一位场景美术聊了聊半年来的使用体验:交互渲染有多快,为什么非节点操作反而高效,以及团队协作时遇到的流程瓶颈,最后提到了 Clarisse Builder 的改进方向。

Maya 2018/2015速度比较

2018.11.17

在一台双路Xeon E5-2637 v3配Quadro M5000的机器上跑了一组Maya版本对比,结果挺有意思。Maya 2018 update3在蒙皮角色和OpenSubdiv动画上帧率暴涨,单个OpenSubdiv角色从2017的19fps直接跳到250fps,15个角色也从2.39fps提升到33fps。布尔运算和Bifrost解算同样快了不少,视口处理大量面时也更流畅。

Deadline渲染任务添加环境变量

2018.11.02

在Deadline渲染管理中,当同一节点需要同时支持Maya和Katana的Arnold渲染时,环境变量冲突是个常见痛点。修改提交脚本,为任务预设EnvironmentKeyValue属性,能让不同DCC在渲染时各自加载正确的许可与环境,避免手动干预。这里分享了Katana提交脚本的具体修改位置与方式。

修复因卸载Maya等软件造成文件ico丢失

2018.08.03

在Windows上同时安装多个版本的Maya或3ds Max,卸载其中一个后,所有相关文件的图标都变成了丑陋的默认样式。这其实是注册表里DefaultIcon键值被清除导致的。手动在HKEY_CLASSES_ROOT下为对应文件类型补上这个项,再用Resource Hacker从exe中找出正确的图标ID,就能让图标恢复原样。

Arnold to Maya MultiSub Shader

2018.07.23

在 Maya 中使用 Arnold 时,借助 aiSwitch 节点与 aiUserDataFloat 配合,可以按 ID 为不同物体分配不同材质。给每个物体的 Shape 节点添加一个名为 mtoa_constant_index 的浮点属性,设定各自的索引值,aiSwitch 便会根据该索引输出对应的 shader,实现一套材质球控制多个模型外观的效果。

加速Maya开启与关闭的方法

2018.07.16

Maya 2016 之后的版本启动变慢,往往是因为新增的 Cloud 登录组件在后台拉起了多个 Chromium 进程,即使使用节点锁定许可也无法跳过。设置 MAYA_DISABLE_CLIC_IPM、MAYA_DISABLE_CIP 和 MAYA_DISABLE_CER 这几个环境变量,就能把启动时间从 38 秒降到 14 秒,关闭时间也从 15 秒缩到 5 秒。

V-Ray环境变量问题

2018.06.26

安装 V-Ray for Maya 后,插件看似正常加载,渲染器列表里却找不到它,Deadline 也会抛出找不到环境变量的错误。这通常是因为系统没能及时刷新安装时写入的环境变量。遇到这种情况,先试试注销再重新登录,往往就能让变量生效。

Maya2017无法运行designer.exe

2018.06.20

Maya 2017 的 designer.exe 有时会突然罢工,弹出一个错误提示。在 Autodesk 论坛上找到了一个简单的修复方法:把安装目录下 qt-plugins 里的 platforms 文件夹复制到 bin 目录中,熟悉的界面就回来了。

使用V-Ray Denoiser tool降噪

2018.05.06

动画序列降噪时,独立版 V-Ray Denoiser Tool 比内置降噪器更可靠,因为它会混合前后帧来抑制闪烁。顺手记下了 vdenoise 的命令行用法和通配符示例,方便直接套用。

Mtoa arnoldAOVChildSelector注册失败

2018.02.01

Mtoa 提示 arnoldAOVChildSelector 注册失败,通常是因为 Maya 的首选渲染图层设置仍为传统 Render Layers,导致无法注册面向新 Render Setup 的内容。如果项目并未使用 Render Setup,这个错误可以安全忽略。

修改默认的Mtoa渲染设置及Drivers

2018.02.01

想让 Mtoa 每次启动都自动套用你偏好的渲染设置?利用 hooks.py 里的钩子函数,在 userSetup.py 中重写 setupOptions 和 setupDriver,就能把 AA 采样、伽马值、光线深度等参数固定下来,还能默认开启 Merge AOVs。省去重复调整的麻烦,适合需要统一渲染配置的团队。

windows7上编译Pixar USD

2017.11.10

在 Windows 7 上编译 Pixar USD 的完整过程,从安装 Visual Studio、Python 等必备工具,到获取源码、修正编译脚本,再到配置 Maya 插件所需的环境变量,每一步都有清晰指引。

MtoA Relative paths for standins

2017.11.01

在 MtoA 里给 Standin 指定路径时,直接用 /Dog.ass 这种相对路径就可以,它会基于项目目录或者 Procedural Search Path 来解析。

Yeti and UDIM

2017.10.23

在 Yeti 里加载 Mari 的 UDIM 贴图,纹理路径用 <UDIM> 占位符即可。U 坐标保持原样,但 V 坐标需要换成 ($t)+1-($t-floor($t)),否则 UDIM 编号超过 1001 时会出现意料之外的结果。

WindowBox Shader

2017.10.18

Julius Ihle 的 WindowBox Shader 用一张贴图在平面上模拟室内透视,完美匹配相机,特别适合大型城市场景。它不参与光照反射计算,能大幅减少模型和渲染压力,支持 PRman、V-Ray、Arnold 和 Blender,是一种高效的 Interior Mapping 实现。

OctaneRender for Maya Bubble Shader

2017.09.08

在 Maya 中利用 OctaneRender 3.06.4 制作气泡着色器时,发现可以直接在渲染相机上叠加特效与调色,跳过了后期合成,流程非常轻快。

maya2011及以上安装时候可能遇到的问题

2017.09.02

有时候破解 Maya 不小心搞错了步骤,再打开就看不到激活窗口,只弹出一个 License was not obtained 的报错。这时候别慌,去 Windows 服务里把 FLEXnet licensing service 停掉,删掉 C:\ProgramData\FLEXnet 文件夹,再启动服务,一般就能恢复正常。

MtoA2.0使用osl

2017.04.16

Arnold 5.0 开始支持 OSL,MtoA 2.0 也同步跟进了。设置一个环境变量 ARNOLD_PLUGIN_PATH 指向 OSL 目录,把 .osl 或 .oso 文件放进去,Maya 启动后自动编译,Hypershade 里就能直接使用这些节点。

Arnold for maya设置per-light AOVs和per-Shadow AOVs

2016.11.17

记录一个在Maya中为Arnold设置逐灯光AOV和逐阴影AOV的实用流程。创建对应的light_group与shadow_group AOV,再给每盏灯的Shape节点添加mtoa_constant属性并指定不同ID,就能在合成阶段灵活控制各灯光的贡献。注意该方法适用于Arnold 4及更早版本,并需要提前安装alshader。

V-Ray alsurface shader

2016.09.23

V-Ray 用户现在也能用上 alSurface 了。ChaosGroup 放出了 v0.2b-alpha 版本,基于 Anders Langlands 的开源着色器编译,还在持续更新。这个着色器在 Arnold 那边已经相当成熟,免费又好用,很多工作室都在用。目前 V-Ray 版还缺折射支持,但值得关注。

MAYA2016以上版本Hypershade切换为旧版本模式

2016.09.13

Maya 2016 之后的 Hypershade 默认节点视图对老用户不太友好,还更吃资源。设置环境变量 MAYA_ENABLE_LEGACY_HYPERSHADE=1 并配合一段 MEL 命令,就能把 Work Area 和经典布局找回来。

maya vray渲染细分工具

2016.08.17

一个Maya V-Ray 渲染用的细分小工具,MEL 脚本写了个简单面板,选好最大细分值点一下 apply,就能给场景里选中的模型批量加上 vray_subdivision 和 vray_subquality 那套属性。

Arnold创建light passes

2016.03.23

在 Arnold 里用 alshader 做 light passes 很方便,它的 AOV 预设了 light_group。添加 light_group AOV 后,给灯光的 Shape 节点加上 mtoa_constant_lightGroup 属性,让值与 AOV 编号对应,就能渲染出独立的灯光通道。

Arnold MatCap Shader

2015.11.24

在 Arnold 里折腾 MatCap 听起来有点多余,但偶尔为了统一镜头或者做点卡通风格的效果,用简单的法线方法就能搞定,而且渲染飞快,丢给合成也省事。

VRay PBR Shader

2015.10.24

分享一个基于 VRayMtl 的 PBR 着色器设置,把原本分散的 diffuse 与 reflection 属性合并为 diffuse、gloss、metalness、specular 四个滑块,对塑料、金属和粗糙表面更友好。已内置伽马校正,反射采用 GGX,菲涅尔曲线为固定近似,需要时可替换更精确的曲线。

Atom as Python Editor for Maya

2015.09.24

用 Atom 写 Maya Python 脚本比在内置编辑器里敲代码顺手得多。安装对应的扩展包,再在 userSetup.py 里加一行 commandPort,就能把代码直接发到 Maya 里运行,调试起来很流畅。

清除MAYA被锁定的未知节点

2015.08.24

在清理 Maya 场景时,常会遇到被锁定的未知节点无法直接删除。这里有两段 MEL 脚本,一段基于当前选择手动清除,另一段自动遍历场景中所有未知节点并解锁删除。

VRay GGX材质实例:更写实的高光

2015.08.17

Neil Blevins 用手机实拍与 V-Ray 渲染对比,演示了 GGX 着色器如何产生更写实的金属高光。相比传统的 Ward 或 Blinn,GGX 能呈现中心锐利、衰减绵长的反射,配合 Glossiness 与 Tail 参数可精细控制高光形态。

GGX Shader for Vray

2015.08.16

Vray 3.1 带来的 GGX 着色器,让反射表现上了一个台阶。它基于微表面模型,相比传统的 Phong 或 Blinn,高光峰更锐利、拖尾更长,同等光泽度下细节丰富得多。从各向异性到复杂 HDR 场景,GGX 都能给出很漂亮的表面反射。记住它是个纯反射的 BRDF 模型,不涉及折射。

Python scripts for Subdivision and Texture Input Gamma in Vray for Maya

2015.08.12

V-Ray for Maya 用户经常需要批量设置纹理 Gamma 和细分属性。这里有两个现成的 Python 脚本,选中节点后运行,就能自动添加对应的 V-Ray 属性,省去手动调整的麻烦。

Vray Render Elements UV and Point Position

2015.08.12

Vray for Maya 一直没有内置的 UV 和点位置渲染元素,而 3ds Max 早已支持。这里提供两段脚本, ExtraTex 配合 samplerInfo 节点,快速输出 UV 和世界坐标通道,方便后期合成使用。

Russian Roulette sampling

2015.06.28

alSurface 着色器为 Arnold 引入的 Russian Roulette 采样,会在每次光线交互时随机决定计算反射还是折射,而不是两者都算。一个仅靠门窗进光的室内场景测试里,渲染时间直接从 131 分钟降到 59 分钟,画面质量几乎看不出差别。对于玻璃这类材质,这种策略能明显提速,且不需要牺牲效果。

Maya Mental ray 分布式渲染

2015.06.23

有人问到 Maya mental ray 分布式渲染的做法,我把配置要点记了下来。需要单独安装 Satellite,确保版本对应,然后开启服务、统一端口,最后在 maya.rayhosts 里填入渲染节点信息。

关于MAYA RenderLayer批渲报错

2015.03.23

Maya批渲染时如果遇到RenderLayer切换报错,提示引用场景中存在缺失节点的覆盖,可以尝试执行 fixRenderLayerOutAdjustmentErrors 命令快速修复。

Auto UdimName

2015.02.25

一段在 Maya 里自动处理 UDIM 纹理路径的小脚本,把文件节点里的具体编号替换成 udim 占位符,并顺手修正项目路径。对 Arnold 和 V-Ray 的大小写差异也做了区分。

maya2013 mental ray使用内置的IBL

2015.02.23

Maya 2013 的 mental ray 内置 IBL 依然是个很实用的方案,配合几行脚本就能保证 BSDF 计算正确。使用 mia_material 时留意一下设置,可以有效减少噪点,mentalrayIblShape 里也记得关掉 light emission。

Arnold ass Dso

2014.11.24

在 Arnold 的 .ass 场景描述文件里直接嵌套另一个 .ass 或其他格式的文件,这个小技巧能简化一些流程上的引用管理。

Point-Based Ambient Occlusion

2012.11.29

在 3Delight 里用点云烘焙实现环境光遮蔽,渲染快且平滑。记录从 ptc_write 烘焙到 ptc_occlusion 渲染的完整步骤,调整 maxsolidanglevalue 能让遮蔽更柔和,maxdistvalue 控制衰减范围。