领40元无门槛渲染券,体验高速云渲染!

无需充值可试渲,支持3ds Max,Maya,C4D,Blender,V-ray,Redshift,Arnold,Corona等主流CG软件和插件

注册领取
40元渲染券

maya中reference alembic读取不到的原因和解决方法

2019-09-29 09:55:09

一, 问题描述 在maya中使用alembic 缓存时,一般来说,一是直接import 到场景,二中通过maya 的reference,参考到场景中。出问题的是在reference到场景的情况。

GIF

GIF (2)

在使用reference abc缓存的过程发公司的多台机器出现reference的abc有的能正常加载,有的加载不了,打开场景abc没有加载。通过查找原因,发现能正常加载reference abc的机器上的AbcImport插件是自动加载的,而不能正常加载abc缓存的机器的插件是没有加载的。 现在有两个场景一个是直接import abc的场景,一个是reference abc的场景。

clipboard

在不加abc 插件的情况下:

20190927 113530 001

import abc的场景打开后abc加载的是正常的。而reference abc的场景,在打开后场景中是空的,abc没有正常加载上。 在加AbcImport插件的情况下: import abc的场景和reference abc的场景,打开后abc缓存都能正常加载。 二,原因解析 前面我们特意把场景存成ma的格式,就是这个原因就是ma里。 用notepad++ 这种文本工具打开ma场景,我们可以看到,在maya场景中他会先把场景中用到的插件给requires 下:

clipboard (1)

这样在打开场景的时候,有requires 插件,会把插件自动加载上,如果场景中有相应的插件的节点,节点就可以正常读取。上面的这个是import abc的ma 场景。 而且在有reference文件的场景中:

clipboard (2)

可以看到reference文件是在requires之前的,导致reference的abc缓存不会触发requires 插件,没有AbcImport插件,abc 的reference就有问题不能正常加载。

三解决办法 找到了原因,解决办法就是让AbcImport在场景打开前能自动加载上。说几个方法: 1,在一台机器,打开maya后,把AbcImport插件的自己加载勾上,这样,在maya打开时AbcImport插件就会自动加载,中需要场景的requires去触发来加插件。

20190927 113530 002

2,在maya的userSetup.mel里写个AbcImport插件的自动加载 catch(loadPlugin "AbcImport");

clipboard (3)

3,或者直接在reference场景的ma文件里在reference节点前加个requires : requires -nodeType "AlembicNode" "AbcImport" "1.0";

clipboard (4)

小结: maya的ma格式的场景文件,是可以看到整个场景用mel语言对场景的描述的,在一些特定的情况,可通过用文本工具直接打开ma文件来编辑场景。

以下内容由支持Maya云渲染的Renderbus渲染农场整理提供

上一篇:如何进行C4D预设,在c4d里改了设置如何同步到其他机器

下一篇:Maya重塑最终幻想(FFVII)蒂法:角色制作指南

happy new year
点击查看