自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 使用Unreal C++ Api 添加自定义工具栏

这里写自定义目录标题使用Unreal C++ Api 添加自定义工具栏。新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入使用Unreal C++ Api 添加自定义工具栏。大多数使用UE的游戏公司或者影视公司基本上都会有

2021-10-25 12:51:05 724

原创 Unreal 调用python api自动创建文件夹

虽然大多数Unreal的开发者都是使用C++ 对Unreal 进行开发,但是作为程序员都知道C++ 是目前被公认的最难学习的语言,因此如果能够使用python操作Unreal来开发一些小的工具岂不是非常的nice,也能实现相同效果。但是也不得不承认想要开发Unreal必须要掌握C++, 下面介绍一下如何使用Unreal python api自动创建文件夹。首先想在Unreal里使用Python就必须加载Python的插件。在这里插入图片描述2.在OutPut Log里面切换到python编辑器,

2021-10-23 21:44:01 492

原创 Substance Designer安装插件

上篇博客写到创建自定义菜单但是当我把Substance Designer的关于python的环境变量添加到程序当中的时候发现创建了两个菜单并且两个菜单是相同的。于是开始找原因,不过在翻帮助文档的时候突然发现一个比较有用的信息,也就是把菜单当作插件来加载以及卸载这个问题就彻底解决了。于是就有了下面的codes:# -*- encoding: utf-8 -*-import sdfrom PySide2 import QtWidgets# Get the application and the UI

2021-07-10 19:08:19 977

原创 Substance Designer添加自定义菜单

Substance Designer添加自定义菜单初学SD,下面将要记录一下学习的心得希望对大家有所帮助,目前大多数影视以及游戏公司都在使用Substance Designer 或者Substance Paniter进行PBR材质贴图的制作,因此就需要开发一些关于Substance Designer的Pipeline 工具,下面笔者就简单介绍以下如何在Substance Designer中添加自定义菜单来方置自己公司TD或者TA开发的一些工具。笔者用的是SD2020(低的版本可能没有PySide)imp

2021-07-06 17:44:07 427 1

原创 Substance Painter插件添加

Substance Painter (以下简称sp)被越来越多的影视和游戏公司使用,所以为了提高艺术家的工作效率就需要像其他DCC软件一样开发一些比较实用的工具但是Sp和PS一样使用JavaScript语言和qml的UI进行开发,这就需要开发人员掌握开发语言。下面简单介绍一下,开发步骤。1.首先需要创建插件文件夹名称(例如 MCC-Tools)放在文档路径下(例如:C:\Users\mcc\Documents\Allegorithmic\Substance Painter\plugins)2.需要创建q

2021-06-27 22:19:36 1377

原创 nuke callback创建输出节点自动设置输出路径

在实际自作生产中为了提高自作的效率,往往需要开发一些自动化的工具,这样就能够大大的提高艺术家的制作效率,让艺术家花费更多的时间在艺术制作上而不是花在非艺术创作上,下面笔者给大家介绍一下如何使用nuke中的callback回调函数当艺术家创建Write输出节点时自动设置输出路径以及输出的参数设置。话不多说直接上代码示例:# -*- encoding: utf-8 -*-import osimport nukedef set_node_parameter(node): exr_output_

2021-06-13 18:13:10 1601

原创 使用ue4 python api添加自定义menu

使用ue4 python api添加自定义menu欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown

2021-06-10 14:33:37 881

原创 使用python添加katana自定义menu菜单栏

katana 现在在影视行业越来越流行,越来越受到重视,因此各大公司开始使用到影视后期灯光合成方向。下面笔者简单介绍如何使用katana pythonapi自定义menu菜单栏,将自己的工具添加到菜单栏里面。话不多说直接上代码:import UI4# get the main menu objectmain_menu_object = UI4.App.MainMenu.MainMenumain_menu = UI4.App.Layouts._PrimaryWindow.findChild(ma

2021-05-01 19:02:00 384

原创 Katana如何渲染序列

katana默认功能只能渲染单帧,但是有时候我们就需要渲染序列帧。这就需要进行脚本工具的开发,下面我就介绍一下如何编写渲染脚本。示例代码如下:from Katana import NodegraphAPI, KatanaFile, RenderManagerdef messageHandler(sequenceID, message): print message render_node_name = "Render" # 渲染节点的名称render_start_frame = 1 #渲

2021-02-10 12:21:05 655

原创 Katana中设置全局变量

Katana中设置全局变量 前言 越来越多的影视动画公司开始使用katana去进行lookdev的制作。主要原因大概是因为使用katana进行灯光和材质的制作相对于maya来说实在是太方便了,但是katana的使用又必须要有真正的开发人员进行开发,这样才能真正的发挥出katana的最大优势。下面介绍一下如何在katana中设置全局变量以供进一步对katana进行二次开发。import NodegraphAPIvalue_tuple = ("shot001", "shot002")var

2021-02-09 22:05:22 376

原创 重写pyqt4/pyside中的QTextEdit类实现ctrl+鼠标左键对内容进行缩放

在实际的Ui界面开发过程中为了实现一些比较方便的功能就需要对pyqt/pyside中的一些class进行重写。下面我就重写了QTextEdit类实现ctrl+鼠标左键对内容进行缩放。下面是重写的代码,博主使用的是PySide,你也可以使用PyQt:#!usr/bin/env python# -*- encoding: utf-8 -*-"""@author:MCC@file: __ini...

2019-09-13 12:44:47 783

原创 在maya侧边栏添加界面以及对界面进行布局

maya使用过程中经常会使用侧边栏工具,那么如何将自定义的工具添加到侧边栏里?下面这种方法将会解决这个问题。一下是代码示例:import maya.cmds as cmdsname = "customUI"try: cmds.deleteUI(name)#如果UI存在将会被删除except: passdef createCustomWorkspaceControlUI...

2018-12-19 16:26:28 1505

原创 如何查看运行后台程序出现的错误。

在写程序的过程中我们经常会使用subprocess这个模块,这个模块最最常用的就是运行python文件,但是初学的时候发现调用的外部python文件出错了是看不到的。经过一番查找和询问终于找到了办法(其实是这个模块本身就带有)下面是代码:import subprocesscmd = "C:\Users\mcc\Desktop\mcc.py"mytask = subprocess.Popen...

2018-12-13 18:16:43 1523

原创 批量修改同一文件夹下同一类型的图片分辨率

有时在工作中,我们需要批量修改同一文件夹下同类型的图片的分辨率,如果我们使用ps修改分辨率会太浪费时间了。因此我们可以使用下面这种方法进行修改分辨率:from PIL import Imageimport glob,osdef setImageResolution(imagePath): img_path = glob.glob(imagePath) newpath = os...

2018-11-29 18:35:37 1145

原创 pyside/pyqt实现鼠标右键菜单功能

在三维软件中使用pyside/pyqt编写gui界面时,为了艺术家使用操作的简洁,以及方便,经常会使用鼠标右键菜单进行界面与功能的交互。下面就介绍一下这一功能,当然了网上也有很多案列可供参考。# -*- encoding: utf-8 -*-try: from PySide import QtGui from PySide import QtCoreexcept Impor...

2018-11-29 18:10:12 3063

原创 maya后台批量比对maya文件层级

在cg制作过程中,为了统一制作规范,提高效率我们Pipeline都会制作一个比对层级的工具下面介绍的是maya利用batch文件进行模型与绑定和材质文件进行比对层级。直接上代码:#!usr/bin/env python# -*- encoding: utf-8 -*-"""@author:MCC@file: compareUI@time: 2018/11/21 16:29"""i...

2018-11-28 12:06:08 1458 1

原创 maya后台批量拍平

在cg制作过程中为了提高制作效率我们往往会使用maya的后台批量功能,今天就给大家介绍一个maya后台批量拍平的脚本工具:#!usr/bin/env python# -*- encoding: utf-8 -*-"""@author:MCC@file: mainWindows@time: 2018/11/22 19:02"""import sysimport osimport...

2018-11-27 15:38:49 3421 2

原创 解决maya16.5之后启动/关闭缓慢的问题

博主自从使用了maya16.5之后发现maya的启动速度是相当的慢与之前相比,于是便goole了一下,还确实有这个问题,经过一番查找之后终于找到了一个方法,就是添加一个maya的环境变量到这一路径下的文件里即可:环境变量 MAYA_DISABLE_CLIC_IPM=1"C:\Users\mcc\Documents\maya\2018\Maya.env"这样就能够把maya的用户登录界面屏...

2018-11-27 14:43:50 3685 1

原创 在nuke中创建自定义属性面板

在nuke中创建自定义面板大概有两种方式一种是手动创建之后进行保存,另一种方式也是我今天所要讲的即使用python来创建自定义属性面板如下:import nukeimport PySide.QtCore as QtCoreimport PySide.QtGui as QtGuifrom nukescripts import panelsclass NukeTestWindow(QtGu...

2018-11-20 14:37:13 2448 1

原创 创建Nuke菜单栏工具架(栏)

几乎所有的三维软件都支持自定义工具架(栏),当然nuke同样也不例外。下面来介绍一下如何自定义菜单栏:# -*- coding:utf-8 -*-import nuke然后开始创建自定义菜单函数:def mainUI():#直接运行的主函数 menubar = nuke.menu("Nuke"); m = menubar.addMenu(u"&My_Menu"...

2018-11-20 14:23:41 2035

原创 maya后台批量导出动画曲线

在实际的cg生产制作的过程中为了节省时间提高效率往往会运用批量去处理一些动画文件把他们的动画曲线全部导出,根据需求写了一个小小的脚本进行批处理动画曲线。界面如上图所示。部分代码如下:# -*- coding:utf-8 -*-import sysimport osimport subprocessfrom qss import uiQssfrom PySide import Q...

2018-11-08 13:01:59 3503 1

原创 关于maya命令中最常用的命令

ls命令应该是TD们最最常用的命令之一,首先我们需要先导入命令模块:import maya.cmds as cmds在这之后我们就可以使用了:cmds.ls(tr=1,dag=1,v=1)#返回模型的名称节点的名称cmds.ls(exactType="transform")#返回transform节点例如([u'front', u'left', u'pCube1', u'persp', ...

2018-11-07 13:44:29 2181

转载 python中四舍五入及向上向下取整处理

下面介绍几种常用的取整方法,包括向下取整、四舍五入、向上取整。(1)向下取整向下取整很简单,直接使用int()函数即可,如下代码(Python 2.7.5 IDLE)>>> a = 3.75>>> int(a)32)四舍五入第二种就是对数字进行四舍五入,具体的看下面的代码:>>> a=3.25;b=3.75>>>...

2018-11-06 10:47:12 864

原创 python列表求差集,交集,并集等的问题

记得最初使用python时如何求解python之间的差集等问题时,都是使用for循环以及if判断这样不仅浪费内存而且浪费时间,如何解决这个问题其实python有内置的函数可以解决。求差集如下(不推荐)a=[]t =[1,2,3]s =[3,4,5]for ii in t: if ii not in s: a.append(ii)python内置的求解方法(推荐):t =[1,...

2018-11-06 10:42:35 13503

原创 python字符串的连接方式

说到python的字符串的拼接大概有四种比较常用的拼接方式,第一种是使用“+”(加号)进行连接如下:>>>a="12345">>>b="678910">>>c=a+b>>&a

2018-11-01 19:06:35 503

原创 解决maya后台批量输出环境变量丢失的问题

大多数时候我们在制作过程中为了节省时间就需要TD们写个后台输出alembic,拍平了等,有时会遇到大量的报错,不是因为代码问题,而是因为maya软件中的一些环境变量没有加载进来,我经常使用maya.py这个文件进行后台操作,这时我的外部脚本首先需要初始化。import maya.standalonemaya.standalone.initialize(name='python')但是即使这...

2018-10-31 18:51:54 322

原创 使用PySide/PyQt编写windows盘符界面

初学PySide/PyQt时是根据qt的帮助文档,和简单的24个pyqt案例,根据这些进行编写,随着学习的深入就开始使用qt进行对windows的盘符界面感兴趣,于是就开始模仿了,经过大约一个星期的时间终于完成了。下面是部分代码:class FileBrowers(QtGui.QDialog): def __init__(self,parent=None): QtGui...

2018-10-30 12:20:36 639

原创 跨部门动画预览工具。

在cg制作过程中我们有时会想看一下动画最终的预览结果,以及成品如何,下面这个工具就是可以从公司各部门提交的文件,把这些文件组装成简单的动画预览效果,给工具使用的是houdini的mantra渲染器进行渲染。部分代码如下(UI代码):# -*- coding: utf-8 -*-import sysimport osimport jsonfrom PySide import QtGui...

2018-10-29 18:50:00 730

原创 打开Maya场景文件自动360度拍平。

maya自带的拍平想要对场景进行360度无死角拍平,需要对摄像机key帧看着比较麻烦,于是就想写一个自动key帧并拍平的脚本如下:class Example(QtGui.QDialog): def __init__(self, parent=None): super(Example, self).__init__(parent) self.initUI()...

2018-10-27 11:43:32 1182

原创 解决maya导出alembic文件隐藏物体也导出的问题。

在cg制作过程中,我们经常会使用maya导出alembic文件,但是我发现有些情况下我们不需要把场景中的隐藏物体也导出

2018-10-25 15:59:18 2538

原创 maya中的pymel使用小技巧。

熟悉maya的同学都知道AutoDesk官方将三种语言植入maya中来提供使用者来进行使用(底层开发语言C++除外)他们分别是只能在maya中单独的mel语言和pymel语言,还有一种编程语言界的黑马python,python当初只被当成胶水语言来使用,但是近年来随着大数据和人工智能的发展,python语言已经一跃成为编成界的翘楚。好了哈哈言归正传还是来说一下今天的主题pymel。首先我们想要使...

2018-10-23 18:05:10 4811

原创 在maya里直接打开Houdini并导入maya输出的alembic文件

a’a

2018-10-23 14:03:45 2750

原创 PySide/PyQt中怎样限制QLineEdit的输入?

再使用PySide/PyQt编写界面时如果能够对QLineEdite的输入进行一定的限制,这样就可能减少用户输入错误导致程序出错的概率。于是便翻看了一下Qt的帮助文档发现官方还是有这样的限制方法的,限制方法如下:首先需要创建一个QLineEdit:lineEdit = QtGui.QLineEdit()限制输入的数值为整数:lineEdit.setValidator(QtGui.QIn...

2018-10-22 18:54:35 10685

原创 在nuke中创建Read节点并设置file路径。

在nuke中创建Read节点是大部分人可能会直接使用下面这段代码。首先导入nuke模块如下:import nuke然后直接创建read节点并设置file路径:path = r"E:\images\body_n_nm.1001.tif"read = nuke.createNode("Read")read.knob("file").s

2018-10-22 11:42:40 4316

原创 如何将模型alembic与动画alembic相关联?

在三维动画制作时,许多制作部门需要同时进行,当模型部门制作好模型之后会把publish好的模型分给材质,动画,layout等部门同时进行制作,有时候项目要求角色有不同的材质和UV,想单独整理出不带绑定的模型,通过这个工具挂载动画出的abc缓存就可以了。下面是部分界面codes:class MainWindows(QtGui.QDialog): def __init__(self,pa...

2018-10-21 18:08:11 1181

原创 删除maya阿诺德渲染器所有AOVS层

再写maya灯光渲染脚本时想要每次都需要删除所创建的AOVS层级,于是我手动删除所有AOVS层,像往常一样查看maya所返回的mel命令,结果返回的命令不能使用,(maya中出现这种情况很少见),于是上官网查了一下阿诺德帮助发现需要使用mota相关的脚本命令。首先需要导入阿诺德的aovs模块import mtoa.aovs下面是函数:def delAOVs():#删除AOVS层 ...

2018-10-21 10:42:01 3350 2

原创 如何用python递归命令获取maya父层级下的所有子层级名称?

用python中的递归来获取maya父层级(即所选层级)下面的所有子层级的名称,首先需要选中一个层级(即子层级)sel = cmds.ls(sl=True)#得到 group7的名称下面将要获得所选层级下面的所有层级名称以及物体名称def getAllChildren(input,output):#返回group7以及下面所有层级的名称列表 ''' :param input: sel...

2018-10-20 20:30:11 4245

原创 如何解决在三维软件中制作界面时的PyQt4/PySide 与PyQt5/PySide2的兼容性问题?

在maya2016之前与maya2017之后的版本所使用的GUI编程工具发生了版本上的变化,我们应该如何把maya2016以及之前写的GUI,升级到maya2017之后或者更高的版本来使用。下面极少一种暴力解决办法,废话不多说直接上代码。 try: from PySide import QtGui from PySide import QtCoreexcept...

2018-10-20 13:56:36 3043

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除