« メンタル霊のパラメータの名前。 | トップページ | シーンの名前とシーンのファイル名。 »

2012年10月 5日 (金)

ExportModel こうだったっけ。

あれえ?

今やってみたら、びっくりした。
こうだったっけ。




XSI って、ブツを他のシーンに持っていく時とか、EMDL ファイルに書き出すじゃないですか。そして Model 単位での書き出しになるじゃないですか。 だから書き出すときはいつも Model の子供にしてから Model 階層を選んで File > Export > Model ってやってたんですよ。 そうしなければいけなかった。はず。 ですよね。


でもさっき、手元が狂って、Model ではなく通常の3Dオブジェクトを直接選択した状態で Export Model してみたら、あれれ? できちゃった。


シーン上のブツは、勝手に新規 Model の子供になって Export されるとかではなく、そのままです。 でもディスク上にある EMDL には XSI が勝手に Model を足しているようで、その EMDL をインポートすると XSI が追加したと思われる Model にぶら下がってブツがインポートされます。



あれえ?
昔はこうじゃなかったですよね?
いつから変わったんですか?
これ、2012 SAP です。
あなた、昔からこうでした?



俺なんかわざわざ えくすぽいんぽ という Model の出し入れ系プラグインを書いて、自動で Model を挟んですぐさま書き出し、書き出し後は何事もなかったように元の状態に戻しておく機能を付けたりしてましたからね。 でももう、それ要らないじゃないですか。標準でできるんなら。 あれえ。おかしいなあ。いつからこうだったんだろう。




まあいいとして、
Export Model でもひとつ罵倒したいのですが、
何も選んでいない状態で Export Model を実行するとどうなるか。

マトモに考えれば、「何か選んでから実行して下さい」 だとか、警告を出しますよね。 何がいかんのかをユーザに伝えなくてはいけません。

でも、やってみて下さいよ。
こんな風になってます。

Fuckexportmodel

ええと、日本語版だと、なんていうエラーになるんですか。


もうちょっとマトモなエラー出せや (゚Д゚)


こんなんじゃ、何がいけないのかわからなんではないか。

俺が書くスクリプトの方がよっぽどわかりやすいよ。
さっとエラー処理書けばいいだけじゃない。
警告コメント用意すればいいだけじゃない。
シロートでもできるぜそんなの。


っていうかこれ、もしかして XSI がユーザに出しているエラーじゃなくて、スクリプトエンジンが出している実行エラーですかね?  ユーザが Export Model を実行した時に走るスクリプトが、途中で止まっちゃってるって状態じゃないのかな? 違う?  もしそうだとしたらアホですよね。 ユーザに警告出して終了するならその操作は完結しますが、途中で実行エラーで止まってるとしたら、それ、完結してないというか、操作が終了できなかったということですからね。 まあこんなの、XSI の至るところにありますがね。



.

|

« メンタル霊のパラメータの名前。 | トップページ | シーンの名前とシーンのファイル名。 »

コメント

XSI6でも3Dオブジェクトを選択して 書き出し>モデル を行うと、保存時に設定した名前のモデルが親にくっついてます。

どうでもいいですが、モデルとヌルがスケマティック上では同じ緑の矩形で表示されてるので
複数の3Dオブジェクトを子に持つ親ヌルをツリー選択して書き出すと、
なぜ同じ名前のヌルが強制的にその上の親についてくるのだろうと以前まで思っていました。

ちょっと前からスクリプト勉強し始めてSDKエクスプローラーの画面を見るようになって
やっとClassNameがモデルとヌルという違いがあるんだなと気づきましたw

投稿: Redglasses67 | 2012年10月16日 (火) 15時36分

ありゃ、6の頃からそうでしたか。

えくすぽインポを書いたのはたぶん XSI 5 の時代だろうな。昔はできなかったんですよ。


Model と Null の見分けですが、アイコンが違いますね。 XSI 内の Explorer で、Model はTポーズの人型アイコンだし、Null はクロスしたアイコンですね。 スケマティック上でも、Show Icon モードにすればこのアイコンが出てきます。 俺は常に Show Icon にしています。  あと、スケマティック上では Model の方が、矩形の大きさが Null よりもひと回り大きいですね。そこでも見分けられます。

そしてもちろんご存知でしょうが Model と Null ではその役割というか存在意義がまるで違いますので、Model は null の一種であるとか、その逆だとか、そういう認識はしない方が安全ですね。

XSI のアフォなところは、Null と Model でビューポート上のルックを変えればいいのに、同じヌル型ですよね。デフォルトのワイヤカラー緑も同じ。 こういう分かりにくさにはほんと、殺意を感じます。 整理のためだけに「まとめる親」としてヌルを使ったりすることも多いわけで、そうなると狭い意味では Model とちょっと似た役割をヌルに負わせるような場合も出てくるわけで、ますます Null と Model の見分けというか概念の違いが判別しにくくなります。 せめて見た目が違えば、完全に別物だという認識が育ちやすいのに、なぜそうしない Softimage。

投稿: 潤樹 | 2012年10月19日 (金) 17時54分

すみません、大変お返事遅れました。

ModelとNullの見分け方が一回りでかいというのは気付いてませんでした。
自分のまわりが変わっているのかModelはほぼ使わずまとめる親とかなんでもNullの方を使っていましたので。

『そしてもちろんご存知でしょうが Model と Null ではその役割というか存在意義がまるで違いますので、Model は null の一種であるとか、その逆だとか、そういう認識はしない方が安全ですね。 』
お恥ずかしいことに、Modelの役割・存在意義というのが全然理解できていませんでした。まだまだ知らないことだらけのようです…。

『せめて見た目が違えば、完全に別物だという認識が育ちやすいのに、なぜそうしない Softimage。』
確かに仰る通り、大きさの差だけじゃなくデフォルトのワイヤーカラーの色の違いも出しておいてほしいですね。

投稿: Redglasses67 | 2012年10月26日 (金) 23時12分

マニュアルには、null と Model の違いという視点では書かれてないかもしれませんが、まあ、マニュアル読めばわかると思います。 そういう俺も、Model についてなんて何年も読んでないので、後で読み返さないとなあ。


Model はネームスペースを与えてくれます。名字ですね。

Model が違えば、同じオブジェクト名が可能です。

鈴木家に一郎さんが二人いることは許されないけど、鈴木家と小林家の両方に一郎さんがいてもいいわけです。

このことを利用して、アニメーションの再利用などに絶大な効果をもたらすのが Model のシステムだと思います。 鈴木か小林かに関係なく、一郎さんはこう動け、というアニメーションの情報をアクションソースにブチ込んでおけば、鈴木家でも小林家でも有効です。 

その他、Model 単位でエキスポートするわけだし、Model ごとにミキサがあるわけだし、XSI のシーングラフ(シーンのデータ保持の構造)の中核をなすものですね Model は。ヌルと一緒ではありません。 まあ、ヌル代わりに使うなら、使えなくはないですね。Model もヌルと同じく3Dオブジェクトですから SRT(Kinematics) を持ちます。だから Model 自身もアニメーションすらできます。Visibility などのプロパティも持っているから、表示非表示なども普通の3Dオブジェクトと同じです。 でもまあ、ヌル代わりに使うのはあんまりおすすめしないけどね。(と言いながらけっこう俺もやりますけどね)。 

逆にヌルは Model の役割を負うことはもちろんできません。ヌルはネームスペースなんて持たないし、Mixer も持たない。ヌルは他の3Dオブジェクトと同様、もっぱら Model に隷属する側のオブジェクトです。


まあ、Model とヌルの違いで困っていないんであれば、そんなに深く考えず、今まで通りでいいとは思います。 困ってないのであれば、ぶっちゃけそれは使い方が浅いからだと思います。浅いから悪いと言っているのではありません。浅くて済むなら浅い方がいいし。ただ、モーションのことなど色々やりだすと、そして大量のデータを扱ってシーンの整理・データの整理・他との整合性・その他色んなデータマネジメントをやりだすと、Model という概念無しにそれを続けることはできません。

とかなんとか。
結論だけ言えば吞みに行きましょうということです。

投稿: 潤樹 | 2012年10月30日 (火) 18時33分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ExportModel こうだったっけ。:

« メンタル霊のパラメータの名前。 | トップページ | シーンの名前とシーンのファイル名。 »