FC2ブログ

myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI データを Maya に持って行ったり、持って来たり

MayaとSoftimageにデータを持って行ったりもって来たりするツールを作ろうとしています。

最初のプロトタイプ(テスト用)が出来たので、公開します。

オブジェクトモデルをインポートエクスポート
UVをインポートエクスポート

という機能です。

仕組みはわりと簡単です。
一時フォルダにOBJに書き出して、OBJを読み込む。
UVの場合は、一時フォルダからOBJを読み込んで、UVをコピーして、OBJを削除。

※ C:\TEMP フォルダを使用されていない場合は自動に作成されます。

※ ただのOBJなので、マテリアル設定などは持っていけない。


色々考えて試してみた結果、この簡単な方法が一番うまく行きました。

これでFBXとかを使い分けると共有が出来るデータの幅が広がりそう。例えばSIにデータを持って行って、SIでウェイト作業を行って、ウェイトだけMayaに持って帰ったりして・・・。

参考までにして、好きにカスタマイズしてみてください。



MayaSI
Download

・script フォルダにコピー
・Python で:

オブジェクトデータをエクスポート
import MayaSI
MayaSI.expOBJ()

オブジェクトをインポート
import MayaSI
MayaSI.impOBJ()

UVをインポート
import MayaSI
MayaSI.impUV()


SIMaya_Plugin
Download

プラグインフォルダにコピー

オブジェクトデータをエクスポート
Application.expOBJ()

オブジェクトをインポート
Application.impOBJ()

UVをインポート
Application.impUV()
スポンサーサイト



PySide + SI 2015 + Win10 + Maya

= エラー
(その2)

以前の記事にWin10 で PySideを使う方法を書きましたが、一つ大きな問題があるのは、Mayaには影響がある可能性がある。

PYTHONHOME という環境変数を設定するとMayaのPythonがうまく動かないこともあるので、その場合はSoftimageの環境だけに設定する必要があります。

やりかたはわりと簡単です。

・環境変数のPYTHONHOMEを削除しておく。
・Softimage のフォルダを開く
例:
C:\Program Files\Autodesk\Softimage 2013 SP1\Application\bin
・setenv.bat をテキストエディターで編集する。(例 notepad++)
※ 管理者として編集が出来るソフトが必要ですが、できない場合は、このsetenv.batをほかの場所にコピーしてから編集してもOK。

このファイルをひらくと最初に以下の5行が見えます:

@echo off
rem Softimage Installation path
set SI_HOME=C:\Program Files\Autodesk\Softimage 2013 SP1
set XSI_HOME=%SI_HOME%
set XSI_BINDIR=%XSI_HOME%\Application\bin



この次にPYTHONHOME 変数を入れればいいです。
PYTHONHOME = C:\Python27

注意:クオーテーションマークは不要 (PYTHONHOME = "C:\Python27" はNG)

こんな感じ:

@echo off
rem Softimage Installation path
set SI_HOME=C:\Program Files\Autodesk\Softimage 2013 SP1
set XSI_HOME=%SI_HOME%
set XSI_BINDIR=%XSI_HOME%\Application\bin

set PYTHONHOME=C:\Python27



・ファイル保存して、完了。
※他の場所に移って編集された場合は、元の場所に上書きしてください。

以上。

※ 

PySide + SI 2015 + Win10

= エラー


以前公開したmSkinはWindows 10 + Softimage 2015 だと動かないという報告があった為、色々調べてみました。
因みに Windows 10 + Softimage 2013 では特に問題がありません。
2014は未確認。

カスタマイズされたPySideとPyQtForSoftimageが必要で、残念ながら外部Pythonでしか効かないワークアラウンドです。
面倒だけど、PyQtを Windows 10 + Softimage 2015 で使いたければこれをやるしか方法がないです。

必要なソフト:

・Python 2.7
https://www.python.org/downloads/
注意:メインページの一番目立つリンクは 32bit版です。
Python 2.7 の最新リリースを探って、ちゃんと 64 bit版をダウンロードしてください。
64bitのインストーラーのファイル名は「amd64.msi」で終わります。
例:python-2.7.14.amd64.msi

・PyWin32
https://github.com/mhammond/pywin32/releases
Python 2.7 amd64 用のインストーラーをダウンロードしてください。
例: pywin32-221.win-amd64-py2.7.exe

・PySide 1.2.4 yamahigashi (松本)氏のカスタマイズバージョン
PySide-1.2.4-cp27-cp27m-win_amd64.whl
https://www.dropbox.com/s/y1mfleopvx5cr2w/PySide-1.2.4-cp27-cp27m-win_amd64.whl?dl=0

・PyQtForSoftimage yamahigashi (松本)氏のカスタマイズバージョン
https://www.dropbox.com/s/9x9k3u27v2oslmr/PyQtForSoftimage_win10_returnedvalue.xsiaddon?dl=0
mSkin_Win10_SI2015_WG に同封しています。

・mSkin 2015
Download
以上のPyQtForSoftimageが同封してあります。



インストール+設定方法:

・Python 2.7, PyWin32
両方はダブルクリックして、インストールが出来ます。

・PySide
Pip を使ってインストールします。

Python27のScriptsフォルダでコマンドプロンプトを開く。(おそらく管理者として開く必要がある)
※ PowerShellでもOK。

例: C:\Python27\scripts

最新のPython27はインストールしていたらpipの更新する必要がないでしょうけど、念のためにpipをアップグレードしましょう:

pip install --upgrade pip



yamahigashi氏のPySideをインストールする:

pip install whlファイルのパス


例:

pip install PySide-1.2.4-cp27-cp27m-win_amd64.whl



・環境変数
外部のPythonはSoftimageで認識されるようにPythonの環境変数を設定する必要がある。

Windows ボタンを押して enviro、もしくは 環境 を書けば、すぐに出てきます。

新しい「PYTHONHOME」という名前で環境変数を作って、Pythonをインストールしたパスを記入すれば完了。
例:C:\Python27

Softimage で プリファレンス / Scripting の
Use Python Installed with Softimage (Windows Only) というオプションのチェックをはずして、Softimageを再起動。

xsi_scriptpreference.jpg

・PyQtForSoftimage / mSkin

mSkinを使う場合は Workgroup にこのmSkin2015バージョンを接続するだけで完了。
PyQtForSoftimageをインストールする必要がありません。

mSkinは使わない場合は、yamahigashi氏のPyQtForSoftimageをインストールしてください。
このカスタマイズされたPyQtForSoftimageのgetQtSoftimageAnchorは long 値 ではなくストリングを返す為、long(sianchor)を使っている部分は編集する必要があります。

例:

sianchor = Application.getQtSoftimageAnchor()
sianchor = Qt.wrapinstance(long(sianchor), QWidget)



sianchor = Application.getQtSoftimageAnchor()
sianchor = Qt.wrapinstance(sianchor, QWidget)


に変更


これで PySideはWindows10 の Softimage 2015 で使えるようになります。

SI | mSnap2ClosestPoint

以前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 | Move like XSI

ムーブツールですね。初めて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()



次のページ