動画

なぜゲームは極小の三角形により構成されているのか?


ゲーム画面を構成する最小単位は「ピクセル」と呼ばれる正方形のドットですが、3DCGモデルを使ったゲームはこれとは別に無数の極小の三角形(ポリゴン)によっても形作られているとのことで、なぜピクセルのような正方形ではなく三角形が用いられているのかについて、Voxが解説しています。

Why video games are made of tiny triangles - YouTube


2018年に発売されたオープンワールドアクションゲーム「レッド・デッド・リデンプション 2」をプレイする画面が映し出され、「これはプレイ時間が60時間を超える素晴らしいアクションアドベンチャーゲームです」というナレーションが流れます。


ゲーム中では馬にブラシをかけることも可能で、そうするとホコリが舞う、というリアルな表現がウリのゲームとなっています。


レッド・デッド・リデンプション 2のように、近年のゲームは細部に至るまで非常に精細な表現が施されています。


フォートナイトやPUBG、ロケットリーグといった人気ゲームは数々存在しますが……


それぞれが「何千、何万という数の小さな三角形を持つ」という共通点を持っています。


この三角形がゲームの中のキャラクターや……


自動車、さらにはゲーム内のフィールド全体を作り出しています。しかし、ゲームの中に存在する無数の小さな三角形は、普通にゲームをプレイしているだけでは確認することができません。そこで気になるのが、「なぜ三角形なのか?」ということです。


もう1度レッド・デッド・リデンプション 2のゲーム画面に戻ってみます。技術的にいうと、ゲーム画面で見えているものはすべて「正方形」です。これをより正確にいうと、ゲーム画面はすべて「ピクセル」で構成されており、各ピクセルは1つの色のみを正確に表示したものです。「ピクセルがゲーム画面を構成している」というのは、初期のゲームからずっと変わらず続いている、ゲームにおける不変のルールのようなものです。


例えば、1972年に登場したポンもピクセルをつないで表現されています。「それはまさに正方形でした。2つのパドルと1つのボールが、正方形を合わせて表現されていました。そして、私が何かを動かし、その通りに動くという事実は、とても美しいもののように感じられました」と語るのは、世界で最も使用されているゲームエンジンのひとつであるUnityエンジンを開発する、エンジニアのBrett Bibbyさん。


Unityのようなゲームエンジンは、ゲーム開発者が複雑なゲーム環境を構築するために使用できるツールを揃えた統合開発環境です。


例えば、西部劇の舞台となるようなフィールドを作りたいと考えた場合。


いくつか箱を作るだけで大広間や銀行などを表現し始めることが可能です。


立方体をつなげながらあっという間にフィールドらしきものを作り上げていくBibbyさん。


このようなゲームのフィールドを作り上げていく作業について、Bibbyさんは「レゴのようなものだね。ただ空間に感覚的に手を加えていくようなものです。この作業を繰り返し、ゆっくりと開発を進めていきます」と語っています。


そうして作り上げられた3DCGモデルは、ゲーム画面上ではピクセルとして表示される必要があります。そのために必要な過程が「レンダリング」です。


そして、レンダリングのためにゲーム機やPCは大量の数学的なタスクをこなさなければいけなくなります。過去20年間でスクリーン上に1秒間で表示できるピクセルの数は増え続けています。


以下のグラフの「GFLOPS」と書かれているのは、コンピューターの計算能力を示す標準的な尺度で、毎秒実行できる計算の数を教えてくれるものです。「G」というのはビリオン(10億)を示しているので、毎秒どれだけ多くの計算が行われているかがよく伝わるはず。


つまり、より強力なコンピューターを使用すれば、ゲームのレンダリングがより簡単になっていくわけです。もちろん、ゲームメーカーはコンピューターの性能に頼るだけでなく、最新技術の中でより細かな表現ができるように工夫を続けています。


そのため、Unityのようなゲームエンジンでは、作られた精細なフィールドや人、自動車といったモデルをレンダリングするのに必要な計算の数をできるだけ少なくすることが求められます。そこで重要になってくるのが「三角形」です。


三角形はゲームエンジンがピクセルをバッチ処理するための方法であり、「コンピューターでより精細な処理を行う」ために用いられています。


コンピューターの観点からすると、ゲーム内で行われている処理のすべては……


このような数字の羅列でしかありません。ゲームエンジンはコンピューターが3DCGモデルをピクセルに変換するための一連の命令を作成しているわけです。


コンピューターが処理する数字の羅列の中に記されている「V」は「vertices(頂点)」を意味しており、何かしらの形状を形作る「点の座標」です。


点をつないで絵を作り上げることを想像してみてください。どのような形を作っているか知らない場合、直線で点と点をつなぐのが普通です。


ゲームの場合、コンピューターは1秒間に何千もの処理を行いながら点と点をつなぎ合わせて立体を作ります。よって、点と点をつなぐのは直線ではなく平面になります。


ゲームエンジンは各プレイヤーのコンピューターもしくはゲーム機上でのレンダリング処理を簡単にするため、曲面として作られたオブジェクトを平面に変換します。


そして、曲面を平面に変換するための最善の方法が「三角形を使用すること」だそうです。


目の前の空間にある任意の3つの点を選ぶ場合、どこの点を選んでも、3つの点からなる三角形は同じような平面を構成します。しかし、頂点を持つ他の形状ではそうはいきません。例えば頂点が4つある場合、四角形だけでなくピラミッドのような三角すいも表現できるようになってしまいます。そうなると数学的な計算処理はさらに複雑になってしまうので、表面上のピクセル数を把握するだけでもより高い処理能力が求められることとなります。


つまり、ゲームの中でレンダリングされる3DCGモデルをより少ない計算数で処理するには、点を三角形でつなぐようにして表現することが最も効率が良いというわけです。


三角形とゲーム技術の継続的な進化により、「ゲーム開発者はより美しいゲーム画面を開発できるようになっている」とVoxは述べています。

・関連記事
ゲームの域を超えた没入感で終わり行く無法者の時代を身も心もカウボーイとなって体感できる「レッド・デッド・リデンプション 2」 - GIGAZINE

「ゼルダの伝説 ブレス オブ ザ ワイルド」の圧倒的自由度&完成度にこれまで培われてきたゲーム観をぶち壊された - GIGAZINE

無料プレイ可能な建築×バトルロイヤルゲーム「フォートナイト」のNintendo Switch版をプレイしてみた - GIGAZINE

in 動画,   ゲーム, Posted by logu_ii