ちょっと残念なところもあるのよ……新年のお祝いに制作されたとある WebGL デモ
いろんな意味で興味深い一品
今回ご紹介するのは、新年に合わせて制作されたとある WebGL 製のデモです。
今回の記事はタイトルからしてちょっと怪しげな感じのテイストにさせていただいてしまい、制作されたデベロッパには申し訳ないのですが、実にいろんな意味で興味深い作品となっています。
というのは、これはあくまでも私の個人的な想像ですが、はじめて 3D やったんじゃないかと思うんですよね。その素晴らしいチャレンジ精神には頭が下がります。
ありがたく拝見しましょう
3D プログラミングを実際に記述した経験があれば、多少の差はあれど、2D の場合と比較してとても難しいと感じている方が多いと思います。かく言う私自身も、初めて 3D プログラミングに取り組み始めた頃、そして今でもその難しさには頭を悩ませる事が多いです。
今回ご紹介する作品は、あまり 3D 開発には慣れていないのかなという雰囲気を放っています。それでも、新年という節目に 3D に挑戦してみようと思ったことがとても素晴らしいなあと思い、ご紹介することにしました。制作された組織や開発者の方たちを揶揄する意図はありません。
今回のデモの操作は基本的にマウスのみ。オーソドックスな、ドラッグ操作などが可能です。
シーンの中央には、不思議な形をしたメガネをかけた、白い猫がちょこんと座っています。
背景に目をやると、氷山のような氷の塊や美しい空の模様などが見えますね。
また、画面の下の部分には氷山のボタンがあるのですが、これをクリックすると氷山が一度海面の下に消えたあと、再度ランダムに地形が生成されて浮上してきます。動的に、ランダムな数値を使って地形を生成しているようです。
ランダム生成なので手前にはあまり氷山が出てこないことももちろんあります。
氷山の動的生成の他にも、舞い散る雪を表現しているパーティクルの量を自由に調整できるバーのようなものが用意されています。
雪の量を変化させてみると、空を飛び交うパーティクルの量が変化するのがわかるでしょう。
今回のデモでは、マウスの左ボタンによるドラッグ操作に対しては、ある程度カメラワークを制限するような設計がされています。デフォルトのカメラの位置のままだと海面の下を眺めたり、あるいは上空から見下ろすような視線にすることはできないようになってるわけですね。
しかし、恐らくこれは開発者側が意図しない操作だと思いますが、マウスの右ボタンでカメラを平行移動させるカメラ操作については、どれくらい大きく動かしても制限が掛けられていないことがわかります。
この右ボタンドラッグを駆使すると、海の下に潜ったり、あるいは、空を表現するための大きなスカイマップの球体の外側にまでカメラを持っていってしまうことができちゃいます。
3D は 2D と比較して、シーンが破綻したり今回のケースのように開発者側が意図しない結果が起こりやすいです。慣れてくると、ここをこうしないと不具合がでるな……というのがなんとなく感覚でわかるんですが、カメラ操作などは特に、最初のうちはこういうミスをしてしまいがちです。
デモの再生は一定時間を過ぎると自動的に止まります。デモが終わったあとには、信念を祝うメッセージと共に、今回のデモが一種の表現の研究の一環であることが書かれています。
3D 実装がもし本当に初めてだとしたら、今回の作品は十分に高品質だと思います。
これからも 3D コンテンツをどんどん生み出していく集団になってくれたらいいなと、思わずにはいられません。ちょっとおこがましいですが、私としてはぜひ応援したいところです。
みなさんもよかったらご覧になってみてください。