2018年8月26日日曜日
2018年8月3日金曜日
QtヴィジットをMayaにペアレントする方法
いままでWindowStaysOnTopHintをつかっていたんですが
Windowの一番上にくるのが厄介なことがありました
これからは下記を使うようにしようかと
これでmayaのほかのウィンドウと同じような扱いになります。
Windowの一番上にくるのが厄介なことがありました
これからは下記を使うようにしようかと
これでmayaのほかのウィンドウと同じような扱いになります。
import PySide.QtGui as gui from maya.app.general.mayaMixin import MayaQWidgetBaseMixin class Wid(MayaQWidgetBaseMixin,gui.QWidget): def __init__(self,parent = None): super(Wid,self).__init__(parent = parent) self.show() wid = Wid()
2018年6月28日木曜日
maya2018 UVエディッタ重い件
maya2018でオブジェクトが多いシーンでUVエディッタがまともに動かないんで設定をいじりました。
モデリングパネル -> レンダラ -> ビューポート2.0オプション ->統合ワールドのチェックをはずします。
これでなんとか作業できる程度には軽くなった。
モデリングパネル -> レンダラ -> ビューポート2.0オプション ->統合ワールドのチェックをはずします。
これでなんとか作業できる程度には軽くなった。
2018年5月24日木曜日
RGB → HSV
今アーノルドからVRAYに変換するスクリプトを書いているのですけど。
RGBからHSVまたHSVからRGBに変換する必要があって自前で関数を書く
つもりだったんですが、
PYTHONの標準ライブラリに用意されているんですね、超便利PYTHON愛してる!!
import colorsys
で使えるようになります。
2018年1月25日木曜日
MayaのQtでスクリプトジョブ
Mayaでスクリプトジョブを作成する場合、スクリプトを使い終わったときに
スクリプトジョブを中断しないといつまでも残ります。
この場合scriptJob(kill = イベント番号)とするのですが、Qtのヴィジットを
閉じるタイミングで中断できたら便利ですよねー
だけどpythonのデストラクタ(def __del__:)だとどのタイミングで破棄される
のかがわからないので、ヴィジットのcloseEventをオーバーライドしてウィンドウ
を閉じるタイミングでリストに入れたスクリプトジョブ番号をkillしてみました。
import maya.cmds as mc import PySide.QtGui as gui import PySide.QtCore as core #オブジェクトを移動した時にスクリプトジョブを実行 class Huga(gui.QWidget): #イベントを終了させます def kill(self): for k in self.killLst: mc.scriptJob(kill = k) print("kill") #ウィンドウを閉じた場合に自動的にイベントを閉じる def closeEvent(self,e): self.kill() #スクリプトジョブで実行するイベント def on_job(self): print("jobOk") def on_start(self): #再度スタートした場合一度イベントをきる if len(self.killLst) == 3: self.killEvent() self.killLst=[] name = mc.ls(sl=1)[0] #rpトランスフォームの初期値 self.startRp = mc.xform(name,ws=1,rp=1,q=1) self.killLst.append(mc.scriptJob(attributeChange=[name+".tx",self.on_job])) self.killLst.append(mc.scriptJob(attributeChange=[name+".ty",self.on_job])) self.killLst.append(mc.scriptJob(attributeChange=[name+".tz",self.on_job])) def __init__(self): #イベントリスト self.killLst=[] #init super(Huga,self).__init__() self.setWindowFlags(core.Qt.WindowStaysOnTopHint) #create self.lineA =gui.QLineEdit() btnB = gui.QPushButton("start") #event btnB.clicked.connect(self.on_start) #layout layoutA = gui.QVBoxLayout() layoutA.addWidget(btnB) self.setLayout(layoutA) self.show() huga = Huga()
2018年1月15日月曜日
登録:
投稿 (Atom)