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

maya自带的拍平想要对场景进行360度无死角拍平,需要对摄像机key帧看着比较麻烦,于是就想写一个自动key帧并拍平的脚本如下:

class Example(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Example, self).__init__(parent)
        self.initUI()
        
    def initUI(self):
        self.setGeometry(600, 300, 500, 500)
        self.setWindowTitle('360 Playblast')
        Browse_Button = QtGui.QPushButton("Browse")
        name_label_file = QtGui.QLabel("Open file")
        self.name_line_edit_file = QtGui.QLineEdit()
        name_label_Frame = QtGui.QLabel("From")
        self.name_line_edit_frame = QtGui.QLineEdit()
        name_label_to = QtGui.QLabel("To")
        self.name_line_edit_to = QtGui.QLineEdit()
        name_label_Format = QtGui.QLabel("Format")
        self.ComboBox_format = QtGui.QComboBox()
        self.ComboBox_format.addItems(["avi", "image", "qt", "movie"])
        name_label_resolution = QtGui.QLabel("Resoultion")
        self.ComboBox_resolution = QtGui.QComboBox()
        self.ComboBox_resolution.addItems(["1920*1080", "1080*720", "720*540"])
        Browse_Button_to = QtGui.QPushButton("Browse")
        name_label_to1 = QtGui.QLabel("To")
        self.name_line_edit_file1 = QtGui.QLineEdit()
        name_button_OK = QtGui.QPushButton("OK")
        name_button_Canle = QtGui.QPushButton("Canle")
        baseLayout = QtGui.QGridLayout()
        baseLayout.addWidget(Browse_Button, 0, 2)
        baseLayout.addWidget(name_label_file, 0, 0)
        baseLayout.addWidget(self.name_line_edit_file, 0, 1)
        baseLayout.addWidget(name_label_Frame, 1, 0)
        baseLayout.addWidget(self.name_line_edit_frame, 1, 1)
        baseLayout.addWidget(name_label_to, 1, 2)
        baseLayout.addWidget(self.name_line_edit_to, 1, 3)
        baseLayout.addWidget(name_label_Format, 2, 0)
        baseLayout.addWidget(self.ComboBox_format, 2, 1)
        baseLayout.addWidget(name_label_resolution, 3, 0)
        baseLayout.addWidget(self.ComboBox_resolution, 3, 1)
        baseLayout.addWidget(name_label_to1, 4, 0)
        baseLayout.addWidget(self.name_line_edit_file1, 4, 1)
        baseLayout.addWidget(Browse_Button_to, 4, 2)
        baseLayout.addWidget(name_button_OK, 5, 1)
        baseLayout.addWidget(name_button_Canle, 5, 3)
        self.setLayout(baseLayout)
        self._exampleDatas = MayaDatas(self)
        name_button_OK.clicked.connect(self._exampleDatas.OK_button)
        name_button_Canle.clicked.connect(self._exampleDatas.Cancle_button)
        Browse_Button.clicked.connect(self._exampleDatas.choseFile)
        Browse_Button_to.clicked.connect(self._exampleDatas.outFile)
        
if __name__ == "__main__":
    # app=QtGui.QApplication(sys.argv)
    ex = Example()
    ex.show()
# app.exec_()

在这里插入图片描述
界面和部分UI代码如上所示,完整代码请访问gitHub:https://github.com/mxc123/myPlayBlast

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maya提供了回调函数(callback)的功能,可以在特定的场景或操作发生时自动执行一些代码。你可以使用回调函数来实现一些自定义的逻辑或扩展Maya的功能。 以下是一个示例,演示如何在Maya中使用场景回调函数: ```python import maya.api.OpenMaya as om # 定义一个回调函数 def myCallback(msg, plug, otherPlug, clientData): if msg & om.MSceneMessage.kBeforeNew: print("Before New Scene") elif msg & om.MSceneMessage.kAfterNew: print("After New Scene") elif msg & om.MSceneMessage.kBeforeOpen: print("Before Open Scene") elif msg & om.MSceneMessage.kAfterOpen: print("After Open Scene") # 注册回调函数 callbackId = om.MSceneMessage.addCallback(om.MSceneMessage.kBeforeNew | om.MSceneMessage.kAfterNew | om.MSceneMessage.kBeforeOpen | om.MSceneMessage.kAfterOpen, myCallback) # 执行一些操作,例如新建场景打开场景 # 移除回调函数 om.MSceneMessage.removeCallback(callbackId) ``` 在上面的示例中,我们首先定义了一个名为`myCallback`的回调函数。然后,我们使用`MSceneMessage.addCallback`方法注册了这个回调函数,并指定了我们感兴趣的场景事件(在这个例子中是新建场景打开场景)。最后,我们执行一些操作,例如新建场景打开场景。当这些场景事件发生时,回调函数`myCallback`会被自动调用,并打印相应的消息。 请注意,这只是一个简单的示例,你可以根据自己的需求编写更复杂的回调函数逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值