在cg制作过程中我们有时会想看一下动画最终的预览结果,以及成品如何,下面这个工具就是可以从公司各部门提交的文件,把这些文件组装成简单的动画预览效果,给工具使用的是houdini的mantra渲染器进行渲染。
部分代码如下(UI代码):
# -*- coding: utf-8 -*-
import sys
import os
import json
from PySide import QtGui,QtCore
from qss import uiQss
path = "%s/File"%os.path.dirname(__file__)
print path
Path = os.path.dirname(os.path.realpath("render.py"))
class Example(QtGui.QWidget):
def __init__(self):
super(Example,self).__init__()
self.Init()
def Init(self):
self.setWindowTitle(u'跨部门动画预览工具')
self.setGeometry(500,100,500,600)
self.label_project = QtGui.QLabel(u'项目')
self.ComboBox_project = QtGui.QComboBox()
self.label_sequence = QtGui.QLabel(u'场')
self.ComboBox_sequence = QtGui.QComboBox()
self.label_shot = QtGui.QLabel(u'镜头')
self.ComboBox_shot = QtGui.QComboBox()
self.label_zichan = QtGui.QLabel(u'资产')
self.label_animation = QtGui.QLabel(u'动画')
self.ComboBox_animation = QtGui.QComboBox()
self.label_comp = QtGui.QLabel(u'合成')
self.ComboBox_comp = QtGui.QComboBox()
self.label_FX = QtGui.QLabel(u'特效')
self.ComboBox_FX = QtGui.QComboBox()
self.label_light = QtGui.QLabel(u"灯光")
self.ComboBox_light = QtGui.QComboBox()
self.label_layout = QtGui.QLabel("layout")
self.ComboBox_layout = QtGui.QComboBox()
self.label_engine = QtGui.QLabel(u'渲染方式')
self.ComboBox_engine = QtGui.QComboBox()
self.ComboBox_engine.addItems(
["...Choose...", "micropoly", "raytrace", "pbrmicropoly", "pbrraytrace", "photon"])
self.treeWidget = QtGui.QTreeWidget()
self.treeWidget.setColumnCount(2)
self.treeWidget.setHeaderLabels(['Name', 'Material'])
root = QtGui.QTreeWidgetItem(self.treeWidget)
root.setText(0, 'root')
child1 = QtGui.QTreeWidgetItem(root)
child1.setText(0, 'figures')
child1.setText(1, 'The skin')
child2 = QtGui.QTreeWidgetItem(root)
child2.setText(0, 'scenes')
child2.setText(1, 'Rock')
self.label_resultion = QtGui.QLabel(u"分辨率")
self.resultion_edit = QtGui.QLineEdit()
self.label_hight = QtGui.QLabel(" * ")
self.resultion_edit1 = QtGui.QLineEdit()
self.label_start_frame = QtGui.QLabel(u"开始帧")
self.start_frame_edit = QtGui.QLineEdit()
self.label_end_frame = QtGui.QLabel(u"结束帧")
self.end_frame_edit = QtGui.QLineEdit()
self.label_save = QtGui.QLabel(u" 输出 ")
self.save_edit = QtGui.QLineEdit()
Button = QtGui.QPushButton(u"选择")
Button.clicked.connect(self.save_Button)
label_refreshButton = QtGui.QPushButton(u"刷新")
label_refreshButton.clicked.connect(self.refreshButton)
label_okButton = QtGui.QPushButton(u'渲染')
label_okButton.setGeometry(QtCore.QRect(4, 18, 31, 2))
label_okButton.clicked.connect(self.Render_Button)
label_cancleButton = QtGui.QPushButton(u'取消')
label_cancleButton.clicked.connect(self.Cancle_Button)
self.baseLayout = QtGui.QGridLayout()
self.baseLayout.addWidget(self.label_project, 0, 0)
self.baseLayout.addWidget(self.ComboBox_project, 0, 1)
self.baseLayout.addWidget(self.label_sequence, 0, 2)
self.baseLayout.addWidget(self.ComboBox_sequence, 0, 3)
self.baseLayout.addWidget(self.label_shot, 0, 4)
self.baseLayout.addWidget(self.ComboBox_shot, 0, 5)