siGroupType の感激。
先日、Todd Akita
さまのエキスパートセミナーに参加しまして。 内容はさすがに PYSOP のTDだけあって、濃い~ものでしたが、ちょっと半端に濃かった気もしました。あの濃さでやるなら、3時間ちょいじゃあまりにも短い。 丸1日のコース か、もしくは超少人数で対話形式とかでやれるとベストじゃないですかね(難しそうだけど)。 Todd さんは人の良さと熱心さが顔に現れているような人で、より多くのことをひとつひとつ丁寧にやろうとしたあまり密度が少し薄くなってしまったような印象を受 けました。(あと何分ある? とか常に時間を気にしていた)。 せめて5時間くらいあると、1万5千円にふさわしくなりそう・・・。 もらったDVDにはお宝がいっぱい。しかし諸般の事情があり、まだちょっとしか見れていない。 あと2週間くらい見れなさそう・・・。 研究は熱いうちにやらないといけないんだけどなあ・・・。 あ、再配布禁止ですね。ネットはおろか、個人間の手渡しも再配布になりますわね。 金払って参加した人だけの特典ですわね。けけけけけ。研究しよう。 研究成果を配布するのは禁止されてないですね。当たり前か。 セミナーの後は、自然の猛威で壊滅したあの街で出会ったあの方と、8年ぶりに再会。その方も含め、その方が勤める会社に在籍するとてつもなく才能のある人 たちとも、久しぶりに/もしくはお初で会うことができて、大いに刺激になった夜でした。 大いに呑み大いに語らい朝まで4軒ハシゴして早朝の電車で覚醒し てみれば自宅をはるかに通り過ぎた駅であわてて反対のホームの電車に飛び乗ったらさらにどんどん自宅から遠くなり実は終点まで行って折り返している途中に 覚醒したのだと気づいた時にはすでに遅くまた逆向きの電車に乗り換えてやっと最寄り駅に着いたのは朝の8時でその日は仕事だったのでしかたなく職場に泊 まってみたが起きても二日酔いで仕事にならなかったというのは誰にも言えない秘密です。 その日の呑み会で、スクリプトから Group/Partition/Layer を見分ける方法の話が出て。 出て、ってよりも自分が出したんですが。 過去に Partition がらみのスクリプトを作っていて、ユーザが変なものを選択していたらはじくようにしたくて格闘していたんですが、結果的には思い通りに出来たのですが、な んともスマートじゃない方法で、なんとかスマートにしたかったのです。 スマートじゃない方法= selection(0).parent.parent みたいに親を2つ以上さかのぼってその差を調べたり、ごちゃごちゃやって消去法で特定する感じ。 普通に考えれば、type プロパティでものを見分けますね。シンプルかつ確実です。 しかし。 Group/Partition/Layer この3つは、type プロパティを表示してみると、どれも "#Group"なんですよね。 この3つのうちどれでも1つを選択して以下のスクリプトを実行すると
結果はどれを選択していても、
と出るはずです。 つまり全部 #Group (siGroupType) といいう type が返ってくる。 つまり type じゃ見分けがつかねぇぞゴルァ ということになりますね。 エクスプローラでも、この3つは色は違うけどアイコンは同じ、マルが3つのやつですね。持っ ているプロパティも一緒ですね。 XSI にとって同じ扱いなんでしょうね。 しかしその呑み会で、Model プロパティである程度振り分けられないか、という話が出て。 なるほど、考えてもみなかった。 ってことでやってみると。
返ってきた結果は、 Group を選んでいた場合 --> その Group が所属する Model Partition を選んでいた場合 --> エラー終了(型が一致しません) Layer を選んでいた場合 --> エラー終了(型が一致しません) うーむ、惜しい。Partition と Layer で違う挙動を見せてくれれば消去法を使わずに振り分けられるのに・・・。 ってことでごくあっさりとあきらめたのですが、無理やり Model プロパティをからめた見分け方をやると、
こんな感じですか。結局最後は消去法。 Orz しかし、今までやっていた方法では Group が消去法の最後に来ていたので、Group かどうかをチェックするだけでも消去法ルーチンを最後まで実行せねばならなかったわけです。この方法であれば、Group かどうかだけを(=Partition と Layer 以外かどうかを)知りたい! のであれば model プロパティのエラーさえチェックすればいいことになるので、これだけでも収穫ですわ。 って、落とし穴ありますか。そうですか。指摘してください。 っていうかあなた、もっといい方法知ってるんでしょ。教えて下さい。生ビール(ヱビス500ml)おごります。 独学で黙々とやっていても限界がありますわね。 でも人と話すと、思ってもみなかった発見がありますわね。 CGって特にそういうことが多そうですわね。 こんなどうでもいい小さいことでも、人間ひとりって、いかに無力かって思い知りますわね。 僕と酒を呑みながら色んな話を聞かせてくれた方々に、最大級の感謝と賛辞を。 呑みすぎて半分以上覚えていないことに、海より深い反省を。 昔と何ひとつ変わらず走り続けているあなたたちに、深く厚い敬意を。 昔と何ひとつ変わらず僕と呑んでくれるその事実に、はちきれるほどの感激を。 再び幸せをつかんだ君に、泣きそうなくらい心からの祝福を。 若すぎることに、逮捕状を。 モントリオールに爆弾を。 |
| 固定リンク
| コメント (10)
| トラックバック (0)
最近のコメント