Q100142:如何在 Nuke Studio 和 Hiero 启动时执行 Hiero Python 代码

概括

本文解释了如何放置包含Hiero特定 Python 命令的脚本,以确保这些命令在Nuke StudioHiero启动时能够正确执行。

更多信息

要在Nuke StudioHiero启动时运行自定义Hiero Python 代码,您需要将代码添加到Hiero文件结构中以下 Python 自定义位置之一:

~/.nuke/Python/Startup

~/.nuke/Python/StartupUI

注意:上述文件夹不会自动创建,需要在您的 .nuke 目录中手动创建一次。有关访问 .nuke 目录的更多详细信息,请参阅本文: Q100048:查找默认的 .nuke 目录

StartupStartupUI文件夹的区别在于扫描顺序。系统会先搜索所有Startup文件夹,然后再搜索所有StartupUI文件夹。因此,在决定将代码保存到哪个文件夹时,您可能需要考虑插件可能依赖的任何组件。

示例步骤:

  1. 创建一个新的文本文件,并将你的自定义Hiero Python 代码添加到其中。
  2. 将文件保存到~/.nuke/Python/Startup/<script_name>.py~/.nuke/Python/StartupUI/<script_name>.py
    注意:请确保在文件浏览器中显示文件扩展名,并确认文件扩展名是.py而不是其他扩展名,例如.txt 。将扩展名更改为.py时,您可能会看到一条警告,提示您即将更改文件类型,这可能会导致文件无法使用。请忽略此消息,因为.py扩展名是Nuke StudioHiero所期望的,它们都能识别。
  3. 启动Nuke StudioHiero ,您的自定义设置应该会自动加载。

注意:~/.nuke/menu.py~/.nuke/init.py文件中添加任何Hiero的 Python 代码,都会导致启动Nuke / NukeX / Nuke Studio / Hiero时出现以下错误: ImportError: No module named _fnpython

出现此错误的原因是_fnpython是一个私有模块,它在应用程序代码中创建(类似于_nuke ),而init.pyHiero的 Python 模块正确初始化之前执行。此错误已被报告为 bug,您可以通过以下 URL 关注并订阅更新:

ID 154593 - 在 .nuke 目录下的 init.py 或 menu.py 文件中添加“import hiero ”会阻止Nuke运行


终端模式:

遗憾的是,目前无法在终端模式下运行HieroNuke Studio ,但是,我们已提交内部功能请求,希望实现此功能,您可以参考以下内容:

ID 138339 - 为Hiero / Nuke Studio实现无头/终端模式

延伸阅读

有关在启动时执行Hiero Python 代码的更多信息,请参阅Hiero Python 开发人员指南的“ 环境设置”部分。

请点击此处查看有关 init.py 和 menu.py 文件的更多信息。

    我们很遗憾听到

    请告诉我们