本操作将所有场景中的外部文件路径变为相对路径,以方便共享项目或移动文件。
bpy.ops.file.make_paths_relative(directory="", copy=False, files=[], missing="NONE", relative_lib_path="", path_mode='AUTO')
directory
(string): 需要处理的文件夹路径,默认为 ""
,表示处理当前项目的所有文件。copy
(boolean): 是否需要复制文件而不是移动文件, 默认为 False
。files
(string[]): 需要处理的特定文件列表,可以是单个路径字符串或路径字符串的列表,默认为 []
。missing
(string): 如何处理丢失的外部文件引用,默认为 'NONE'
。relative_lib_path
(string): 在移动场景中的外部文件时,将其相对于该路径路径,默认为 ""
。path_mode
(string): 确定相对路径是使用blend文件所在文件夹( 'AUTO'
,默认值 )还是使用使用场景中包含纹理的obj( 'OBJECT'
)。{'FINISHED'}
: 成功。将当前项目中的所有外部文件路径变为相对路径:
import bpy
bpy.ops.file.make_paths_relative()
将指定目录内的所有外部文件路径变为相对路径:
import bpy
directory = "/path/to/directory"
bpy.ops.file.make_paths_relative(directory=directory)
将指定文件列表内的所有外部文件路径变为相对路径:
import bpy
files = ["/path/to/file1.blend", "/path/to/file2.obj"]
bpy.ops.file.make_paths_relative(files=files)
将指定目录内的所有外部文件路径变为相对路径,并将所有丢失的链接忽略:
import bpy
directory = "/path/to/directory"
bpy.ops.file.make_paths_relative(directory=directory, missing="IGNORE")
按相对路径移动文件:
import bpy
directory = "/path/to/directory"
relative_path = "/path/to/lib"
bpy.ops.file.make_paths_relative(directory=directory, relative_lib_path=relative_path)
RuntimeError
: 操作无法完成,通常是由于文件无法找到或路径无效导致的。