2007年12月04日

[XSIスクリプト] ChangeCameraView更新

ビュー切り替えのスクリプトです。
ChangeViewCamera.xsiaddon - 10.0 KB
カメラを順番に切り替えられるように修正
スポットライトのビューに対応

こっちとあっちの都合を・ ・・ (神天)

XSIをLW風にカスタマイズしたいというお話。スクリプトの更新とタイミングが良かったのでカスタマイズのネタと一緒に。

私はXSIを使う前は、FilmBox、MotionBuilderとMayaを併用していたのですが、 ビュー操作とショートカットが違うのでソフト間を行き来する度にキーを押し間違えたりしてイラッときてたんですが、 MBにはMaya互換のインタラクティブモードがあったのでMBをMayaモードに切り替えて、 ビュー切り替えはMBの方が使いやすかったのでMELでMB風のビュー切り替えが出来るようにしてました。
XSIもスクリプトで色々対応できるので、MBとほぼ同じ操作で作業できるようにカスタマイズしてます。
[XSIスクリプト]ビューカメラの切り替えとトランスフォームツールのマニュピレータの切り替え
↑の2つのスクリプトでビューの切り替えと、マニュピレータの切り替えをショートカットに登録できるようになります。

 

続きを読む

2007年11月25日

[XSI スクリプト] カーブデフォームとか

翠星石 その2 & 髪の毛モデリングの話
↑のブログを見て思いつきで作ったスクリプトです。こういうのをソコソコの気合と根性でソコソコのクオリティで作りたい人向け。 アニメーションさせることを前提に作りました。

Deformer.xsiaddon - 17.6 KB
サンプル動画 - 848KB HairRigで動きをつけてます。

 

続きを読む

2007年11月18日

[XSIスクリプト] Rig作成用スクリプト

RigTool.xsiaddon - 9.0 KB

インストールすると、Animate>作成>キャラクタ に以下のスクリプトが追加されます。

・CreateShadowRig
シャドウリグを作成します。
チェインルートまたは、チェインルートの親オブジェクトを選択(複数選択不可)してから実行して、 シャドウリグを作成するモデルをピックします。右クリックでキャンセルすると新規モデルを作成します。
スケルトンスパインで作成したリグだと「HipPlate」を選択して実行すると全身のシャドウリグを作成できます。

・CreateShadowParts
リグの一部(主に腕や脚のロール用ヌルとか)をシャドウリグに追加したいときに使います。
シャドウリグに追加したいオブジェクトを選択(複数選択可)してから実行して、シャドウリグのモデルをピックします。 右クリックでキャンセルすると新規モデルを作成します。

・CreateSpineFromCurve
カーブからSpineRigを作成します。
カーブを選択してから実行します。
背骨リグって多分一生使わないだろうなと思っていたのですが、「上半身が動かなくなっちゃったんだけど」 と相談された時に背骨リグの仕組みを調べてみたのがきっかけで、切望してたスプラインIKをXSIで使えるようになるとは思わなかった。

2007年10月11日

[XSIスクリプト] MQO Import

振られた仕事が早く終わってしまったので、ボケーっとしてたら人事部のほうから真面目に仕事しろって言われてしまいました。 仕方が無いので仕事する振りしてスクリプトを書いてました。
メタセコイアのオブジェクトを読み込むスクリプトです。

MqoImport.js - 17.1 KB

続きを読む

2007年09月15日

[XSIスクリプト] HairRig

シミュレーションリグが完成しました。以前のものに比べてシンプルで使いやすくなったと思います。

HairRig.xsiaddon - 12.2 KB

続きを読む

2007年09月14日

[スクリプト用エディタ]  Peggy Pad

アンカーシステムズ
高機能エディタ Peggyシリーズ紹介

この機能があるのでシノプティックを書くのに便利。
フリーのPeggyPadでも上の機能が使えたので、スクリプトを書くだけなら十分使える。
漢字コードを指定して保存できるので「Unicode LE」で保存すれば、 XSIのスクリプトでコメントやGUIに日本語を使えるようになる。カメラ切り替えのスクリプトはビューカメラの名前が日本語だったので、 XSIのスクリプトエディタに一旦読み込んで保存し直してた。
だけどマウスでスクロールすると秀丸みたいにカーソルも一緒について来ちゃうんだよな。選択範囲が移動しないだけまだマシだけど。

2007年09月10日

[XSIスクリプト] 作りかけのシミュレーションリグを試してみた

以前作ったスクリプトだと使えるフォースが限られていたり、他にもいろいろ使い難かったりしたので作り直しています。
今まではカーブをガイドにライン状のメッシュを作ってクロスを適用していましたが、 今回はボーンをガイドにグリッド状のメッシュを作ってクロスを適用してます。

 

続きを読む

2007年08月23日

[XSIスクリプト] SelectHierarchy

このスクリプトの改良版。
実行速度がかなり速くなりました。
再帰とコレクションの使い方のサンプルにもなると思います。

 

続きを読む

2007年08月11日

[XSIスクリプト]ビューカメラの切り替えとトランスフォームツールのマニュピレータの切り替え

自分はモーションをつけるときに、カメラ、パースペクティブ、スケマチックの3ペインで作業するので、 パースペクティブの部分のビューを頻繁に切り替えるのですが、 XSIにはカメラ切り替えのショートカットが無いっぽいのでスクリプトで対応してみました。
MotionBulderみたいに、FrontビューでFrontに切り替えるとBackビューに切り替わり、 BackビューでFrontに切り替えるとFrontビューに戻ります。Right←→Left、Top←→Bottomも同様です。
ctrl+F、R、T、Eに割り当てて使ってます。

ChangeViewCamera.xsiaddon - 8.4 KB

移動ツールや回転ツール等の、マニュピレータの切り替え(Global、 Local等)のショートカットやコマンドも無いっぽいのでこれもスクリプトで対応しました。
alt+Q、W、E、R、Sに割り当てて使ってます。

ChangeTRMode.xsiaddon - 6.6 KB

 

2007年07月15日

[XSIスクリプト] JScriptで再帰できた

スミマセン、出来ました。
forの括弧の変数は宣言しなくても使えるけど、宣言しないとグローバル変数として扱われるみたいです。
下のようにvarをつけたら正常に動きました。

続きを読む

2007年07月14日

[XSIスクリプト] JScriptは再帰できない?

最初はJScriptでスクリプトを書き始めたけど、サンプルが少ないのと多次元配列に対応してないのでVBScriptに換えた。
今度はPPGのロジックを書くのがつらいので、またJScriptの戻した。けど再帰ができないっぽい。(´・ω・`)

下の二つのコードは全く同じはずなのに、VBSのヤツは正常に動くのけど、JSのヤツは途中で終わったり無限ループに入ったりする。

続きを読む

2007年06月27日

スクリプト用エディタ

SystemScripter

シェアウェア($205.34)だけど、XSIのスクリプトを書くだけならレジストしなくても使えそうな感じ。

 

2007年04月08日

XSIスクリプト: SelectHierarchy

MayaのSelectHierarchyみたいなスクリプトです。
選択されたオブジェクトの下の階層のオブジェクトを選択する。
よく使う機能なのに標準でついていないようなのでスクリプトで対応した。

SelectHierarchy.xsiaddon

 

続きを読む

XSIスクリプト: ApplyVertexColor

XSIの頂点カラーはペイントツールでしか設定できないのが困るという話を友人がしていたので、 スクリプトで対応してみた
使い方は、ポイントを選択した状態でスクリプトを実行してください

AppyVertexColor.xsiaddon

 

続きを読む

2007年02月03日

[XSIスクリプト] ボーンを対称コピーした後の名前をリネームするスクリプト

XSIの「対称に複製」だと複製されたボーンの名前が元になったボーンの名前に数字つけたものになってしまうので、 LeftをRightに置換して末尾の数字を削除するスクリプトを書いた
スクリプト言語はJScript

//
// 選択されているオブジェクトの名前の
// 「Left」の部分を「Right」に置き換える
//

//選択されているオブジェクトを取得
var selList = GetValue("SelectionList");
//取得した値をString配列に変換
//取得した値はobject型なのでString型にキャスト
var selNames = String(selList).split(",");

for(var i=0; i<Selection.Count; i++){
 var oldName = selNames[i];
 if( -1 < oldName.search("Left") ){
  var strTemp = oldName.replace("Left", "Right");
  //末尾についた1を削除
  strTemp = strTemp.substr(0, strTemp.length -1);
  //ネームスペースのついていない名前に修正
  var strTempArray = strTemp.split(".");
  var lenTempArray = strTempArray.length;
  newName = strTempArray[lenTempArray-1];
  //リネーム
  SetValue(oldName + ".Name", newName);
 }
}


 

2007年01月23日

XSIプラグイン開発のセットアップ

誰かが作ってくれるのを待ってもいられないので、lxoインポートプラグインを作ってみることにした
XSI5には日本語のSDKガイドがついていないけれど、 XSI6の30日試用版には何故か日本語のSDKガイドがついていたのでそれを利用した
しかし、日本語SDKガイドにはC++APIリファレンスがないので、クラスなどの詳細は英語のSDKガイドを使った

XSIのプラグインマネージャーからVisualC++のスケルトンコードを作ることが出来る
ツリータブのユーザールートフォルダ上で右クリック、メニューから「新規作成」→「アドオンディレクトリ」 を選んでフォルダを作成する
新規作成したフォルダを開いてプラグインフォルダ上で右クリック、メニューから「新規作成」→「コマンド(プラグインのタイプ)」 を選ぶ
070122_01 
070122_02 

パネルが開くので、今回はカスタムコマンドを作るのでコマンド名を入力。
コマンド名を入力すると自動的にプラグイン名とメニューラベルが更新される
VC++を使うので、スクリプト言語をcppに設定
コード生成ボタンを押すと
C:\user\(ログインユーザー名)\SoftImage\SI_5.11_Foundation\Addons\(アドオンフォルダ)\Application\Plugins
にいくつかファイルが作成される
070122_03 070122_04

VC++6の場合は○○.dspファイルを開く
VC++.netの場合は○○.vcprojを.net用のプロジェクトに変換しなければならないみたい、 余裕があったらフリーのVC++2005ExpressEditionで試してみる
○○.cppファイルの
TODO: Put your command implementation here.
と書いてあるところにコードを書き足してビルド

とりあえずlxoのITEMチャンクからアイテム名をログに出力するのはで来た
070122_05

あとはサンプルのImportExportプラグインを参考にしてオブジェクトの親子付け、メッシュの構築とUV、 マテリアルごとにクラスタの設定、マテリアルのデフューズカラーくらい出来ればいいかな

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。