The Foundry HIERO 的设置与 NUKE 略有不同。
HIERO 有一个core
模块。您将在__init__.py
文件中看到它:
import FnRedirect
import FnPythonFixes
import core
import ui
try:
if hasattr(core, "taskRegistry"):
import importers
import exporters
except ImportError as e:
pass
我在 Mac 上运行 HIERO 和 NUKE STUDIO,所以__init__.py
包内容中有 HIERO 文件的完整路径:
/Applications/Nuke10.5v5/Contents/MacOs/pythonextensions/site-packages/hiero/__init__.py
您需要使用以下方法导入此模块:
import hiero.core
或使用对core
包的引用:
from core import *
要查找 HIERO 的当前路径,您必须在其脚本编辑器中运行此行:
print hiero.core.pluginPath()
单击此链接以获取更多详细信息:Hiero 的环境设置
所有这些说明都适用于 macOS 10.9 及更高版本。这里有两个步骤:第一个是终端模式,第二个是 UI 模式。
区块 1:setup for Terminal Sessions
您需要在您的区域手动创建.hiero
目录。Home
启动时运行 Python 的推荐默认位置是:
~/.hiero/Python/启动
~/.hiero/Python/StartupUI
在终端中输入以下行bash
(当您在用户目录中时):Home
mkdir .hiero/
然后:
mkdir .hiero/Python/
接着:
mkdir .hiero/Python/StartupUI/
然后导航到Home
目录:
cd ~
并检查:
ls -a
您还可以使用 environment variable 指定任意数量的用户定义路径HIERO_PLUGIN_PATH
,就像标准的 UnixPATH
环境变量一样。
为此,您需要设置一个environment variable
in .bash_profile
。要在终端PICO
编辑器中运行,只需键入(记住您需要管理员的sudo
命令密码):
sudo pico .bash_profile
并将这三行粘贴到其中(更改swift
并<yourName>
保存此文件):
echo HIERO environment var is set...
export HIERO_PLUGIN_PATH=/Users/swift/.hiero/Python/StartupUI/
export PATH=$PATH:$HIERO_PLUGIN_PATH
写出一个文件ctrl o
退出 pico 编辑器ctrl x
重启终端
在终端中,您可以打印此环境变量键入:
printenv HIERO_PLUGIN_PATH
您应该在该StartupUI
目录menu.py
中放入任何一组xxxx.py
或xxxx.pyc
文件,以及__init__.py
文件。
现在您可以/Users/swift/.hiero/Python/StartupUI/
在Terminal Mode
.
块 2:setup for UI Sessions
要指定 HIERO 在加载插件时搜索的当前路径,您需要__init__.py
使用以下行创建文件:
import hiero.core
path='/Users/swift/.hiero/Python/Startup/'
hiero.core.addPluginPath(path)
之后在文件夹Python/Startup/
下创建子目录~/.nuke/
。
这不是一个错误:我输入了.nuke
.
然后将此__init__.py
文件放入/Users/swift/.nuke/Python/Startup/
目录中。
如果可以,请重新启动 HIERO(或 NUKE STUDIO)。
之后启动 HIERO 或 NUKE STUDIO 并运行
print hiero.core.pluginPath()
在 HIERO 的脚本编辑器或 NUKE STUDIO 的脚本编辑器中执行命令,您将看到以下结果:
之后,您将在目录中找到新__init__.pyc
文件。/Users/swift/.nuke/Python/Startup/
启动 HIERO 时发现的每个包或模块都会导入并添加到内置包中hiero.plugins
。
测试 1:custom_guides.py
我没有 HIERO 的商业版本,所以我使用 NUKE STUDIO NC测试了custom_guides.py
脚本(在此处找到)。
我放置custom_guides.py
在~/.nuke/Python/Startup
目录中,然后在init.py
位于~/.nuke
目录中的 NUKE 文件中添加了两行。
import nuke
nuke.pluginAddPath("./Python/Startup")
我唯一能说的:"it works"
做和我一样的动作,它会为 HIERO 工作。
查看safe_zone
和masking_ratio
下拉菜单。它们是不同的:之前和之后。
上传custom_guides.py
脚本前:
上传custom_guides.py
脚本后:
# file custom_guides.py contains these lines:
viewer_masks = [
hiero.ui.guides.MaskGuide("NTSC", 0.91),
hiero.ui.guides.MaskGuide("PAL", 1.09),
hiero.ui.guides.MaskGuide("NTSC_16:9", 1.21),
hiero.ui.guides.MaskGuide("PAL_16:9", 1.46),
hiero.ui.guides.MaskGuide("Cinemascope 2:1", 2.0)
]
测试 2:web_browser.py
我将web_browser.py
文件放在~/.nuke/Python/Startup
目录中。这个 Python 脚本使用 PySide Qt 编写的 Web 浏览器创建可停靠面板。
我没有 HIERO 的商业版本,所以我使用 NUKE STUDIO NC测试了web_browser.py
脚本(在此处找到)。