• Jesse
    2019年1月17日 19:20

    概要

    file 不可撤销,可查询,可编辑

    Opening, Importing, exporting, referencing, saving, or renaming a file

    这个命令需要一个主参数用于指定动作。一些主参数同时使用可选参数来定制动作。

    该命令的主参数是:

    ttmeow_2019-01-17_19-16-28.png

    o/open 可被下列可选参数修改:

    • f/force:强制采取行动。(new,open,save,remove reference,unload reference)与removeReference一起使用,强制删除引用命名空间,即使它有内容。如果引用位于根命名空间中,则不能与 removeReference 一起使用。与 unloadReference 一起使用以强制卸载引用,即使引用节点已被锁定,也不会提示用户警告用户丢失编辑。
    • lad/laodAllDeferred此参数已过时,已被loadReferenceDepth参数替换。与open参数一起使用时,确定在读取文件时是否遵守deferReference参数。如果为true,则加载所有引用。如果传递false,则遵循deferReference参数。
    • lrd/loadReferenceDepth:用于指定应加载哪些引用。有效类型为“all”,“none”和“topOnly”,它们将分别加载所有引用,无引用和顶级引用。只能与o/openi/importr/referencelr/loadReference参数一起使用。当“none”与lr / loadReference一起使用时,仅执行路径验证。这可以用于替换引用而不触发重新加载。不使用loadReferenceDepth将加载与保存文件时相同的加载或卸载状态的引用。此外,lr/loadReference参数支持第四种类型“asPrefs”。这将强制根据存储在当前场景文件中的状态(如果有)加载任何嵌套引用。
    • lnr/此参数已过时,已替换为loadReferenceDepth参数。与open参数一起使用时,不会加载任何引用。与i / importr / referencelr/loadReference参数一起使用时,将仅加载最顶层的引用。
    • rnn/returnNewNodes:用于控制 open,import,loadReference和reference 操作中的返回值。它将强制file命令返回添加到当前场景的新节点列表。

    es/exportSelected 可被下列可选参数修改:

    • ch/constructionHistory:与exportSelected一起使用以指定是否应在导出中包含附加的构造历史记录。
    • chn/channels:与exportSelected一起使用以指定是否应在导出中包含附加通道。
    • con/constraints:与exportSelected一起使用以指定是否应在导出中包含附加约束。
    • exp/expressions:与exportSelected一起使用以指定是否应在导出中包含附加的表达式。
    • sh/shader:与exportSelected一起使用以指定是否应在导出中包含附加着色器。

    r/reference 可被下列可选参数修改:

    • dns/defaultNamespace:使用默认名称空间进行导入和引用。这是一个高级选项。如果设置,则在导入或引用时,Maya将尝试将导入或引用文件中的所有节点直接放入根(默认)名称空间,而不调用任何名称冲突解析算法。如果根命名空间中已存在任何新对象的名称,则将导致错误。此参数的用户负责在Maya之外创建名称冲突解决机制,以避免此类错误。注意 :此参数仅用于通过API编写的自定义文件转换器。使用风险由您自己承担。
    • dr/deferReference:与reference参数一起使用时,此参数确定是否加载了引用,或者是否延迟加载。C:默认值为false。问:查询时,如果引用延迟,则此参数返回true;如果引用未延迟,则返回false。如果它与rfn / referenceNode一起使用,则rfn参数必须在q之前。
    • gr/groupReference:仅与ri参数一起使用。用于在单个转换下对所有导入/引用的项进行分组。
    • gl/groupLocator:仅与rgr参数一起使用。用于将groupReference的输出分组到定位器下
    • gn/groupName:仅与gr参数一起使用。可选地用于设置将导入/引用的项目分组的变换节点的名称。
    • mnc/mergeNamespacesOnClash:与导入,引用或编辑参数一起使用时,此选项将阻止在Maya中已存在同名的名称空间时创建新的名称空间。默认值为false。例如,如果正在导入的对象“pSphere1”引用名称空间“ref”,并且已经在Maya中定义了名为“ref”的名称空间。如果mergeNamespacesOnClash为true,则将重用现有的“ref”命名空间,并将pSphere1移动到现有命名空间中;如果命名空间有另一个也称为“pSphere1”的对象,则导入的对象将使用增量编号(“pSphere2”)重命名。另一方面,如果mergeNamespacesOnClash为false,则将创建一个带有增量编号的新命名空间(在第一种情况下为“ref1”)并且pSphere1将被移动到“ref1”命名空间中。此参数还支持嵌套命名空间,例如,如果导入的对象“pSphere1”并且这次引用命名空间“ref:foo”并且mergeNamespacesOnClash为true,那么将重用现有的“ref:foo”并且对象将被移入“ref:foo”。此外,如果mergeNamespacesOnClash为false,则将创建新的命名空间“ref:foo1”,并将“pSphere1”移动到该新的命名空间中。将被重用,对象将被移动到“ref:foo”。此外,如果mergeNamespacesOnClash为false,则将创建新的命名空间“ref:foo1”,并将“pSphere1”移动到该新的命名空间中。将被重用,对象将被移动到“ref:foo”。此外,如果mergeNamespacesOnClash为false,则将创建新的命名空间“ref:foo1”,并将“pSphere1”移动到该新的命名空间中。
    • ns/namespace:要使用的命名空间名称,它将在导入和引用期间对所有对象进行分组。更改用于对指定引用文件中的所有对象进行分组的命名空间。必须使用“使用命名空间”选项创建引用,并且必须加载该引用。现有命名空间中包含的非引用节点也将移动到新命名空间。新命名空间将由此命令创建,但不能存在。旧名称空间将被删除。
    • rfn/referenceNode:此参数仅在查询期间使用。在MEL中,如果它出现在-query之前,那么它必须后跟一个场景的参考节点的名称。这将确定在-query之后出现的任何参数要查询的引用。如果场景中不存在命名的引用节点,则命令将失败并显示错误。在Python中,通过将引用节点的名称作为参数的值传递来获得等效行为。在MEL中,如果在-query之后出现此参数,则它不带参数,并将使该命令返回与作为命令参数给出的文件关联的引用节点的名称。如果文件不是引用或由于某种原因没有引用节点(例如,用户将其删除),则将返回空字符串。如果该文件不是当前场景的一部分,则该命令将失败并显示错误。在Python中,通过传递True作为参数的值来获得等效行为。在查询模式下,此参数可以接受值。
    • rpr/renamingPrefix:用作此文件中所有对象的前缀的字符串。此参数已替换为ns
    • sns/swapNamespace:只能与r/referencei/import参数一起使用。此参数将替换给定命名空间中出现的任何命名空间。这个命名空间“swap”将在引用文件时发生。它接受两个字符串参数。第一个参数指定要替换的命名空间。第二个参数指定替换命名空间。使用此参数,隐式启用名称空间,不能与deferReference一起使用。
    • srf/sharedReferenceFile:只能与r/reference参数和ns/namespace参数一起使用(没有前缀支持)。此参数修改-r/reference参数以指示该引用中的所有节点都应被视为共享节点。如果副本已存在,则不会创建这些节点的新副本。相反,共享节点将与现有节点合并。合并两个节点时发生的具体情况取决于节点类型。此参数不能与shd/sharedNodes一起使用。
    • shd/sharedNodes:此参数修改-r/reference参数以指示该引用中的某些类型的节点应被视为共享节点。所有共享节点都将放在默认命名空间中。如果默认名称空间中已存在副本,则不会创建这些节点的新副本,而是将共享节点与现有节点合并。合并两个节点时发生的具体情况取决于节点类型。通常,属性值不会合并,这意味着将保留在任何现有共享节点上设置的值,并且将忽略要合并的节点的值。有效选项是“displayLayers”,“shadingNetworks”,“renderLayersByName”和“renderLayersById”。这个参数是多用途的; 可以多次指定,例如,共享显示层和着色网络。两个着色网络只有在相同时才会合并:进入着色组的节点网络必须排列相同,同等节点具有相同的名称和节点类型。此外,如果网络是动画的或包含DAG对象或表达式,则它将不可合并。此参数不能与srf / sharedReferenceFile一起使用。
    • rnn/returnNewNodes:用于控制open,import,loadReference和reference操作中的返回值。它将强制file命令返回添加到当前场景的新节点列表。

    n/news/save 可被下列可选参数修改:

    • f/force:同上

    er/exportAsReference 可被下列可选参数修改:

    • ns/namespace:要使用的命名空间名称,它将在导入和引用期间对所有对象进行分组。更改用于对指定引用文件中的所有对象进行分组的命名空间。必须使用“使用命名空间”选项创建引用,并且必须加载该引用。现有命名空间中包含的非引用节点也将移动到新命名空间。新命名空间将由此命令创建,但不能存在。旧名称空间将被删除。
    • rpr/renamingPrefix:用作此文件中所有对象的前缀的字符串。此参数已替换为ns/namespace

    ea/exportAlles/exportSelected 可被下列可选参数修改:

    • f/force:同上
    • pr/preserveReferences:修改各种导入/导出参数,以便将引用作为实际引用导入/导出,而不是这些引用的副本。

    ean/exportAnimeas/exportSelectedAnim 可被下列可选参数修改:

    • f/force:同上

    ear/exportAllFromReferenceesa/exportSelectedAnimFromReference 可被下列可选参数修改:

    • f/force:同上
    • rfn/referenceNode:同上

    查询一个文件信息

    查询一个文件信息需要提供仅一个主参数,然后你可以选择提供一些次要参数来定制查询。

    主参数如下:

    ttmeow_2019-01-17_19-16-40.png

    dr/deferReference 可被以下次级参数修改:

    rfn

    exn/expandName, l/list, r/reference, sn/sceneName 可被以下次级参数修改:

    un, shn, wcn

    查询文件名称

    当我们查询一个文件的名称时,有好几种方式可以格式化结果:

    Resolved vs. unresolved name:

    当一个文件加载到 Maya 『列如:通过打开或引用』,提供的文件路径可能不是完整的。举例来说,可能是一个相对路径『比如:“scenes/myScene.ma”』,它可以包含环境变量『比如:“$PRODUCTION_DIR/myScene.ma”』,甚至可以是一个不存在于本地磁盘上的路径。在这些情况下,Maya 通过几种方式来填补路径并且在本地磁盘上找到文件。默认情况下,file 命令将会返回一个正确的文件名称『即,Maya 实际读取文件的位置』,但是如果提供了un/unresolved 参数,将返回未解析的文件『例如,最初指定的文件』。当提供带有环境变量的文件路径时,例如,使用rename 参数,环境变量应设置为相对路径,『例如,“/scenes/scenesSetA”』。不支持使用设置为绝对路径的环境变量『例如,“C:/scenes/”』。

    Full vs. short name:

    默认情况先 file 命令将会返回一个完整的文件路径,但是如果使用了 shn/shortName ,那么将仅返回文件名称。

    With vs. without copy number:

    当同一个文件多次加载到 Maya 中时『例如,通过两次引用同一个文件』,Maya 通过在文件名末尾追加一个副本号来区分各个副本。第一个记载文件时,不会附加副本号,第二次加载文件时,附加『{1}』,第三次使用『{2}』,依此类推。默认情况下,file 命令将返回附加了副本号的文件名,但是如果使用 wcn/withoutCopyNumber ,那么将返回没有副本号的文件名。

    Additional Details

    • file 命令通常需要文件名作为参数,如果没有指定,则使用根场景。
    • 有关详细信息和限制,请查阅各个参数说明。

    Return value

    string 大多数操作的指定文件的名称。 使用returnNewNodes参数时,将返回一个字符串数组,指示已读取的节点的名称。
    在查询模式中,返回类型基于附加的查询参数。

    限于文章的篇幅,我将在下面更新例子。

    ttmeow_2019-01-17_19-16-40.png

    PNG, 7.7 KB, jesse上传于2019年1月17日

    ttmeow_2019-01-17_19-16-28.png

    PNG, 8.8 KB, jesse上传于2019年1月17日