« オーマイグループ。 | トップページ | 俺の Frame。 »

2013年10月 1日 (火)

すっからかんのシーン。カメラすらない。

いや、これもほんと、どーでもいいネタなんですが、さっき気づいたもので・・・。


XSI って、シーンに必ず1つはカメラが必要ですよね。 最後のカメラを削除しようと Delete キーとか押しても、消えないじゃないですか。 そういうもんだと思ってました。 しかし、そうではなかったんですよ。 知ってました?


XSI を起動、もしくは新規シーンをすると、このようなオブジェクトが既にありますよね。

Nocam1

シーンルートは実体の無いものだから別として、 カメラリグと、ライトのみがあります。




で、このうち、ライトは普通に消すことができますよね。ライトが全く無いシーンというものは普通に存在可能です。 

一方カメラの方は、カメラリグ内のカメラ本体以外の部品、つまり Root Interest は削除できます。

Nocam2

こういう状態ですね。 はい。 これ以上は消せません。 カメラ本体は消えてくれません。 Delete 押しても消えないし、スクリプトで DeleteObj コマンドを走らせても、最後のカメラ1個は消えてくれないのです。


ということで、これが XSI における最小限のシーン、ということになると思います。


・・・・思ってました。


実は違ったんです。





このように Model の子供にします。

Nocam3




次に、この Model から中クリックで ブランチ選択 します。

そして渾身の力を込めて Delete キー を押します。


Nocam4

XSI を十何年使い続けて初めてたどり着いた、カメラすらない、すっからかんのシーンです。 おめでとう俺。 とうとうここに立つことができたね。






カメラが無いので、ビューポート上でそのカメラの画角範囲を表すゲートの表示もなくなってますね。 ビュー左上のカメラの名前を表示する場所には、No Cameras という表示になっています。

Pass のオプションを見てみると、

Noncam_pass

カメラの部分は No Scene Cameras という表示になっています。


このように、No Camera とかそういう表示の文字を用意しているんだから、開発者側としては、カメラが存在しないシーンというものは、ちゃんと想定済みなのではないでしょうかね? 
単にユーザの操作上の混乱を防ぐために、GUI から普通にカメラを消そうとすると最後の1個だけは消せないという、UI 上の制限を付けているだけ、ということなのかな。  あるいは、カメラが存在しないとまずいもの、例えば上記の Pass の設定とかですが、そういう色んな箇所でカメラの存在の有無をチェックするプログラムを書くのが面倒くさくなってしまって、ええいカメラは必ず1個は存在しなければいけないという風に見える UI にしちまえー ってことでこうしたのかも知れません。たぶん後者です。 間違いなく後者です。


カメラはなくとも、S キーなどでビューをぐりぐり動かすことはできます。 レンダリジョンを描けばレンダもできました。 でも Pass をレンダしようとすると Invalid Pointer というエラーが出て止まりました。

ほらね。やっぱり。  カメラの有無を調べて 「カメラがないと Pass のレンダはできません」 とかユーザに警告を出すのがあるべきソフトウェア設計の姿ですが、Pass だけでなくあちこちでそういうことをしなければいけないので面倒くさがって、エラーで実行が止まるのは完全放置プレイにしているわけですよ。 その代わりに、そもそもカメラがひとつも存在しないという状況をユーザが作れないように最後のカメラは削除できなくする、という根性の捻じ曲がったインプリでその場しのぎをしたわけです。ええそうに違いありません。 そのくせ、Model からブランチ選択なら消せるなどという抜け道が存在してしまうあたり、実に XSI らしい感じで微笑ましくなります。 

と、またこんなどうでもいい記事に時間とエネルギーを使ってしまいました。 こんなもん、書かなければ電力需要はもっと下げることができます。 あなたもこんなどうでもいい記事読んでないでさっさと仕事終わらせなさい。社会のリソースの無駄遣いです。それではごきげんよう。






.

|

« オーマイグループ。 | トップページ | 俺の Frame。 »

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: すっからかんのシーン。カメラすらない。:

« オーマイグループ。 | トップページ | 俺の Frame。 »