2012/04/25

Softimageのワークグループ設定

SoftimageのWorkgroupの設定は、とても便利ですね。
たくさんの人とプラグイン状況が共有出来る素晴らしいものです。

ですが、プラグインを入れたり、バージョンアップなどで新規に設定したりすると、SIが、クラッシュして立ち上がらなくなる場合がしばしば・・・。

そんなときは、

C:\Users\[User]\Autodesk\Softimage_2013

フォルダをリネームなどして対処していましたが、設定がデフォルトになってしまうので、2つほどやり方を発見したのでメモです。

1つ目。
まず、コマンドからパスをクリーンアップする方法。

スタートメニュー -> Autodesk -> Autodesk Softimage 20XX (XX-bit) -> Command Prompt

cmdを立ち上げて、コマンド

xsi -w

を入力すると、Workgroupを未登録の状態にしてくれます。
本来、-wの後は、Workgroupのパスを入れて設定のために使うようですが、入力しないことで未登録に出来ます。

2つ目。
ダイレクトに、プリファレンスファイルをいじる方法。

C:\Users\[User]\Autodesk\Softimage_2013\Data\Preferences\default.xsipref

をメモ帳などで開きます。
その中の

data_management.workgroup_appl_path

という部分のパスを消去すれば、Workgroupが解除されます。

逆に、複数のパスをセットしたいときは
;[セミコロン]で、パスを連結すると複数セットできます。


外部Pythonを使用する際の注意

SIのバージョンを複数インストールしている状態で、外部Pythonを使用しているときに起こる問題です。

SIを起動するとPythonがらみで、ある問題が発生することがあります。

# ERROR : Traceback (most recent call last):
#   File "<:script 2="" block="">", line 29, in XSILoadPlugin
#     in_reg.RegisterEvent("UpdateRigProxyHierarchy",C.siOnEndCommand)
#   File "C:\Python27\lib\site-packages\win32com\client\__init__.py",line 170, in __getattr__
#     raise AttributeError(a)
# AttributeError: siOnEndCommand
#  - [line 28 in C:\Program Files\Autodesk\Softimage 2013\Addons\CrowdFX\Application\Plugins\CrowdFX_Plugin.py]

こちらは、SI2010を立ち上げた後、SI2013を立ち上げたときのエラーメッセージです。

新機能として搭載されたCrowdFXですが、PluginがPythonで書かれていることもあり、Pythonが正しい状態で無いと、エラーでメニューが表示されないことが起きてしまいます。

その場合、外部Pythonの下記のフォルダを消去すると問題が解消します。

C:\Python27\Lib\site-packages\win32com\gen_py
(Pythonのバージョンが2.7の場合です)

この情報はこちらを参照してください。

Errors after re-installation
http://softimage.wiki.softimage.com/index.php?title=Python_(XSISDK)&redirect=no

SIにインストールされた、Pythonを使う際、問題は出ないのですが、ScriptのPreferenceの

Use Python Installed with Softimage (Windows Only)

のチェックがオフの場合、SIを初めて立ち上げたときのみ、先程のフォルダにSIのPythonにおける定数のキャッシュを作成します。

from siutils import C # win32com.client.constants
C.siNullPrimType

こんな感じでsiTypeの定数を使う時のキャッシュですね。
このフォルダは、無くても動作するようですので、消してしまって大丈夫です。
このキャッシュを作る仕様は、どうやら、SI2013より、SI2010のほうが強いみたいで、2010を立ち上げると、2010用になり、その後2013を立ち上げても、ファイルが存在するので、更新はしないようです。
ですので、エラーの内容は、定数の値が取得出来ないぜ。と言っているようです。

サーバーなどで、Pythonを共有している会社さんは、注意が必要ですね。

Perforce: 複数のワークスペースを更新するバッチ

batを叩けば全部更新。 @echo off set P4PORT=x.x.x.x:xxxx set P4USER=user set P4PASSWD=password echo %P4PORT% echo %P4USER% echo %P4PASSWD% echo %P4PAS...