美文网首页
shotgun 导出相机插件

shotgun 导出相机插件

作者: 剑客_2bd2 | 来源:发表于2019-09-30 09:46 被阅读0次

CG流程中, 动画文件经常需要导出相机给灯光使用, 在publish时自动生成一个camera文件, 放到publish/maya/cameras 目录下

写了个shotgun toolkit 插件,导出相机:


20181206174014996.jpg

核心代码:

    def finalize(self, settings, item):
        publisher = self.parent
        path = item.properties.path
        path_info = publisher.util.get_file_path_components(path)
        publish_folder = path_info["folder"].replace('work','publish').replace('maya','')
        publish_folder = os.path.join(publish_folder,"cameras")
        self.parent.ensure_folder_exists(publish_folder)
        filename = path_info["filename"].replace('Animation','cam').replace('Layout','cam').replace('animation','cam').replace('layout','cam')
        filename_path = os.path.join(publish_folder, filename)        

        cameras = cmds.ls(type=('camera'), l=True,v=1)
        #[u'|camMain|camMainShape', u'|camera1|cameraShape1']        
        if len(cameras) > 0:              
            cameras_transforms = map(lambda x: cmds.listRelatives(x, parent=True)[0], cameras)
            #[u'camera1', u'camMain']
            cmds.select(cameras_transforms)
            try:                
                cmds.file(filename_path,force=1,options='v=0;',type='mayaAscii',preserveReferences=1,exportSelected=1)
            except Exception as e:
                errorTxt = u"%s 生成相机出错 " % e
                print(errorTxt)                
                self.logger.error(errorTxt)   
            finally:
                self._publish_shotgun_data(settings, item, filename_path, filename)

欢迎同行交流 QQ:316853809

原文链接:https://blog.csdn.net/qq_28171389/article/details/84862127

相关文章

网友评论

      本文标题:shotgun 导出相机插件

      本文链接:https://www.haomeiwen.com/subject/jwqructx.html