2ntブログ

今の3Dは本当の3Dではない

いまやゲームは3Dが当たり前だ。
しかし現在の3Dは、本当の意味での3次元グラフィックではない。

安い3Dツールとか見れば分かるが、髪の毛や手や足が、衣服を突き抜ける事がよく見られるが、それが証拠なのだ。

現実世界では、モノが突き抜ける事はない。
なぜなら、「物質」だからだ。
密度を持つ物体だからだ。

コンピュータの3Dには「密度」が無い。
現代の3Dグラフィクスは、それこそ実写並みの見た目にはなったが、「ポリゴン」と呼ばれるカクカクした所期の3Dと、根本的に仕組みは変わっていない。
ワイヤーフレームと呼ばれる骨格をつくり、その柱と柱の間に壁を入れるように、「テクスチャ」と呼ばれる「壁」を貼り付けているだけだ。
だから突き抜けるし、爆発などモノが壊れる表現をさせると、ペラッペラの破片が飛ぶ表現しかできないのだ。

では本当の意味での3Dとは何か?

現実世界の物質というのは、原子と、異なる原子が結びついてできた分子で構成されている。
3D動画では突き抜けてしまう髪の毛も肉体も服も、すべて「原子」や「分子」の集まりだ。

原子同士はぶつかってもすり抜けたりしない。
止まるか、跳ね返るか、あるいは方向を変えるかするしかない。

物質には3つの状態がある。
小学校の理科で習うので、みな知っていると思うが、液体・固体・気体の三種類だ。
通常、「モノ」と言ったら「固体」である。
「固体」というのは原子や分子の結びつきが非常に強く、そして隙間が無い状態だ。
よって固体同士がぶつかれば、どちらかが破壊される=原子や分子の結びつきが解除されて離れて隙間ができなければ、通り抜けることはできない。
「液体」の場合、原子や分子の結びつきは緩やかで、隙間ができやすい状態。
水に手を突っ込む事ができるのは、手が入ってきた場所にもともとあった水の分子が、お隣さん達との結びつきを一時的に解除して、「手」という固体が入り込める隙間を作るように「移動」するためだ。
そして、手が居なくなったら、また元の場所にもどって水の分子同士が手をつなぐ感じ?
「気体」は液体よりさらに原子や分子が自由な状態で、お隣と手を繋いでないし、隙間も多く広いし、そして障害物によって移動し、その障害物が居なくなってもとの場所に帰れるようになっても、必ずしも帰らない。

これらの状態を、コンピュータで再現できないと、真の3Dにはならないのだ。
少なくとも「固体」の概念が再現できなければ、髪の毛や手足が衣服を突き抜ける不自然な状態は無くならない。

従って、骨組みを作って、その骨と骨の間に紙を貼り付けるみたいな、いわゆる「張り子」方式を止めるしかない。
原子あるいは分子単位で、積み重ねていってひとつの絵を作るようにしなければならない。
マインクラフトとかドット絵とか、そういう方式だろうか。
レゴブロックで何かを作るのも、それに近いだろう。

原子あるいは分子、あるいは3D画像における最小単位の「固体」を何か考える。
そしてその「最小単位」の「固体」に、周りの「固体」との結びつきの強さや隙間の大きさを設定。

つまり
・「固体」の最小単位を決定
・最小単位の「固体」にそれぞれ「結びつきの強さ」「隙間」というデータを持たせる。
・衝突判定を「結びつきの強さ」「隙間」の計算で行う

これによって、本当の意味での3Dができるというわけだ。
当然、今より遥かに多くの計算処理が必要となるので、相当高い計算処理能力を持ったCPUやGPUが必要になるし、データ量も遥かに増えるので、今より高速で大容量のメモリなども必要となる。
つまり今のCPUやGPUやメモリでは「無理」って事でもあるw
プログラム的にも無理だ。
なぜなら、今の3Dグラフィクスの処理プログラムは、「張り子」というニセの三次元のためのものだからだ。
根本的に計算方法が違うわけだ。

ただまったく無駄というわけではない。
3Dの画像を作る計算処理の中で、光がどの方向からどのぐらいの強さで当たっていて、それによって物体の陰影がどのようになるかの計算などは、そのまま真の3Dになっても使えるだろう。

より骨組みの細かい「張り子」を再現する研究開発も結構だが、そろそろ真の3Dとも言える、リアル世界の原子・分子を再現する方法も、もっと行った方が良いと思う。

コメントの投稿

非公開コメント

カウンタ
プロフィール

ウホッ!いい男

Author:ウホッ!いい男
異世界転生を待ち続ける中高年のおっさん

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR