2018年8月26日日曜日

ガルパン


お世話になっている方のお店のパーティで
配られた同人誌に掲載させてもらったガルパンのCGです
カチューシャいいよね!!

2018年8月3日金曜日

トマト

Vrayファーとサブスタンスペインターの練習

水滴は頂点法線をmelで読んでくっつけてます。

QtヴィジットをMayaにペアレントする方法

いままでWindowStaysOnTopHintをつかっていたんですが
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オプション ->統合ワールドのチェックをはずします。

これでなんとか作業できる程度には軽くなった。

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日月曜日

Qt Creator リンクエラー

Qt Creatorでプログラム中コードが正しいはずなのにリンクエラーが出るときの対処法

 qmakeを実行で直ります。

 無駄に再インストールしてしまった。