2008/08/12

XSI 7 and Python Install Tips



遂に、我がマシンにも導入されました。
いじり倒してやるっ。

と思ったのも束の間、ICEの敷居の高さに、正直ビビリマシタ・・・。

はっきり言って、デザイナーが気軽に覚えられるものでは到底ありません・・・。
スクリプトをちょっと書けるレベルだけじゃ全然ダメです。
CGソフトのことを心底愛していないと使いこなすことは出来ません。

た・だ、そこを克服することが出来れば、レベルはまた一段階上がることでしょう。
ICE MASTERの道は、かなり果てしないものに見えますが、一歩一歩上がって行けば、大丈夫です。(きっと)



そんでもって、やっとわが社にもPythonが導入される兆しが見えました。
やっりぃ。
XSIで、Pythonを使うには、ActivePythonをサーバーに入れるってのが
一番楽でしたが、ActivePythonは、あくまで擬似らしくPythonとは違うみたいです。

なので、Pythonじゃなきゃいやじゃ!

とゴネて、無理クリやってもらいました。

そもそも、XSIで、Pythonを使えるようにするには、

http://www.python.org
本家から、Python本体をDownloadする。

http://sourceforge.net/projects/pywin32
から、さらに、Python for Windows ExtensionsをDownloadして
Installしなくてはなりません。

このExtensionsが曲者でして、Pythonが、ローカルマシンにInstallされていないと
Installerが機能しない点にありました。
全てのデザイナーが使える環境にするには、一台一台入れていかないといけない状態です。

ですが、この手順で、サーバーにPythonをおいて、それを見に行けるようすることが可能です。

1. 一旦ローカルにInstallしてしまい、XSIを一度起動して、すぐ落とします。

2. %PythonPath%\Lib\site-packages内の拡張モジュール類を、サーバーPythonのsite-packagesフォルダ内にコピー。

3. ローカルにある、PythonのDLL類も全てサーバーにコピー。
(python25.dll、pythoncom25.dll、pywintypes25.dll←コレたちだけかな?エラーが出たらスミマセンそれもコピーで)

4. 環境変数のPython Pathをサーバーに指定。ついでにPathもPythonフォルダに通しておきます。

5. %PythonPath%\Lib\site-packages\win32comext\axscript\client\pyscript.pyを実行。
(レジストリを書き換えるスクリプトなので、Admin権限が必要です。)

で、出来ました♪

一部、気をつけなければいけないことは
%PythonPath%\Lib\site-packages\win32com\gen_py
ここの中身は、ユーザーが書き込めるようにしなければならないので

%PythonPath%\Lib\site-packages\win32com\__init__.py
内のgen_pathを書き換え

__gen_path__ = os.getenv('TEMP')

などにして、Localに作るようにします。

コレで、たくさんのマシンにインストールしまくることなく、サーバーをアップデートなりで
一括で管理出来る事になります。

ううーん。スバラシイ!

というわけで、JScriptとは、オサラバ。サヨウナラ。
Mayaも、MotionBuilderも、Pythonなので、Python一筋です。

がっつり行きましょうー。

2 件のコメント:

匿名 さんのコメント...

そんなに敷居高いっすか!
ええーそうなのー。

こっちでのデモも、easy, huh? みたいな言い方ばっかりですよ。

うーむ精進あるのみですねえ。

garu さんのコメント...

そーなんすよ。
全然繋ぎ方が分からない・・・。

デモとかみて、さっくさくに繋いで、すぐステキな挙動するもの作ってるのを多数見ますが、こっちもテキトーになんか繋いでも、すぐノードが赤くなっちゃって使用不能とか、なんのノードが、なんのインプットアウトプット持っているのかっていうのを、まず覚えることから入ってる感じッス・・・。

いやー、たくさんチュートリアルみたい。
ICEデュアルクォータニオンEnv欲しい!

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...