症状
您已在Nuke中的Edit > Preferences...下设置了路径替换,但在命令行渲染或 Python 终端模式期间文件路径未正确替换。您的路径替换如下所示:
原因
文件路径可能无法在命令行渲染或 Python 终端模式下正确替换,因为当Nuke在 GUI 模式之外运行时不会加载首选项。
终端模式(无 GUI)允许您在不启动 GUI 的情况下输入 Python 命令。
在此模式下会显示>>>命令提示符。命令行模式(批处理模式)允许您在终端中运行命令来渲染Nuke脚本(没有 GUI)。
请参阅有关命令行操作的Nuke在线帮助以获取更多信息。
解决
要解决此问题,您可以使用命令行参数--remap
,它将获取路径替换对的列表,并且仅适用于活动的Nuke会话,或者在init.py文件中设置filenameFilter回调以使其在所有Nuke会议。
当前Nuke会话
以下是在终端模式下运行Nuke时如何使用该标志的示例:
nuke -t --remap "X:/path,Y:,A:,B:/anotherpath"
在哪里:
nuke
引用适当的Nuke可执行文件安装位置:Windows :C:\ Program Files \ Nuke14.0v5 \ Nuke14.0.exe
OSX :/Applications/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0
Linux :/usr/local/ Nuke 14.0v5/ Nuke 14.0- 任何以
X:/path
开头的路径都会转换为以Y:
开头。 - 任何以
A:
开头的路径都会转换为以B:/anotherpath
开头。
要替换不同操作系统之间的路径,您的命令将如下所示:
nuke -t --remap "/home/project/shot/,C:/project/shot"
注意:路径映射仅应用于当前Nuke会话,并且不会影响运行Nuke GUI 时使用的 Preferences.nk 文件。
多个Nuke会话
要使路径替换在多个Nuke会话中持续存在,您可以使用filenameFilter回调。以下示例展示了如何针对与上一示例类似的场景进行设置:
import nuke
def myFilenameFilter(filename):
filename = filename.replace( 'X:/path', 'Y:/' )
filename = filename.replace( 'A:/', 'B:/anotherpath' )
return filename
nuke .addFilenameFilter(myFilenameFilter)
要在所有终端会话中执行此代码,您需要将该代码添加到init.py 文件中。
有关filenameFilter回调的更多信息也可以在Nuke Python 开发人员指南中找到。
我们很遗憾听到
请告诉我们