MetaBox/Scripts/Animation/studiolibrary/DOCS.md
2025-01-14 03:08:08 +08:00

5.8 KiB
Raw Permalink Blame History

请随意根据需要改进此页面。谢谢。

索引

常见问题

另请参阅常见问题解答。

https://github.com/krathjen/studiolibrary/labels/FAQ


如何从代码运行

import studiolibrary

studiolibrary.main()

顶部


如何进行开发时重新加载

此代码在加载之前移除所有先前导入的Studio Library模块和缓存。

提示您还可以在单击货架按钮时按住“Shift”键以重新加载模块。


import studiolibrary
studiolibrary.reload()


import studiolibrary
studiolibrary.main()

顶部


如何从代码设置名称和路径

创建并显示一个名为“MY_PROJECT - Anim”的库指向自定义路径。

import studiolibrary

studiolibrary.main(name="MY_PROJECT - Anim", path="P:/MY_PROJECT/studiolibrary/anim")

顶部


如何创建本地和共享库

创建并显示一个共享库和一个本地库。

import studiolibrary

studiolibrary.main(name="Local", path="C:/temp/studiolibrary/")

studiolibrary.main(name="Shared", path="P:/shared/studiolibrary/")

顶部


如何创建多个库实例

在此示例中,我们为动画部门、预览部门和本地临时文件夹创建一个库。

创建三个库并仅显示第三个。您可以通过设置菜单访问其他库。

import studiolibrary

studiolibrary.main(name="Local", path="C:/temp/studiolibrary", show=False)
studiolibrary.main(name="MY_PROJECT - Anim", path="P:/MY_PROJECT/studiolibrary/anim", show=False)
studiolibrary.main(name="MY_PROJECT - Previs", path="P:/MY_PROJECT/studiolibrary/previs")

顶部


如何为多个项目创建库

在为多个项目实现Studio Library时我们可以获取当前项目名称然后设置名称和路径。

import studiolibrary


# 您可以使用环境变量或内部Python模块来获取项目名称。

project = "MY_PROJECT"


path = "/shared/libraries/" + project + "_Library"

name = project + " Library"

studiolibrary.main(name=name, path=path)

顶部


如何为多个项目设置库

import studiolibrary

libraries = [
    {"name":"Project1", "path":r"D:\Library_Data", "default":True, "theme":{"accentColor":"rgb(0,200,100)"}},

    {"name":"Project2", "path":r"D:\Library_Data2"},

    {"name":"Temp", "path":r"C:\temp"},

]


studiolibrary.setLibraries(libraries)

studiolibrary.main()

顶部


如何调试“加载数据时没有对象匹配”

确保在设置菜单中选中“调试模式”。应用姿势后,它应该在脚本编辑器中打印任何奇怪的行为。这可能会使应用姿势变得更慢。

您可能会看到类似以下内容...

// mutils : 找不到匹配的目标对象 ...
// mutils : 加载函数耗时 0.38400 秒 /

顶部


如何修复具有未知节点的场景

未知节点是因为缺少插件。修复此问题的简单方法是在Python脚本编辑器中执行以下代码。另一种方法是找到缺少的插件并确保它已加载。

# 删除当前场景中的所有未知节点

import maya.cmds

n = maya.cmds.ls(type="unknown")

if n:

    maya.cmds.delete(n)

顶部


如何锁定和解锁特定文件夹


import studiolibrary


path= "C:/MY_PROJECT/studiolibrary/anim"
name = "MY_PROJECT - Anim"

superusers = ["kurt.rathjen"]


# 解锁所有文件夹。这是默认行为。
studiolibrary.main(name=name, path=path)


# 除非您是超级用户,否则锁定所有文件夹。
studiolibrary.main(name=name, path=path, superusers=superusers)


# 此命令将仅锁定路径中包含“Approved”一词的文件夹。
studiolibrary.main(name=name, path=path, superusers=superusers, lockFolder="Approved")


# 此命令将锁定所有文件夹除了路径中包含“Users”或“Shared”一词的文件夹。

studiolibrary.main(name=name, path=path, superusers=superusers, unlockFolder="Users|Shared")

顶部


如何手动安装

下载

从以下链接下载并解压缩studiolibrary.zip文件。

www.studiolibrary.com

安装

  1. 解压缩下载的studiolibrary.zip文件。

  2. 将下面的Python代码复制到Maya Python脚本编辑器中。确保选项卡为Python而不是MEL。

  3. 在Python代码中更改路径变量为studiolibrary文件夹。

  4. Ctrl + Enter运行。

  5. 将Python代码拖到货架上。

# Python代码

import os
import sys
   

# 3. 用解压后的`src`位置替换此路径。 

path = r"C:\Users\USER\Downloads\studiolibrary\src"

   

if not os.path.exists(path):
   raise FileNotFoundError(r'源路径不存在!')
   
if path not in sys.path:

    sys.path.insert(0, path)
   

import studiolibrary

studiolibrary.main()

顶部