言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

影をつける。

むー。Squeak で作ったほうが開発効率良いなんて言うけど、落ちてばっかりで C でやるのと変わらんやんけー。と愚痴をこぼしつつ、最初の難関を越えたのでメモ。今やっているのは Croquet の世界に影をつけるという物。現状でも、それぞれの物体には光の方向に応じた影がついているのだが、お互いに影響しあう影という物は無い。つまり、物自体には影があるけど床に影が落ちていないという幽霊のような現象になってしまっている。

これは真面目に取り組みすぎると果てしないマシンパワーとの戦いになるが、私がやりたい事は別にリアリティを求めている事ではない。ユーザインタフェースとして 3D 画面を使う時に重要な視覚効果とは何だろうかという事を知りたいのだ。例として、現在私たちに身近な WindowsGUI を考えてみよう。このマルチウインドウシステムは机の上の書類をメタファに作られている。ウインドウを重ねる事によって複数の情報を無理なく眺める事が出来る。無理なく? 無理あるやん! ちなみに今僕の画面は、果てしなく積みあがった IE のウインドウが後ろに切れ切れに見えているが、殆どエディタで占められている。画面を帰るときは alt + tab でパラパラとウインドウを切り替える。つまり、マルチウインドウの利点を全然享受していない。

画面の大きさが問題なのか? 一時マルチディスプレイを使っていたこともあるのだが、これも視線を左右に振らなくてはいけないのが面倒で結局使わなくなってしまった。これに対する解決は幾つも考えられる。例えば画面解像度があと10倍くらい増えたら、もうちょっと一つのウインドウを小さく出来だろう。だけどそれはそれで、画面が新聞紙のように細分化されてつらくなってくるだろう。

ここで、画面デザインのトレンドについて。Windows にしても Mac にしても、最近の志向に、ノッペリ感があげられると思う。かつて、多色化が実現した時代に何でもグラデーションが流行った時があった。その流れでボタンがどれも立体的になり、起伏のついた画面構成が流行した。しかし最近は明らかに違う。個々のボタンにはもはやエンボスは付かない。行過ぎた立体感は注意力を錯乱させる。Mac OSX のウインドウの影が、ウインドウ自体にではなく背景に付けられる事も興味深い。重要なのは個々の GUI 部品でなく、その関係なのだ。

この延長線上で、3D 技術が大きな意味を持つ。私たちが画面を見て何かを理解できると言う事は、ユーザとしてあるコードを共有していることだ。だから Mac OSX の画面を見て同じように『かっこええなー』と感じる事が出来る。そして私たちは3次元の住人として、豊富な経験を共有している。物体に落ちる影、遠近法、質感。そういったものすべてが GUI に応用できる。必要なのは、決して本物そっくりの世界をコンピュータ上に作り上げる事ではない。これら3次元の文法を利用して、よりお互いを理解しあうための表現形態を作る事だろう。うーむ。理解しあうとか書くとちょっとキモチ悪いな。

しかし、未だにどうしても行列の意味がイマイチよく理解出来ない。