症状
您已在Nuke “编辑”>“首选项...”中设置了路径替换,但在命令行渲染或 Python 终端模式下,文件路径并未正确替换。您的路径替换应如下所示:
原因
在命令行渲染或 Python 终端模式下,文件路径可能无法正确替换,因为当Nuke在 GUI 模式之外运行时,首选项不会加载。
终端模式(无图形用户界面)允许您在不启动图形用户界面的情况下输入 Python 命令。此模式下会显示>>>命令提示符。命令行模式(批处理模式)允许您在终端中运行命令来渲染您的Nuke脚本(无需图形用户界面)。
有关更多信息,请参阅Nuke在线文档的命令行操作部分。
解决
为了解决这个问题,你可以使用命令行参数--remap ,它会接受一个路径替换对列表,并且只对当前活动的Nuke会话有效;或者在你的init.py文件中设置filenameFilter回调,使其在所有Nuke会话中持久有效。
当前Nuke会议
以下是在终端模式下运行Nuke时如何使用该标志的示例:
nuke -t --remap "X:/path,Y:,A:,B:/anotherpath"
在哪里:
-
nuke指的是Nuke可执行文件的正确安装位置:Windows :C:\Program Files\Nuke16.0v4\Nuke16.0.exe
OSX :/Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/Nuke Nuke
Linux :/usr/local/ Nuke 16.0v4/ Nuke 16.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 开发人员指南。
我们很遗憾听到
请告诉我们