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日月曜日
2016年10月15日土曜日
maya2015でのnumpy自分用のインストールメモ
いろいろなサイトを拝見させていただいたのですが、
なかなか動かなかったので自分の環境で動かすときのためのメモです。
pipの使い方やwhlの使い方など詳細は書きませんが、以下の段階を踏めば
使えました。
numpy標準でつけてほしい、、、
ここからget-pipをダウンロードします→ https://bootstrap.pypa.io/get-pip.py
↓
mayaフォルダのbinフォルダで管理者モードでcmdを立ち上げます → mayapy "get-pip.py"
↓
UnicodeDecodeErrorが出たら以下のスクリプトをsidtecustomize.pyというファイル名でPython/Lib/site-packageに置きます
import sys
sys.setdefaultencoding("cp932")
↓
mayaでも動く?numpyを以下のリンクよりいただきます。
https://pypi.anaconda.org/carlkl/simple/
↓
pipでインストールします。
追記----------------------------------------------
2018/08/26
上記の方法は現在はうまくいかないようです。
やっぱり、無理やりな環境で使うのは良くないよね
なかなか動かなかったので自分の環境で動かすときのためのメモです。
pipの使い方やwhlの使い方など詳細は書きませんが、以下の段階を踏めば
使えました。
numpy標準でつけてほしい、、、
ここからget-pipをダウンロードします→ https://bootstrap.pypa.io/get-pip.py
↓
mayaフォルダのbinフォルダで管理者モードでcmdを立ち上げます → mayapy "get-pip.py"
↓
UnicodeDecodeErrorが出たら以下のスクリプトをsidtecustomize.pyというファイル名でPython/Lib/site-packageに置きます
import sys
sys.setdefaultencoding("cp932")
↓
mayaでも動く?numpyを以下のリンクよりいただきます。
https://pypi.anaconda.org/carlkl/simple/
↓
pipでインストールします。
追記----------------------------------------------
2018/08/26
上記の方法は現在はうまくいかないようです。
やっぱり、無理やりな環境で使うのは良くないよね
2016年9月18日日曜日
maya2017 hotkeyについて
Maya2017のhotkeyで少し戸惑ったのでメモ
maya2015からmaya2017に移行する予定なのですが
以前までスムーズに移行できていたホットキーが使えない!!
なんだか毎回ホットキーエディッタを立ち上げて
切り替えないといけない感じなのこれ?
ほかにやりかたはあるかもしれないけど一応下記のスクリプトを
userSetup.pyに入れて、様子を見ることにしました。
一応立ち上がった時に以前のhotkeyが使えるようになります.
"User"部分は任意で〰 maya.utils.executeDeferred()で関数を遅延実行させています。
maya2015からmaya2017に移行する予定なのですが
以前までスムーズに移行できていたホットキーが使えない!!
なんだか毎回ホットキーエディッタを立ち上げて
切り替えないといけない感じなのこれ?
ほかにやりかたはあるかもしれないけど一応下記のスクリプトを
userSetup.pyに入れて、様子を見ることにしました。
一応立ち上がった時に以前のhotkeyが使えるようになります.
"User"部分は任意で〰 maya.utils.executeDeferred()で関数を遅延実行させています。
import maya.cmds as mc
def motHotKeySetting():
mc.hotkeySet("User",current=1,e=1)
import maya.utils
maya.utils.executeDeferred( motHotKeySetting )
2015年5月1日金曜日
VisualStudioのPythonToolsのエンコード設定
VisualStudioでPythonのコードをポチポチ打っていて
日本語を使用した場合文字化けしておや?ってなったのでメモ
ファイル→保存オプションの詳細→エンコード→Unicode(UTF-8 シグネチャ付)-コードページ65001を選択
ファイル→保存オプションの詳細→エンコード→Unicode(UTF-8 シグネチャ付)-コードページ65001を選択
2013年8月11日日曜日
[maya]モデリング カーブの投影
モデリングしているときに曲線を投影してバーテックスを作れないかなと思ったところ。
便利なツールを発見、「カーブをメッシュに投影」そのまんまじゃん、というか
こんなツールあったかなーと調べてみたら、maya2012からの実装なのですねー
最近まで2010をメインで使っていたので知らんかった。(というかいまでもですが^^;)
早速使ってみます。
1: 球オブジェクトについでサークルカーブを選択し
2: ビューポートを投影したい面に合わせ
3: メッシュの編集>カーブをメッシュに投影 これでカーブを投影できました。 さらにここから、球オブジェクトについで投影されたカーブを 選択し。
4: メッシュの編集>投影されたカーブでメッシュを分割 これで投影されたカーブの位置にバーテックスを生成することができます。 このあと投影されたカーブの中のフェイスを消去したのが下記のスナップです。
すげー便利。
早速使ってみます。
1: 球オブジェクトについでサークルカーブを選択し
2: ビューポートを投影したい面に合わせ
3: メッシュの編集>カーブをメッシュに投影 これでカーブを投影できました。 さらにここから、球オブジェクトについで投影されたカーブを 選択し。
4: メッシュの編集>投影されたカーブでメッシュを分割 これで投影されたカーブの位置にバーテックスを生成することができます。 このあと投影されたカーブの中のフェイスを消去したのが下記のスナップです。
すげー便利。
登録:
投稿 (Atom)