2008年04月22日

ポイントを0平面で固定

スクリプトからスクリプトオペレーターを適用する練習。
こんなのできました。

PointsZeroSnap.vbs

080421_1.jpg
ローカルの任意の軸の0以下(以上)にポイントが行かないやつ
片面モデリングにどうぞ。
この手のはすでに誰かがやってそうだけど気にしない。

ヘルプ漁ってたらスクリプトオペレーターでポイントを移動させる処理があったので色々弄くってるうちにできた物体。

一応使い方
ポリゴン・カーブ・ナーブスを選択(複数可)して実行(ヌルとかは無視される)
080421_2.jpg
ぺったんこにしたい軸をチェックしてOK
以上。

080421_3.jpg

オペレーターをシェイプコンストラクションモードの下に置いとけば
モデリング中はずっと適用されるのでそれなりに便利かも
ん万ポリゴンのオブジェクトクラスになってくるとやたらと重いですが・・・

スクリプトみて見ると、VBスクリプトでスクリプトオペレーター設定する時、コードを完全な文字列で渡さなきゃならないんだよね・・・めんどくせぇ・・・。
ラベル:XSI スクリプト
posted by ちょちょ at 03:11| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年03月29日

SnakeSpine

※最新バージョンはこちら


Make_SnakeSpine.vbs

080328_1.jpg
イエッヒー!
できたー!


とりあえずこんな感じ。
要はスパインのような長さの変わらないカーブを作って
それにパスコンストレイントさせたオブジェクトとそれらに対してのアップベクターをどう制御させるかの問題を解決させただけの物体です
それらにアニメーション用に色々付け足した物です。
便利かかどうかは甚だ疑問。

使い方
何も選択しないで実行。
もしくはカーブを単体で選択して実行。
数値入力のプロパティが出ます。

080328_2.jpg

・選択カーブから作成
  カーブを選択して実行すると出てきます。
  カーブの長さ・ポイント数・形を元に作成します
  カーブから作成する場合、コントローラー数と長さの入力は無視されます。

・コントローラー数
  カーブを変形させるコントローラーの数を入力
  選択カーブから作成する時は無視されます

・長さ
  デフォルトの長さ
  選択カーブから作成する時は無視されます

・デフォーマーの数
  デフォーマーの数を指定します。

・コントロールアイコンのサイズ
  制御するヌルのサイズの基準となる値です。

・捻りハンドルの数
  動画でぐるぐるねじねじ回してたアレの数を指定します。
  デフォーマー数より多い値を入力すると失敗するので注意。

・パス位置相対値指定
  パス上を走らせる時に位置のパラメーターを0〜1(開始〜終端)の相対値で指定します。
  チェックを外すと絶対値指定です。パスの開始点からの距離が固定されるので状況によってはこっちの方がいいかも。
  どっちで制御するかはお好みで

・ストレッチモード
  パスの形状に合わせてスパインが伸び縮みします。

・縦シヤー変形コントローラー生成
  デフォーム→シヤーっぽい変形をするコントローラーを作成します

・バルジ変形コントローラー生成
  デフォーム→バルジっぽい変形をするコントローラーを作成します

・シャドウリグ生成
  エンベロープ用のポーズコンストイントされたヌルを作成。ゲーム等に。



各コントローラーの説明
それぞれアニメーションに使うパラメーターをマーキングセットに登録しときました。
XSI6以上ならキーセットに登録すればいいんじゃね?

080328_3.jpg
・Path_Ctrl
パスの形状をコントロールします
アニメーションするパラメーター
 pos X Y Z


080328_4.jpg
・TwistHandle
捻る時に回します。
 rot X


080328_5.jpg
・twist_grobal
twist_handleが思うように制御できない・グローバル座標で固定したい等の時に上の階層でコンストレイントしてあげる補助コントローラーです。
DisplayInfoパラメーターのスイッチをオンするとコンストレイントが切り替わります。
思いどうりにアニメートできたらtwist_handleのX回転をプロットしてあげましょう。


080328_6.jpg
・upV_bone_root
ルートは現在のパス上の方向によって自動で回転しますが万能ではないです。
パスの根元を大きくぶん回したり、ぐねぐねとパス上を移動させると
スパイン全体がクルンとひっくりかえってしまう時があります。
そんな時はDisplayInfo:cnsSwitchをオフにして手動で回して調整しましょう。
また、DisplayInfoにスパインの長さとパス上の位置を制御するパラメーターが入っています
 DisplayInfo:長さ
 DisplayInfo:位置
 rot X Y Z


080328_8.jpg080328_7.jpg
・BulgeCtrl VerticalShearCtrl
四角い方がバルジ、円の方が縦シヤーです
バルジはまんまデフォーム→バルジを適用した風にスケーリングで動きます。蛇が卵を飲み込んだ感じ?
縦シヤーはデフォーム→シヤーをY方向に適用した風に動きます。いわゆる「たわみ」のような表現に。
 DisplayInfo:位置
 DisplayInfo:振幅
 DisplayInfo:範囲

080328_9.jpg
外側と内側の2重になってますが外側でアニメーション
内側のは最初からFカーブが入ってます。
これはアニメーション用じゃなくて、変形と減衰のプロファイルカーブとして使用してください。うっかり削除しないように。


↑こんな感じ。

※バルジ変形はデフォーマー数・ポリゴン数が多めでしかもエンベロープのウェイトをかなりぼかさないと綺麗に変形しないぽいです。
また、デュアルクォータニオンエンベロープはスケーリングに対応してないようです。残念。
まぁ映像なら素直にデフォーム→バルジ使った方が綺麗にできるしね。
そんなこんなで使いどころは限定されるかと思われます。


あとがき
さて、どうせスクリプト仕上げるなら他人に見せても恥ずかしくない出来の物を、と思って作ったは良いけど果たして・・・?
結構ややこしいように見えてほとんどはコンストレイントをあちこち繋いで、長々とエクスプレッション付けただけです
座標変換とかクォータニオン回転とかなんちゃら補間とか特別難しいことはやってません(だからバカみたいにヌルやら何やらを生成します。デフォーマー数の4〜5倍+α)
まぁこれが文系にできる限界です・・・
スクリプト勉強になったけど基礎知識が乏しいとずーーーーっとヘルプとにらめっこだね。凄い疲れた・・・
暫くはテキストエディタ立ち上げるのも嫌だNE!
posted by ちょちょ at 03:49| Comment(1) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年03月13日

回転アニメーション補助ヌルセット

ヘボスクリプト第2弾!
get_OriCnsSet.vbs
最近アニメーションつける時は凝ったリグより、すぐに使えてアッサリ消せる使い捨ての一時的なコントローラーを積極的に使ってけばいいんじゃね?と思えてきた。ぶっちゃけ力技?
そんな俺の俺による俺のためのスクリプト

深い階層の回転アニメーション
特に揺れ物みたいな親の回転に依存されない・子階層に遅延が発生する等のアニメーションの時に便利かも。
要は全部グローバル回転で制御したい時の使い捨てのコントローラーです。

作成されるヌルが親・子・孫の3段セットなのは、複雑な回転に対応できたら良いなという悪あがきです。
必要ないなら主に2段目のヌルがアニメーション作業の対象になります。
こんな感じです
080313_1.jpg
アイコンのサイズが気に入らなかったらスクリプト開いて適当に修正すればいいです。

こんなのできます。


基本的な使い方は
・大雑把につけた揺れ物のボーン(ソース)を選択してスクリプト実行
・出来上がったヌルの回転(2段目のボックスのヌル)をプロット
 このとき、必要ならプロット前に回転順序を弄っておけばFカーブが綺麗になる場合があるぞ!
・コンストレイント(以下cns)切り替え
・ヌルのセットの方でアニメーションを仕上げる
・アニメーションが仕上がったらソースの回転をプロットして
 cnsしているヌルセットを削除(ソースの方には何も残さないので安心)するかcnsを切り替えて放置するなりしましょう

複雑な動きになればなるほどスイッチ切り替え→プロットを繰り返すかも。

080313_2.JPG080313_3.JPG


さて、次回予告。
適当なスクリプトでお茶を濁すばっかりだと寂しいのでちょっと複雑なやつに挑んでみます。
以前紹介したアレを自動生成するスクリプトに挑戦!
・・・できるのか?
こうやって予告して逃げにくくする罠だな!?
posted by ちょちょ at 02:09| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年02月29日

ひねり用ヌル生成

練習がてら作ったXSIのちょちょっとしたスクリプトを公開
add_Twist_null.vbs

080228_1.JPG

揺れ物等を回転でアニメーションつけるときの「ひねり」の動きをつけるための子供ヌルを生成します。
選択したオブジェクトにDisplayInfo_Twistを追加してマーキングセットに追加する(無ければ作成)
生成されたヌルは直接アニメーションさせないで親ボーンのパラメーターで制御する


使い方
オブジェクト(主にボーン)を選択して実行。
ボーンのどの位置に作成するか選択(ボーン位置・真ん中・終端)
ボーン以外のオブジェクトが選択されていた場合、それらの回転軸を選択する(キャンセルするとボーン以外は無視する。)
ボーン以外の物に作成すると、意図した方向に回らない事があるので適当な方向に90度回して修正しましょう。


まーこんな感じのが出来ます。


スクリプトすげーゴチャゴチャしてるよ・・・
次からは関数作ってやってみよう
posted by ちょちょ at 01:54| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年02月06日

巨大オブジェクトと面のチラつきの解消

最近ちょっと忙しいのでちょっとしたネタ。

訳あって超巨大なオブジェクト(高層ビルクラス)を作ったとき、カメラが遠〜〜〜くにあるのに2枚のポリゴンが非常に近い。
そんなことになると、作業画面のポリゴンの前後がチラついたりでとてもイライラ。

080204_1.jpg

XSI上のサイズで、1辺の長さ2000と大きな板ポリ
青い面と赤い面との高さの距離は0.1
コレを引きで見ると・・・


・・・と残念な結果に。
こーゆーのってグラボ依存とかなのかな?

これを解消するにはカメラの前方クリッピング(デフォルト0.1)を上げてやれば何かうまく行きます。
080204_2.jpg
どうせ巨大オブジェクトなので0.1を1にしても大した問題はありません

アニメーションの高速再生がチラチラする時もこれで多少改善されるみたいです。
ラベル:その他 XSI
posted by ちょちょ at 02:17| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年01月22日

アップベクターハンドル

どうも、XSI道場さんの方でちょこっと紹介されてたらしくちょっぴりテンション↑な今日この頃ですw

前回のアップベクターを1軸でコントロールするアレ(アップベクターハンドルと命名)の続き。
続きとゆーかXSIデフォルトのリグに組み込んでみる

まぁ自分はオリジナルリグ派でそれに使ってるですけど・・・


※左腕に作成したのでオブジェクト名の頭に"L"がついてます
・まずは腕のエフェクタにプラグインのsoftIKを適用
もしくは新しいNULLに位置コンストレイントさせる(名前は"LArmEff_cns"とでもしましょう)
080121_1.JPG


・次に新しいNULL("LUpV_Handle_Bace"とでも)を作成してコンストレイントの2ポイント
  腕のルート(LArmRoot)
  "LArmEff_cns"(サイクル回避の為に腕のエフェクタは不可)
  正接X,アップベクターのアクティブはオフ
・"LUpV_Handle_Bace"を肩のルート(LRootShoulder)の子供にする。
・"LUpV_Handle_Bace"の回転にそのままの状態でエクスプレッションで固定値を入れる。もしくはキーフレームを打つ
080121_2.JPG 080121_3.JPG


・LUpV_Handle_Baceの子供に重ねてヌル("LUpV_Handle")を作成。
・更にその子供にヌルを作成("LUpV_cns")。アップベクターに重ねる。
・腕のアップベクター(lArmUpV)を"LUpV_cns"に位置コンストレイントさせる
080121_4.JPG


"LUpV_Handle"のX回転で制御。

かんせー。

うーん・・・文字にしてまとめてみると結構回りくどいかも・・・

デフォルトリグの構造はほとんど弄ってないのでコンストレイントをプロットするのを前提として使えば
直接のコントローラーとして使わなくてもデフォルトのリグの補助として使えるのでお気軽に試してみてはいかがでしょうか?
ラベル:リグ XSI
posted by ちょちょ at 01:05| Comment(2) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年01月15日

アップベクターを1軸で

xsiのボーンのアップベクターって3軸移動でめんどくさくね?
腕のアップベクターなんて1方向の回転に対してXYZの3軸のFカーブで手間がかかって仕方ないとかおもわね?
特に大きく腕をを振り回すなんてときにそれにあわせたアップベクターの移動が面倒・・・
出来ることならある程度ついてきてついでにFカーブ1本で何とかしたい・・・
とか思ってたので試行錯誤



・簡単な作り方レシピ
ボーン生成
腕アップベクター作成
エフェクターを位置コンストレイントする「ヌルA」作成
腕のルート・「ヌルA」(エフェクタ直は不可)
に「ヌルB」を2ポイントコンストレイント
 設定:正接X,アップベクターのアクティブをオフ
「ヌルB」の回転値にキーフレームを打つ、もしくはエクスプレッションで値を固定。
「ヌルB」の子供に「ヌルC」を配置。移動、回転は全部0(ヌルAに重ねる)
「ヌルC」の子供に腕のアップベクター
「ヌルC」のX回転で制御する。


現状、少々難ありだけどもうちょっと考えればもっといい感じにできる予感
ラベル:XSI リグ
posted by ちょちょ at 03:48| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年01月04日

できるだけ軽く対称モデリングを

あけおめ。

モデリング小技。
片面だけモデリングしたものを
クローン複製→クローンを対象化→更にテンキーの+でサブディビジョン表示
そのクローンをオブジェクトビューで確認しながらモデリング
080104_1.jpg
これ、なかなか便利です。
若干の差はあれどもみんなこーゆーことやってるでしょう。

ですが、
いかんせん人体じゃ編集元が10000ポリ超えたり・・・
サブディビジョンのレベルを2にしたいし・・・
編集元にオペレーターがうじゃうじゃ溜まってきたし(それはフリーズしろ

ヘボPCじゃぁ動作がおーもーいー
ってことになってポイントドラッグの際はFPSが1とかになってそりゃもう作業どころではない状況に・・・

どーにかこーにか快適に作業できるように色々考えてみた。

まずは、ファイル→設定のコレのチェックをはずす
080104_2.jpg
↑これ

これだけで作業は大分マシに。

しかしまだ、イラッと来る瞬間が・・・
編集用のポリゴンとクローンが同じカメラに映るとやっぱり重くなる・・・。
080104_3.jpg

これをどーにかするには出来るだけカメラに映らない位置にクローンをおけばいいんだけど、どーしたものか・・・

あ、そうかどこまでも遠くへ置けばいいのか!

要は作業用のカメラのクリッピングの外に追い出せば絶対にカメラに映ることはありませんでしたとさ。

080104_4.jpg

うん、これで快適なモデリング環境が整った・・・はず。



何か記事見直したら無意味に画像が大きい気が・・・
ラベル:XSI モデリング
posted by ちょちょ at 02:59| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年12月30日

多ボタンマウスで作業効率アップ?

071229.jpg
愛用のVX Revolution

良く使うショートカットをアプリ別に登録できるので
上手いことやればモデリングの大半はキーボド要らずになるかも!?

このVX Revolutionは
左の親指の場所に2個
左上のズームスライダ2個
ホイールの左右に2個
ホイールの下の検索ボタンに1個
と最大7個XSIのショートカットが割り振れるぞ!

この中でも親指部分の2つはショートカットと同時に左中右クリックと同時に押せるのでスープラキーで使う機能を割り当てると強力

この親指部分にナビゲートツールの「S」を割り当てれば
右手だけでカメラ移動が可能なのでかなりのストレス低減に!

人によって配置は違うだろうけども自分の使ってるショートカットは
親指上段・・・s(視点移動)
親指下段・・・t(ポイント選択)
ズーム+・・・Shift+F3(選択オブジェクトのエクスプローラーポップアップ)
ズーム−・・・Tab(移動回転拡大の切り替え)
ホイール右・・¥(エッジの分割)
ホイール左・・m(コンポーネント調整ツール)
検索ボタン・・Alt+c(カメラの注視点を選択オブジェクトに)

これのお陰で基本的なモデリングはほぼ右手だけで出来ます。

良く使うショートカットを登録しておけば左うちわで
しかも画面から目を離さずに作業が出来るのでかなり快適です(その分視力は落ちるかも・・・?)



関係ないけどこれが今年最後の更新になります
それではよいお年を
ラベル:XSI その他
posted by ちょちょ at 23:51| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年12月28日

足の回転にピボットを

この前思いついたピボット
http://paradisebrain.seesaa.net/article/71951824.html
を足のリグに組み込んでみる


XSIのデフォルトのリグのアレと自作のリグのこれとを比較してみた




色々小細工をかまして、つま先と地面の接地を再現してみた

デフォルトのリグよりスムーズな接地が可能・・・なはず。

使い勝手は・・・微妙。
回転+移動なので少々面倒かも。
posted by ちょちょ at 03:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
×

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