淫婦裏嫉妬。
これもたった今気づいたんですがね。
インプリシットオブジェクトって、パーティションに参加できるんですか?
できてますよ?
インプリシットって、レンダできないオブジェクトじゃないですか。ヌルとかカーブとかレンダできない種類のオブジェクトは普通パーティションに入れないですよね。 でもどうやらインプリシットだけは入ることができる。 なんで? 昔からこうでしたっけ? 他と違ってインプリシットだけ、レンダできない種類のオブジェクトであるにも関わらず、パーティションに入ることができる理由は、何でしょうかね? それとも最近の XSI は、インプリシットをレンダする機能が付いたのでしょうか?
いやまあ、GUI 上で色んな操作をしている上では問題にならないんですけどね。 問題になるのはスクリプト書いている時でね。 こういうこと知らないと、ツールを開発するときにここがトラップになってつまづいたりするわけですよ。 処理対象外にしていたはずのものが対象になっていたりその逆だったり、まさかインプリシットがパーティションに入れるとは思ってなかったものでそこらへんはノーマークで、関係のない部分をいじくってスクリプトを壊してしまい動いていたものも動かなくなってモニタを青山通りに連続遠投するとか、よくやります。
スクリプトで、パーティションに入ることのできるオブジェクト(レンダ可能なオブジェクト)かどうかを一発で判別できる機能が欲しいと思いませんか。 昔から思っているんですけど。 パーティションに入れる種類のオブジェクトって、ポリゴンメッシュ、サーフェスメッシュ、ポイントクラウド、インスタンス、あとなんでしょうかね? その辺を一括で判別できるよう、siRenderableGeometryID とか X3DObject.IsRenderable とか、そういうの付けて欲しいんだよなあ。 スクリプト書きがすげえ楽になるはずです。嘔吐デスクさま。
っていうか、パーティションに参加可能・不可能(レンダ可能・不可能)を判別するもっといい方法、何かありますかね?
俺はいつも、愚直に Type とか調べて 「もしこいつがポリゴンかサーフェスかポイントクラウドかインスタンスだったら云々」 とか書いてます。 こういう書き方だと、見落としている Type があるといけないなあ、といつも思ってます。
.
.
| 固定リンク
コメント