以前Mayaバージョンを作ったツールを今日はSoftimageバージョンも欲しくなったので今日書いてみました。
選択された頂点を次に選択されるオブジェクトの一番近い頂点にスナップされ、ウェイトコピーされます。
ターゲットは元の位置を取得しているので、デフォーマーやポーズされたメッシュにも対応。
デフォーマー(骨)の名前はショートネームで取得しているので、名前が同じでしたら違う骨を使ってもコピーが出来ます。
他のキャラの頂点の位置とウェイトを合わせたい時に便利。
mSnap2ClosestPoint from myara on Vimeo.
インストール:プラグインフォルダにコピーする(WorkgroupかUserフォルダ)
例:
C:\Users\myara\Autodesk\Softimage_2015\Application\Plugins
実行:Model > Modify > Poly.Mesh menu
に「mSnap2ClosestPoint」というボタンが出来ているはずです。
頂点を選んで、mSnap2ClosestPoint を実行して、ピックカーソルでターゲットを選ぶ。
DOWNLOAD
元々Mayaユーザーのデザイナーは今の案件の都合によってSoftimageを使っています。 Softimageユーザとして少しアドバイスしたりしていて、キャラクターのポーズを付ける時にオートキーフレームにした方が楽かもよーと教えたら、Softimageの画面のフチが赤くなったことに驚きました。 これは分かりやすいですね!
Mayaだとオートキーが付いているのを忘れて、色々失敗してしまいますね。
そっか、Mayaにはないですね。こういう目印。
Softimage 2011 か 2012 までもそうだったから、良く分かります。オートキーに気付かずにキーを打ちまくるからなるべくオートキーは使わないようにしていました。
で、Mayaでもなんとか出来ないかなと考え、このやり方を思い出した。
Maya | UIの色変更これをイベントにすればなんとかなるじゃん!
と思ったけど、実行してみると、エラーが出ました。
そっか、Maya 2017 はPySide2だね・・・。そんな簡単には行かないか。
2、3ヶ月程前に社内ツールを2017に変換しようとして色々試していて、何日も掛けても失敗し続けていた絶望的な時に出会えた神モジュールがあります。
Qt.pyです。
なんとなくUIを作っているだけで、正直PySideとか良く理解していないですw
それでも、これを使えばなんとかなるんじゃない?と思いながら色々やってみて、ネットでサンプルを探してみたら、出来ました!
これで2015,16,17,18 は同じコードで動きます! (16と17でしか試していないけど)
Qt.py、すばらしい。

コードはこんな感じです。
#Python
from Qt import QtWidgets
from maya import cmds
class autoKeyFrameColor():
def __init__(self):
cmds.scriptJob(conditionTrue=['autoKeyframeState', self.changeMenuStyleSheetRed] )
cmds.scriptJob(conditionFalse=['autoKeyframeState', self.changeMenuStyleSheetDefault] )
def changeMenuStyleSheetRed(self):
QtWidgets.QApplication.instance().setStyleSheet("QMenuBar {background: rgb( 155, 10, 10 );}")
def changeMenuStyleSheetDefault(self):
QtWidgets.QApplication.instance().setStyleSheet("")
このモジュールを読み込んで、クラスを実行すれば良いだけです。
例:
autoKeyFrameColor.py というファイルに保存して、このファイルをMayaのScriptsフォルダに入れます。
Mayaの「userSetup.py」に
import autoKeyFrameColor
autoKeyFrameColor.autoKeyFrameColor()
を書いておけば、Mayaが立ち上がるたびにこのイベントが登録されます。
これだけで、オートキーがONと感知したら、メニューの色を赤にしてくれる。OFFにすると、元に戻してくれる。
もちろん Qt.py ファイルを Scripts フォルダに入れないと動かないですよ。
Qt.py の開発者の皆さん、ありがとうございます!
ムーブツールですね。初めてMayaを使った時から欲しいと思っていた機能です。
初めて使ったのはMaya 7 だったっけ?6だっけ?・・・。
で、2009 あたりかな?MayaにTweakモードが追加されてちょっとだけSoftimageのMove ツールっぽい作業が出来るようになりました! と思ったら、全然使い辛かった。
Nexプラグインが出て、ムーブツール以外に色々優秀なツールが付いていた為、Autodeskに買収され、2014で終了。
2013あたりに
DiamantTools というプラグインがでました。これもなかなか良い感じのMoveツールが付いていますが、2017以降は対応されていません。そしてUS$200もします。ムーブツールしか要らないけど、US$200ですか・・・。2017版のムーブだけ安く売ってくれないかな。
Maya 2014からデフォルトにNexのような「Modeling Toolkit」が追加されました。追加されたばかりだった為ほぼNexそのままでした。まるでプラグインが付いているだけのもの。
2016以降はやっと使えるツールになってきましたね。(ある程度)
少しずつ使いやすくなってきています。もっと頑張ってくださいAutodeskさん。まだ選択し辛いです。
しかし、相変わらずあっちこちクリックしてからやっと使えるようになります。
1クリックで出来そうなことはユーザーに5クリックぐらいさせないと気がすまないMaya様ですからね。
毎回色々クリックするのは面倒だから、ショートカットのようなスクリプトを作り始めました。
書いてるうちにもっとSoftimageのMoveっぽくしたくなって、機能を増やしていたらアイコンまで作っちゃって、結局こうなりました。
この記事に色々書いたけど、単純にMayaのTweakにSoftimageっぽいUIを付けてみました。
はい、それだけです。
それだけで、僕のストレスがほんの少しだけ軽減されます。
ModelingToolkitの情報がなさすぎて、書くのはそこまで簡単じゃなかったけどな。
あんまりなっとく行くような書き方になっていないが、動くからいいや。
あと、この動画に出すのを忘れていましたが、一応CTRL とか ALT を押しながら実行するとオプションパネルが出てきます。
Maya xsiMove from myara on Vimeo.
DL:https://www.dropbox.com/s/hjdmcup21zm0sly/xsiMove.zip?dl=0インストール方法Scripts フォルダに解答してください。
こんな感じのパスになるはずです:
C:\Users\myara\Documents\maya\scripts\xsiMove
で、この中に:
icons
__init__.py
xsiMove.py
ファイル2つとアイコンフォルダ1つになれば、OKです。
実行方法:MayaのPythonで:
from xsiMove import xsiMove
xsiMove.main()
現プロジェクトとその前のプロジェクトでUVの細かい作業が多くて、少しずつUVツールを作っていました。
今更ですが、SoftimageのUV周りのスクリプトの書き方が分かってきて、色々書いて出来たものはこのmTextureEditorです。
まだ調整が必要な部分があるけど・・・もう良いっか。EOLじゃなかったらもうちょっと頑張れたけどな。
Softimageまだ使っている人がいるのかな?
弊社ではまだSoftimageプロジェクトは2つが走っています。もちろん少なくなってきているけど、あと2年ぐらいSoftimageの案件があるのかな?
以下はmTextureEditorのマニュアル・ウェブサイト
http://skymill.co.jp/tools/Softimage/mTextureEditor/mTE_help.html
mGridのコードは色々修正しました。
今度こそ上手く動くはずです^^;
ダウンロードリンクは同じです。
■DOWNLOAD
https://www.dropbox.com/s/o8b10x9eaap1o5j/mGridUV.js?dl=0前回の記事そしてmTexture Editorはほぼ完成です。マニュアルや動画を取れば公開しようかな。
以下は最初のプロトタイプ版です。
mTextureEditor from myara on Vimeo.