ちょっと前にIMAXシアターでアバター見てきたんですが、すごかったです。
映像表現のストレートな進化のかたちだと思いました。
画面に奥行きがあるだけで、今までの映画館のスクリーンとは比べものにならないくらい、空間が広く感じられ、大きいものが大きく見えます。人間の目ってどうなってるの。疑似体験度はんぱない。ものすごい没入感。
これから3D映画が普及するなんて、正直眉唾もんと思っていたけれど、見たら手のひらを返したように納得。これからいっぱい3D映画作られて、どんどん体験できる機会が増えるのでしょう。
ただ、ちょっとでも見え方の具合が悪いと違和感を感じたり酔ったりしそうな映像ではあるので、一番最初に体験するならIMAXシアターとか設備が良いといわれてるようなところで見るのが良いと思います。
Papervision3Dでオブジェクトにビットマップ画像を貼り付けたとき、画像がゆがんでしまうのを回避するにはオブジェクトのセグメント数を上げるしかないと思っていたのですが、先日会社で隣の席に座っている@morikenさんにbitmapMaterialなどの引数“precise”をtrueにすることでもゆがみを解消できることを教わったので、せっかくだしちょっと比較検証してみることにしました。
まずは画像のゆがみの比較です。
一番左は、普通に貼り付けただけのもの。
真ん中はnew Plane(_material, _w, _h, 4, 4)のような感じでセグメントを4つずつ分割したもの、
一番右はnew BitmapMaterial(bitmap, true)のような感じで、2つ目の引数preciseをtrueにしたものです。
何もしてないのは論外として、真ん中と右を比べると、precise=trueの方が角度によって若干ガタつきが起こっていることが分かります。
スピード比較
大量にオブジェクトを作ってスピード比較してみました。上がPlaneのセグメント数を4,4にしたもの、下がmaterialのpreciseをtrueにしたものです。
あからさまにpreciseをtrueにしたものの方が速いことが分かります。
segmentの数を2,2まで減らせばprecise=trueにしたものより速くすることができますが、その場合はprecise=trueの方がゆがみが少なく、表示がきれいになります。
結論
ほとんどの場合、セグメント数を増やすよりprecise=trueを使う方が良さそうです。セグメント数を増やすのはprecise=trueにしたものよりさらにゆがみを少なくしたい場合でしょうか。スピードは犠牲にすることになりますが、4,4以上のセグメント数にすればprecise=trueより見た目を良くできます。
[追記 10/03/17]
soundkitchenさんが検証ソースをwonderflでも動くようにしてくれたので、実際に試してみたい方は以下からFork
ソースは以下。
Read more »
yuuri.co.uk の人と『ENDLESS NIGHTMARE』というプライベートサイトを作りました。ちょっと重いサイトなのですが、良かったら見に行ってみてください。
初めて人と一緒にプライベートワークをしましたが、最初にぼんやりとしかないイメージが何倍も良い形のデザインとなって返ってくるのはなかなかすごい体験でした。とても楽しく制作することができました。
ボタン音はMarkさん作。
その他、SEの一部はsoundbible.comのものを使用しています。
Credit
Design: yuuri (yuuri.co.uk)
Flash: chabudai
Special thanks:Mark
http://endlessnightmare.net/
起きている間中パソコンやって、ちょっと寝るだけの生活が続いた8月。突発的に体が自然を要求し、遅いお盆休みを利用して日帰りで丹波篠山方面へ。
山と緑に囲まれて、命の洗濯をしてきました。
上の写真は着いてすぐお昼を食べに行ったお蕎麦屋さんからの景色。風の通る涼しい日本家屋で蕎麦を食べながら、ふと横を見ると見える風景がこれ。蝉が鳴いてて、小川の水音がして、風鈴が時々鳴ってて、夏。
そばがきというものを初めて食べました。
Read more »
前の記事から一ヶ月以上経ってしまいました…。
AS3.0が少しだけわかってきたので、FLARToolKitとPapervision3Dをもうちょっとだけがんばってみる。
今までこのブログに載せていたFLARToolKitは、すべてFLARToolKitに備え付けのサンプル、SimpleCube.asをもとにしていて、認識したマーカーと常に同じ座標に3Dオブジェクトが表示されているというものでした。これをもう少しだけ変更して、3Dオブジェクトを常にマーカーと同期させるのではなく、マーカーの座標を利用しながら3Dオブジェクトの動きを変化させることができるようにしたいと思います。
言葉だけではわかりにくいですが、以下のようなことがしたいわけです。
今回もFLARToolKitのサンプル、SimpleCube.asをもとに変更していきます。
(SimpleCube.asの動かし方はSaqoosha.net :: FLARToolKit スタートガイドから)
SimpleCube.asの44行目
this._baseNode.addChild(this._cube);
を見ると、cubeが_baseNodeにaddChildされていることがわかります。
_baseNodeとは何かとPV3DARApp.asを見ると、57行目で_sceneにaddChildされており、その一行上で_sceneというのはただのScene3Dということがわかるので、この_baseNodeがマーカーを認識して座標を変更しているものなのだな、と推測することができます。
Read more »