Shotgun ToolKit:Maya load and update Substance Painter Textures
概述:
substance painter 发布的贴图形式如下图,一个带版本的文件夹里存放着贴图文件,在maya中,原生态的shotgun loader 和shotgun breakdown无法加载和更新 subtance painter 贴图,需要额外的配置才行。经过一段时间的研究,实现了maya加载substancepainter 的贴图文件,并实现了版本管理,现把相关配置分享给大家。
配置tk-substancepainter.
url: https://github.com/diegogarciahuerta/tk-substancepainter
配置方法:tk-substancepainter的初始配置根据路径中帮助文档就可以了,这里不再赘述。
Part1:load Substance Painter Textures
加载 Substance Painter 发布的贴图
Substance Painter 发布的贴图类型有两种,如下图:
一种是“Texture”,发布的是单个的文件,一种是“Texture Folder”,发布多个贴图文件,并存放在一个带版本号的文件夹。本文中要介绍的就是“Texture Folder” 这种类型的加载和更新
从template.yml中也可以看出:
自定义配置:
配置maya loader:
在tk-multi-loader2.yml中找到settings.tk-multi-loader2.maya然后在其中添加 Texture Folder的类型:
添加之后,打开tk-maya_actions.py,maya如何加载其他环节的文件的功能在这里设置,默认在
config/hooks/maya-multi-loader2
Maya在加载贴图文件时,会为当前贴图创建一个Texture Node(是一个file节点)如果加载的路径是一个文件夹的话,无法正确创建Texture Node,而需求是需要把文件夹的每个贴图加载并创建Texture Node,下面直接上图,看如何修改:
打开tk-maya_actions.py:
根据图中示意,找到_create_texture_node
可以看到,默认直接输入路径,如果是一个文件夹路径,就会创建出不正确的Texture Node.
思路:如果当前publish type为Texture Folder,则判断加载的是一个文件夹,根据需求,需把文件夹内的贴图文件都加载进来,并创建Texture Node。
①重写_create_texture_node函数:
从sg_publish_data中可以获取published_file_type.
②添加_create_texture_nodes_byfolder(),用来批量创建Texture Node.
备注:substance painter 中导出贴图时,要勾选Export shaders parameters
这样导出的文件中会包含一个json文件,从这个文件中可以分出当前导出的是普通的贴图,还是UDIM的贴图。
至此,加载substancepainter 发布的贴图的功能就配置完成了。
Part2: update Substance Painter Textures
https://blog.csdn.net/qq_20672297/article/details/100184687