« 2013年6月 | トップページ | 2013年8月 »

2013年7月

2013年7月12日 (金)

チェインアップベクタさんの殺し方。

またやっちまった。今日もこれで40分くらいは失ったね。 このクソ急ぎの時に限ってこれだ。



メモりますよ。チェインアップベクタのぶっ殺し方です。


よくある腕や足などの2ボーンのチェインなんかで、最初のボーンにチェインアップベクタを設定するじゃないですか。 で、なんらかの都合でアップベクタをやめたときに、一箇所いじり忘れると挙動がおかしくなったまま、そしてそれに気づかずどうしてこんなヘンな動きをするのだろう俺はどこかいじって壊しちゃったかななどと大騒ぎすることになるのです。俺何回もやってます。



まず、チェインアップベクタを設定すると何がどうなるかと言うと・・・・

Upv1

ボーン以下の Kinematic Joint プロパティの下に、SkeletonUpVectorOp が出来ますね。 歯車アイコンです。つまりオペレータ。 毎フレ計算してその都度結果をアップデートするようなものがオペレータですね。

そしてもうひとつ。Kinematic Joint プロパティの PPG を開いて、Resolution Plane タブを見るとわかりますが、Res,Plane というパラメータが、デフォルトでは Default という値だったのが、チェインアップベクタを実行すると自動で Up Vector という値に変わっています。

このように、オペレータの降臨と、Res.Plane の値を Up Vector に更新するという2つが、チェインアップベクタを実行したときに得られる結果です。 この2つというのが重要。

ちなみに、Res.Plane が Up Vector になっているということは、「ボーン自身・エフェクタ・ボーンから見たあるベクトルで示される1点」 という3点を結んだ三角形を仮想的に設定し、ボーンをその三角形の平面上でしか動けなくする、とういことをやってるのだと思います。 そして 「あるベクトル」 というのが、ユーザがピックしたアップベクタオブジェクトのポジションです。 そしてこのオブジェクトと、この Res.Plane への接続を担当してくれているのが、つまり接続先を保持しておいてくれるのが、上記 SkeletonUpVectorOp だと思えばいいんじゃないでしょうかね。  違ってたら指摘して下さい。




んでね、これからアップベクタを削除するわけですが、アップベクタの削除って、皆さんどうやってますかね?  「チェインアップベクタの解除」 なんて機能は、ないですよね? ね?

なので、アップベクタオブジェクトを削除してしまうか、アップベクタオペレータを削除する以外に無いと思うんですが、どうですか?  何か知っていたら教えて下さい。



んで、そのどっちでもいいからやります。 アップベクタ先のオブジェクトを消すか、SkeletonUpVectorOp を消すのです。 アップベクタ先のオブジェクトを消したら自動的に SkeletonUpVectorOp は消えてくれます。 SkeletonUpVectorOp を消したときは、当然アップベクタオブジェクトは残ります。 物は消さずにアップベクタの効果だけなくしたいときはこちらがいいですね。


ってことで、こうやって消したら、めでたくアップベクタ抹殺完了・・・・・ではないのですね。  2つありましたよね。 オペレータの降臨と、プロパティの中の Res.Plane の値です。 この2つのうち、オペレータの降臨の方は、オペレータを削除あるいはアップベクタオブジェクトを削除したことによるオペレータの消失で、クリアできています。 でもプロパティの中の方は、自動では更新されないわけですよ。 先ほどの Up Vector という値がそのまま残っているわけですよ。

これに気づかずにボーンのエフェクタをつかんで IK で動かしたりすると、挙動が不審になります。いや、不審ではないんだけど、動かしづらくなります。思ったように動いてくれない。 それは、Res.Plane が Up Vector になったままだからです。 ボーンはあくまでもここで指定されたベクタを使ってレゾリューションプレーン(上記の三角形)を生成してしまうのだと思います。 もはやアップベクタオブジェクトは無くなっていても、値を Up Vector のままにしている以上、このプロパティ内で指定された数値でプレーンを作れと言っているわけですからね。


ってことで、ここを Default に戻します。

Upv2

これでめでたく、通常の挙動になりました。 おしまい。


まとめると、

チェインアップベクタをぶっ殺すには、

・アップベクタオペレータの削除(アップベクタオブジェクトの削除でも同じ)

・Kinematics Joint プロパティの中の Resolution Plane タブの Res.Plane というパラメータの値を Default に戻す

この2つをやらないと元に戻ったことにはなりません。
という話でした。





いっつも忘れるんだよこれ。



.

| | コメント (0) | トラックバック (0)

2013年7月 9日 (火)

Reassign Locally は Group ピックも桶。

いや、別にどうというアレではありません。


XSI でエンベロープの作業していて、Reassign Locally を実行しようとしたんだけど、デフォーマの数が多くてしかもあちこちに散ってしまっているため、ピックする時に Group に対してピックが効いてくれるといいなあ。 と思ったんですよ。 あらかじめ目標にするデフォーマを Group に集めておいてピックできれば楽じゃないですか。 そして最初にエンベロープを設定するときは Group でOKじゃないですか。 だから Reassign の時でもそうだといいなあ。 と妄想してやってみたらできました (゜∀゜)。 

なかなかやるじゃない~ XSI さま。 そういう細かいところで使い易くできているいい子ちゃんのソフトウェアだと勘違いしそうになります。 もちろん勘違いです。


Reenvelope



そう言えば Reassign Locally に関しては、ミケルくんがこんなビデオで語っていてくれたりしますね。

Workflow Tips - Speedy Enveloping from TD Survival on Vimeo.

なにやら俺の XSI 男への偏執も語られていて非常にびっくりしたのですがそんなことはどうでもよく、ええとすいません、ちゃんと中身は見たけど俺、実はこのビデオのポイントをよく理解できていません。

最初にエンベロープを設定した時、XSI 様が自動でどのポイントがどのデフォーマにどれだけ追随するかを割り振って下さるわけですが、その割り振り先の選び方が超すっとこどっこいだから全部シカトして手で Reassing し直そうぜ! という話をがポイントなのでしょうかね? そして、それをやるのにショートカットとか使ってこんな風にクイックにガンガン進めようぜ的な?  違ってたらどうか指摘して下さい。

仮にそうだとしたら、はいそれは全てを自分のコントロール下に置こうとする態度なわけであって非常にスヴァらしいのですが、しかし場合によっては全部を Reassign するのは非常に勇気が必要な時もあります。 デフォーマがやたら多くて複雑で、かつメッシュもそれなりにハイポリの時など、できれば割り振り先の配分などは考えたくない、デフォルトの割り振りやそれに Smooth をかけた程度で済ませたい、どうせこいつモブキャラだし。 みたいなヘタレな気持ちでいることも多いですからね。



ヘタレでも上手く行くエンベロープ講座みたいなのを熱望します。もうほんと、俺はヘタレでどうしようもないです。 ウェイト調整なんて、ほんと、できれば自動でババっと終わってくれないかしらという作業ですよ。 XSI ではエンベロープってしばらく大きな進化がない分野の気がしますね。デュアルクォータニオンはどうなんだろう。 最近全然未チェックです。 

なんというかこう、インタラクティブで直感的で楽ちんに綺麗にウェイトを割り振れるインターフェースが欲しいですよね。 デュアルクォータニオンのような別のアルゴリズムでのスキニングもいいけれど、別に今のままリニア補完なスキニングでもいいから、ウェイト調整を劇的に楽にできる操作体系、選択方法、表示オンオフシステム、みたいな、スキニングのための専用環境みたいなのが欲しい気分です。 (使ったことはないけど)Face Robot みたいな感じでもいいのかな、XSI の内部にあるスキニングのための専用モードみたいな。



ところで、ちょっと使い過ぎるとフニャフニャで節度のないヘタレエンベロープになるので自制しながら使わねばならないエンベロープの Smooth 機能ですが、手作業ウェイトで荒れた配分をなんとなく滑らかにしてくれるのでついつい手が伸びてしまいます。 ウェイトにガウスブラーかけてるようなもんだよねこれ?


で、Smooth をかけるときに、「このデフォーマは考慮に入れてくれるな!」 っていう指定、できましたっけ? 

Smooth って、周囲のデフォーマとの間でウェイトをぼかすことによって突出した配分を減らし、より多くのデフォーマから少しずつ曖昧に影響を受けるようにする、みたいな感じだと思うんですが、この時に、「このデフォーマだけは Smooth の対象に入れずに無視してくれ、このデフォーマだけは Smooth 後も影響はゼロにしたいんだ」 みたいなこと、できたらいいなあと思うんですよ。 できましたっけ?  知っているお方がいらっしゃいましたらどうか御教示下さいませ。  







久しぶりにスキニングしたのでなんだか色々忘れてるですよ。 そしてこの作業が終わると、また1年とかスキニングなんてしないんだろうなあ。 スキニングなんて、一切発生しない仕事の方が多いですからね。  こんなのばっかしですよ俺。 ICE も同じ。 ちょっといじって、次に仕事で使うのは半年後とか。 身に付かないですわ~ orz





.

| | コメント (4) | トラックバック (0)

2013年7月 3日 (水)

検索ワードに勝手レス。

検索ワードに勝手にレスするって遊びは、そんなのもうたくさんあるんじゃないのかとふと思ってちょっと調べてみたら、たくさんありましたw やはり考えることは同じですねw


こういうのは、自分にとって都合のいいワードだけを取り上げちゃったりすると面白くなくなるというか、やらせっぽくなるというか、演出臭くなって興ざめなので、この日のワードを取り上げる! と決めたらその日のワードを必ず全部、しかもログに出てきた順で取り上げるというのを自分に課さねばなりません。 なるべく勢いだけで書こうとします。


----------------------

「ICE パーティクル 質感」
悩みどころですよね。 検索されてる場合じゃない。俺も検索しなきゃいかん。

インスタンスを除けば、パーティクルの Shape は球にしておいて、質感は通常のサーフェスシェーダ、つまり Phong やら Lambert やら Arch マテリアルにするというのが自分では今までよくあるパターンだったんだけど、これはほんと球でいい場合の話なので、それで済む場合はまあ、少ないでしょうかね。

ビルボード、つまり 「板」 としてレンダすることは多いですよね。 これは標準でそのためのシェーダが付いているし、なんなら板ポリゴンのオブジェクトをインスタンスしてもいい。マッピングするテクスチャが動画の場合は、ちとコントロールが面倒な場合もありますかね。パーティクルの Age やら Age Percentage やら、あるいはカスタムのアトリビュートから上手いこと情報をゲットできればいいんですがね。 レンダツリー上ではアトリビュートの操作は難しいから、レンダツリーでどう使うかをあらかじめ決めた上で、ICE ツリー上でなるべく加工済みにしてしまった方がいいと思ってますがどうですか。 ICE ツリーの方が条件分岐やらなんやら、値をかなり自由に加工できるからです。 

キャッシュを取った場合にそのカスタムアトリビュートがちゃんとレンダツリーで取得できるか、いつでも正しくアップデートされてるかが、ちと実験が必要です。俺の経験では、キャッシュ済みカスタムアトリビュートがレンダツリーでちゃんと取得できてない、というより取得はできているが値が更新されず全フレに渡ってゼロのままになってるとか、一度オンオフなどの「刺激」を与えた上でコマンドラインからではなく GUI からレンダしたらちゃんと行けた、なんて経験がけっこうあります。まだ挙動をつかめてないので実験が必要です。

ボリュームレンダリングとかが必要になりそうなもの、煙とかそういうのには XSI に標準で付いてくる BA シェーダ(ICE Particle Volume)を使わざるを得ないと思うんだけど、これは使いづらくて挫折してしまうことが多く、そうなると Fury みたいなサードパーティ製のレンダラに頼ることになるのかしら。使ったことねえからわからん。 emRPC krakatoa みたいなパーティクルを大量のツブツブとしてレンダする(=つまりそのまんまレンダする?)ためのものだと思います。 こちらもいまだに使ったことない。 これって、ツブのひとつひとつは、コンスタントシェーダのごとく単色でレンダするんですか? 全体の陰影感は、シャドウ頼み? あと、コマンドラインからレンダできるのかな? 使ったことないからしくみがわからん。

ICE によるパーティクルをレンダする手段って、他に選択肢ってありましたっけ? V-Ray とか Arnold ではどうなのでしょう? ICE パーティクルをサーフェスシェーダ以外の方法でレンダする何か特別なシェーダなどありますか? ボリュームシェーダ的なものとか、パーティクルの間を補完して連続した膜みたいなレンダをしてくれるやつとか、無いですかね? 知っているお方、教えて下さい。



わあ、ひとつのワードでこんなに書いてたらキリがないw




「xsi ビューキューブ」
もはや無しには作業できません。 最初はあれほど馬鹿にしてたのにw  ぐりぐり回すために使うのではなく、「反対側」 つまり Right ビューの上で Left 側から見たい場合とか、あとは絵を描く時に紙を回転させるかのごとく、2Dビュー上で上下方向を左右方向に変えたい時なんかによくつかってます。 モデリング的な作業の時とかかな。 そういう操作をあまりしない時はオフにしてます。 ボタン作って簡単にオンオフできるように してます。

あ、あとは、男キューブ を推奨します。




「キャプちゃん」
自作のツールでは最も使用頻度の高いうちのひとつですね。ビューポートキャプチャをするためのツール です。 標準の Start Capture のダイアログで十分、というかそっちの方が良いという人には無用のものですが。

改造したいポイントがいっぱいあるんだけど放置プレイ中。 キャプチャ範囲と再生範囲の独立は早くやりたいなーと思ってます。 長い尺のアニメーションのうち、途中の一部分だけ修正してキャプチャし直すときに全フレキャプチャし直すのは時間もかかるから、修正箇所だけキャプチャし直すんだけど、再生は全尺になって欲しいとかそういうことがよくあるからです。



「XSI 2013 QFE とは」
QFE ってのは、Quick Fix Edition の略でしょうかね?  「緊急修正バージョン」 って意味ですよね。 仕事にならないくらいの致命的なバグがあった時に、次のリリースまで放置しておけないから、非公式に出すやつを QFE って呼んでるようですね。

非公式に、ってのは、ええと、公式に出すバグフィックスバージョンは SP1 とかですよね。それに対して、特定の企業などから要請を受けて、個別対応的に、特別に出すのが QFE だと思います。 俺のような零細個人商店が QFE くれって言っても嘔吐デスクさんは聞いてくれないと思います。 でも大手プロダクション、大手ゲーム会社などが このバグがあるとうちの開発が止まってしまうんだよはよ直せドルァ と恫喝すると、QFE を出してくれると思います。 たまに大手の仕事をすると、この QFE 指定で作業をすることがあります。



「softimage biped」
XSI に標準で付いてくるあのリグのことでしょうかね?  使いやすいとも、使いにくいとも言える。 未だに構造をちゃんと解析したことはない。 でも、やはり、無いと困りますね。 自分でリグ組む時の参考とか、アイデアにもなりますしね。

なによりも、そのまんま XSI男にジャストフィットという部分が最も重要です。



「maya mentalray シーンサイズ スケール感」
スケール感を出す上で最も重要なのは、身近にある、誰でも知っているような何かを画面に登場させて、それとの大きさの対比を無意識に意識させることだと思います。 例えば窓とか。  あからさまにスケール感がおかしい、違和感がある、リアリティがないと思うCGは、こういう細かいプロップの大きさがおかしい場合が多いように感じています。 アニメでもそういうのが多いですね。 コーヒーカップとかが異常にでかかったり小さかったり。

maya とも mentalray ともシーンサイズとも関係のない話ですがw



「ダンゴムシ XSI」
これ を検索しようとしたということ?  某アニメ番組で、こともあろうにダンゴムシの交尾シーンを作りました。もう4年とか前の話ですが。

ちなみにサソリ型機械生命体とカマキリ型機械生命体の交尾シーンも作ったことがあります。13年くらい前の話ですが。



「MAYA チェーン ダイナミクス」
そんなとこまでまだたどり着いているわけないじゃないですか。



「AE 花火」
需要が多いんですね。 Hanabi Pro とかプラグイン作ったら売れそうですね。



「junki」
はいどうしましたか。



「CC vector blur」
だから好きだと言っているじゃないですか。



「softimage リネーム」
ツールを書いたことがあります が、もう古いですね。 自分では日常的に使っていますが、もう書き直したい。 



「script xsi 文字化け」
Unicode とか UTF-8 とか、もうわけわかんないですよね。腹立ちますよね。俺もちっとも分かってないし、一生分からなくても済む方向で調整します。



「JUNki」
はいどうしましたか。 いや、俺のことじゃないよね。



「aeクロスフィルター」
昔は Knoll Light Factory の Spectacular でやってましたが、今となっては Optical Flares でしょうかねえ。  

撮影台を使っていた時代は、黒い紙にピンで穴を開けて後ろからライトで照らしたり波ガラス動かしたりみたいなことをやっていたんですってね。そうすると穴から漏れ出した光がクロスになる。 だから今でも古い人がコンテやL/O描くと 「ここピンホールT光で」 とか書かれてたりしますね。  肛門に発光体(釣り用のぎょぎょライトなど)を詰め込んで撮影台の上に座り、そのまま撮ったやつは 「アスホールT光」 です。



「softimage プラグイン インストール方法 仕方」
「方法」 と 「仕方」 の両方をワードに入れるなんて、ステキですね。

ファイルが .addon 形式なら、ファイルを XSI にドラッグ&ドロップする。 あるいはファイルメニューから Install > Addon でもいいし、プラグインマネージャからインストールしたいワークグループを右クリックして Install .xsiaddon でも良いですね。 ドラッグ&ドロップの場合は自動的にユーザアドオンとしてインストールされるので、ネットワークで共有したプラグインにしたい場合などには向きません。 XSI の 「ワークグループ」 を作ってそちらにインストールして下さい。

ただの .js や .vbs や .py などのスクリプトファイルで自己インストール型のものは、Plugins フォルダにファイルをコピーして XSI を再起動です。  Plugins フォルダとは、

\Users\<あんたのユーザ名>\Autodesk\Softimage_2013\Application\Plugins

とかです。ワークグループいかにも同じ構造で Pluginsフォルダがあるので、ワークグループに自己インストール型のスクリプトファイルをインストールしたい場合はそちらの Plugins に入れましょう。



「xsi シーンルート 階層 上へ」
何を調べたかったのか分かりませんが、シーンルートより上はありません。 いや、3Dオブジェクトとしてはありません。 スクリプティング的な意味でのオブジェクトとしては、シーンルートの親は scene オブジェクトです。 つまりシーンそのもの。シーンルートはシーンそのものではないですからね。

シーンルートはただの Model として扱われているようで、例えば Mixer を持たせたりとか、Model に対するもろもろの操作は効くようですが、削除や移動はできませんね。あとインスタンスを作るとかもできない。特殊な Model ですね。 ちなみに、シーンルートに対して Export Model を実行すると、ファイルダイアログが出てくるので 「あれ? シーンルートも EMDL として書き出せるんだ?」 と思ってOKを押すと、怒られます。 XSI 様、まことに申し上げにくいのですが、エラーメッセージを出すタイミングがごくわずかに不適切ではございませんでしょうか?  (^∀^) ゲラゲラゲラゲラ

スクリプトでそれがシーンルートかどうかを調べるには、Parent プロパティを調べて scene オブジェクトそのものが返って来たらそれはもうシーンルートだ、という調べ方くらいしか知りません。何かいい方法ありますかね? 名前は任意で変えられちゃいますもんね。




「rayfire 使い方」
俺に聞かれても。




「3dcg アニメ調 残像」
こんなの とかじゃなくて?  

この人ねえ、俺と実家が近いんですよ。 菊水の金の缶、美味いですよ。







.

| | コメント (2) | トラックバック (0)

« 2013年6月 | トップページ | 2013年8月 »