【西川善司が語る”ゲームの仕組み” Vol.1】3Dゲームグラフィックスの基礎となる”カメラの概念”をイラスト付きで解説

2022.06.27
注目記事見た目を良くするゲームの舞台裏西川善司が語る“ゲームの仕組み”
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

テクニカルジャーナリスト 西川善司氏による「西川善司が語る”ゲームの仕組み”」連載がスタートします!第1回は、普段から何気なく遊んでいる3Dゲームがどのように作られ、どのように描画されて私たちの目に届いているかを、イラスト付きで説明していきます。

TEXT / 西川 善司
EDIT / 神山 大輝

目次

西川善司

読者には若い学生さんも多くいるということで、初回は「今の3Dグラフィックスベースのゲームがどのような技術でできているか」という基礎的なお話をしたいと思います。

軽く自己紹介をします

私は、コンピュータ技術や半導体技術、ディスプレイ技術、自動車技術、人工知能、そしてゲーム開発技術や3Dグラフィックス技術などをテーマにした記事を執筆しているジャーナリストです。10年以上プログラマーをやっていましたが、興味のある分野が広がり、色々なことに手を出しているうちに、関連業界全体を俯瞰的な視点で見る方が楽しくなって現在にいたっています。

編集部の方からは「ゲームを形作っている基礎技術を解説してください」と言われていますので、最初はゲームの話題を取り扱っていきたいと思いますが、昨今の「ゲーム技術のノンゲーム分野応用への広がり」が盛んになっている世相を考えると、いずれはゲーム周辺技術の話などの話題を取り扱うこともあるかもしれません。

また、新しいゲーム機が登場するようなタイミングでは「ゲームを動かすハードウェア技術」などにも話が及ぶこともあるかもしれません。読者の皆さんの反響に耳を傾けながら、楽しい連載にしていけたらと思います。

極論、世の中って大体3Dグラフィックスベースのゲーム技術でできています

最近、耳にする機会が増えた「メタバース」というキーワード。

メタバースという単語自体にはデジタルツイン技術などの関連も深く、さまざまな捉え方があるので、ここではあえて一般的に連想されるようなイメージを述べますが、大体「CGで出来た3D仮想空間にユーザーが没入することができる体験や技術」といった感じで説明されることが多いと思います。

この説明だと「VR」と何が違うの?ということになりますが、とにかく「3DCG世界に入り込める”ああいった”技術」群は、基本的な技術基盤は現在の3Dグラフィックスベースのゲームと全く同じもので成り立っています。極端なことをいえば「ゲームとして遊べるか、遊べないか」程度の違いしかない…といっても過言ではありません。

我々が普段劇場で鑑賞している映画作品達はどうでしょうか?あれらにもCG、つまりは3Dグラフィックスが利用されていることを知っている人も多いと思います。実際のところ、こうした映画制作に用いられる3DCG技術も3Dグラフィックスベースのゲームの技術と共通点が多いです。

どんどんエスカレートしていきましょう。

我々が暮らしている現実世界。空を見あげれば太陽が光っていますし、その光で建物や木々が照らされています。目線を下げれば道行く人の姿や、車道を走り抜ける自動車も目に入ります。

現実世界に住む我々は、頭を動かせばその方向の情景を自分の目で見ることが出来ますが、この時に起きている事象はだいたい「3Dグラフィックスベースのゲーム」と同じです。まあ、「3Dグラフィックスベースのゲーム」の方が「現実世界の成り立ち」を模してコンピュータに実装しているので、オリジナルは現実世界の方なワケですけれどもね。

3Dグラフィックスベースのゲーム開発は天地創造!?

3Dグラフィックスを説明する際、「ポリゴンで出来た3Dモデル」とか「光源からの光の当たり具合の照明計算をして」といった話になることが多いですよね。確かに、その説明は正しいですが、本稿ではちょっと順番を変えて説明したいと思います。

ファミコン時代の2Dゲームでは、「ゲーム世界の構築」と「テレビに表示するゲーム画面のデザイン」は同義でした。

しかし、現在の3Dグラフィックスベースのゲームは、「テレビ画面に描画されるゲーム画面をどう作るか」という感じで制作しておらず、「ゲーム世界の構築」から行っています。

たとえば、最初は、何もない虚無の3D空間に対して「ゲーム世界はこのくらいの広さで」と、「ゲームシステムで取り扱えるゲーム世界」を定義したりします。
どれくらい大きな世界にするか(≒できるか)」は、そのコンピュータやゲーム機(以下、ゲーム機に統一)が取り扱えるメモリー容量に依存したりします。大容量なストレージトステム(SSDやハードディスク)が利用出来るゲーム機であれば、そのメモリー容量より大きいゲーム世界を取り扱うことだってできます。

ゲーム世界の”大体の感じ“が決まったあとは「ここに木がいっぱい生えていて森になっている」とか、「このあたりは草原」とか「プレイヤーキャラクターの戦士はその草原にいる」「モンスターはこの茂みの陰に隠れている」…というような感じでゲームシーンを構築していきます。こうして見てくると「ゲーム世界の構築」は、まるで自分自身が「天地創造の神さま」になったようです。

ちなみに、「ゲーム世界の構築」というと、プログラマ、アーティスト、プランナー(ゲームデザイナー)といった複数のゲーム開発者が「ゲーム内容そのものを制作する」ことをイメージすると思います。

しかし、それだけでなく、実際には買ってきたゲームをゲーム機上で起動して、ゲーム機がゲーム画面を描画するまでの流れ(≒ランタイム時)においても、「ゲーム世界の構築」は起きています。

たとえば、ゲーム機の中では、CPUがゲームプログラムに従って、前述したような「ゲーム世界」のデータをストレージシステムから読み出してメモリー上に展開しますので、「局所的なゲーム世界の構築」は常にゲーム機の中でリアルタイムに実行されています。

ゲーム制作フェーズの「ゲーム世界の構築」は、現実世界で喩えれば地球や宇宙みたいなものを創造することに相当し、ゲーム機がゲーム実行中に行っている「局所的なゲーム世界の構築」は、今、自分が見ている視界内の情景をレイアウトしている…といったイメージに近いです。

「カメラ」の配置で"見えてくる"ゲーム映像

「ゲーム世界の構築」だけでは、テレビ画面にゲームの映像は出てきません。ゲーム機が、そのゲーム世界のデータからゲーム画面を作り出すわけですが、プレイヤーが見ることになるゲーム画面はどのような仕組みで作られるのでしょうか?

このためには、大前提として、ゲーム画面を作るために不可欠な要素であるカメラ」(視点)を配置する必要があります。カメラというと「写真を撮る機械」のイメージがありますが、ここでいうカメラは「そのゲーム世界を誰がどこからどう見ているのか」を定義づけるもの、という感じです。

たとえば、その”カメラ“の位置を「戦士」の目玉のところに配置すれば、その戦士が「一人称視点」で見たゲーム画面が作り出されることになります。いわゆるファーストパーソン視点ですね。

ファーストパーソンでは、キャラクターの視点とカメラの位置が一致している。

ファーストパーソンの実例:『DOOM Eternal』

カメラの位置を「戦士」の後頭部の上あたりに配置した場合は、プレイヤーキャラクターの後ろ姿を中心に捉えつつ、ゲーム世界をその背中越しに見るようなゲーム世界を作り出せます。そう、サードパーソン視点というやつです。

サードパーソンでは、操作キャラクターの後方にカメラが配置されている。

サードパーソンの実例:『God of War』

このカメラの位置を5メートルくらい上空に上げて、カメラの向きを地面の方に向けたらどうなるでしょうか。そう。リアルタイムストラテジーゲームに採用されることの多い、見下ろし視点のゲーム画面になりますね。昔のファミコン時代によく見られた2Dゲームに近い画面と言い換えることもできるかもしれません。

見下ろし視点(トップビュー)のゲームでは、箱庭を上から見下ろすように、空高くにカメラが配置されている。

見下ろし視点のゲーム画面の実例:『スーパーボンバーマンR』

こうして見てくると、薄々気が付いてきたのではないでしょうか。現実世界に住む我々が普段見ている情景は、我々一人一人にカメラが設定された一人称視点のゲーム画面と大差がないわけです。

上でメタバース/VRの事例も挙げましたが、話は同じです。メタバース空間としての3D世界に3Dオブジェクトを配置しているところは「ゲーム世界の構築」と全く同じですし、VR被験者たるユーザーがVR-HMDを通して見ることになる情景は、そのユーザーが存在することになっている3D空間上のユーザーの身長の頭部あたりにカメラを置いて作り出された一人称視点のゲーム画面の成り立ちと完全に同義です。

また、上で映画の3DCGにも触れましたが、もう説明は不要でしょう。たとえば、実際の人間の主役俳優がモンスターと戦っているシーンをデジタルカメラで先に撮影しておき、このシーンに、敵役のモンスターをCGで描画して合成するケースを考えてみます。

この場合、そのシーンを撮影した現実世界と合致する3D空間を定義して、人間俳優がいた場所に対応する3D座標に3Dモデルのモンスターを配置します。この3Dシーンにおいて「どこにカメラを置くべきか?」はもうわかりますよね。そうです。そのシーンを撮影したデジタルカメラの位置に対応する3D座標に、「CGを描画するためのカメラ」を配置します。

もちろん、カメラの位置だけでなく向きも、現実世界を撮影したデジタルカメラの向きに合わせる必要があります。できあがったCGと人間俳優の実写映像を合成すれば、めでたく人間俳優とCGモンスターが戦闘を行うシーンの完成です。

こうした実写映像とCGとの合成を自然に見せるためには、CGと現実世界の前後関係に配慮したり、CG制作用の3Dシーンに現実世界とそっくりな照明状況の設定を行うことも必要だったりしますが、本稿ではそこまで深入りはしません。

ちなみに、この事例で出てきた「現実世界の情景に合致した3D空間を定義する」とか「実写映像とCG世界をうまく合成する」といった概念は、これまた最近、注目を集めているAR(Augmented Reality:拡張現実)MR(Mixed Reality:複合現実)といった分野の実現と直結している、ということも見えてくると思います。

「カメラ」を工夫すると「見え方」を変えられる

「3Dグラフィックスベースのゲーム」において、”カメラ“がとても大事だということは分かってきたと思います。「3Dグラフィックスベースのゲーム」は、現実世界と同じように「世界を構成する色んなモノが配置された3D空間」があって、「そこに置いたカメラから見える情景」がゲーム画面(ゲーム映像)となるわけです。

この”カメラ“そのものに工夫をすると、一風変わったゲーム映像を作り出すことが出来ます。たとえば、3D空間に配置するカメラを2つにしたらどうでしょうか?2つ横にカメラを並べて、そこからゲーム映像を生成するのです。左右に並べたカメラの間隔を我々人間の左右の目の間隔に合わせると?…そうです。3D映像(立体視)のゲーム映像が生成できることになります。

最近はもう3Dテレビが販売されていないので、このアイデアを使う場面がなさそうに思えるかもしれませんが、実はそうでもないんです。実は、この3D映像を作るアイディアはそのまま、VR-HMD用の映像生成技術に応用できます。VR-HMDは、左右の目、それぞれに見せる二枚1組の3Dグラフィックスを見せていますよね。仕組みとしては3Dテレビというか、3D映像の表示の仕組みと全く同じですから、「2台のカメラを横並びにして2枚一組のゲーム映像を作る」アイデアはVR映像生成に使われています。ただ、2枚分の映像を作ることになるので、単純に考えるとグラフィックス描画の負荷は2倍になります。

もう一つ、”カメラ“に工夫するアイディアがあります。それは「画角」をアレンジする工夫です。初代プレイステーションの時代はテレビの画面の「横辺対縦辺の比率」いわゆるアスペクト比が4:3でした。2003年から2011年テレビ放送の地デジ移行期に連動して、テレビのアスペクト比は横長の16:9になりました。いま市販されているテレビ製品は、特殊製品を除けば全てアスペクト比16:9で作られています。だから、家庭用ゲーム機のゲーム映像は、一般的な市販テレビを想定してアスペクト比16:9で生成されます。

もうお分かりかと思いますが、これは「3D空間に置いたカメラ」の画角をアスペクト比16:9としてゲーム映像を生成しているからそうなっているわけです。だったら、これを別のアスペクト比にしたらどうなりますか?という話です。

最近、ゲーミングモニター製品で、アスペクト比が21:9や32:9といったウルトラワイドモデルが登場していますが、「3Dグラフィックスベースのゲーム」ならば、ああした超横長ゲーミングモニター製品にぴったりな超広画角なゲーム映像の生成ができます。

家庭用ゲーム機では意図的にアスペクト比16:9固定のゲーム映像しか出力できない仕様になっていますが、PCゲームであれば多くのタイトルが標準で超横長アスペクトに対応しています。横長になって何が嬉しいかといえば、画角が広がることで、アスペクト比16:9では見えなかった領域の映像がちゃんと描かれることです。

PC版「FORZA HORIZON5」を一般的なテレビのアスペクト比である16:9でプレイしたときのゲーム映像。

同一シーンのアスペクト比32:9のゲーム映像。16:9では全く見えていなかった左右の景色が見えるようになる。「FORZA HORIZON5」はXbox版も出ているが、Xbox版では32:9の画角は設定できない。

ゲームそのものを作り直す必要はほぼ不要で、やることはゲーム世界に配置するカメラの画角を広げるだけです(実際のPCゲームではグラフィックスオプションで設定できます)。

なぜなら、「3Dグラフィックスベースのゲーム」の場合、カメラが見えない範囲にまで、ゲーム世界自体は構築できているからです。我々人間も、現実世界において同じ場所から景色を見るにしても、ウインク状態で片目で見るときよりも、両目を開けて見たときの方が広い範囲を見られますよね。あれと同じ理屈です。

筆者は32:9の超横長アスペクトのゲーミングモニター製品を使ってのゲーム実況をやっています。

おわりに

第一回ということで、まずは「ゲームグラフィックスの入口」の話題をお届けしました。

知っている人にとっては当たり前の話ばかりだったと思いますが、今回話したような内容は、「ゲーム作り」に関心はあるけど、実際にどのようにしてゲームの映像が作られているのかを考えたこともないというような学生さんに話すと驚かれることが多いです。

最後に紹介した「超横長アスペクト比のゲーム映像」の話題は、実際に筆者がアスペクト比32:9でゲームプレイ実況配信を行っていたときに受けた「なんでゲームを作り直さずに16:9や32:9のゲーム映像が表示できるのですか?」という質問がきっかけになっています。3Dゲームグラフィックスが当たり前になりすぎていて、根本的な部分が逆に不思議に思えてしまうんだと思います。

こうした基本的なことが分かってくると、実際にゲーム制作に携わったときにも、ゲーム機やゲームエンジン、あるいはゲーム開発の各工程がどんな意味を持ち、どんな技術で成り立っているのかがイメージしやすくなり、深く理解ができるようになると思います。

というわけで、今回を踏まえて、次回からは「3Dグラフィックスベースのゲームの映像が、ゲーム機の中でどのように描画されているのか?」そんな話題をお届けしようかと思っています。


ゲーム制作者になるための3Dグラフィックス技術

3Dゲームグラフィックスの成り立ちや、そこで使われている技術について、もう少し開発者に近い目線で書いた書籍も出しています。

といっても、今回の連載記事と同様に、こちらの書籍にもプログラムコードはほとんどなくて、「アルゴリズムの解説」や「概念の理解」に焦点をあてた内容になっています。

今回の連載でもそうなのですが、誌面の要所要所に挿入されている解説イラストは、西川善司が全てラフ画を描いておりますので、今回の連載記事の図解に好感触を抱いていただけたら、この書籍も楽しめるかと思います。

3Dゲームグラフィックス表現の実例として、実在のゲーム画面を許可を取得して掲載していますので「あのゲームの映像表現は、こういう仕掛けだったのか」という種明かしも楽しめます。紙の書籍と電子書籍版がありますので、機会があれば手に取ってご覧下さい!


ゲーム制作者になるための3Dグラフィックス技術西川善司のYouTubeチャンネル
関連記事
【西川善司が語る”ゲームの仕組み” Vol.2】いつもの日常とゲームの世界では時間の流れ方が違う?ゲームは”離散時間”で出来ている
2022.11.11
西川善司

プログラマーを経て技術系ジャーナリストへと転身。以降、半導体、ソフトウェア、グラフィックス、ディスプレイ、自動車、人工知能、ゲーム開発などの分野に注力した取材を行っている。

関連記事

【西川善司が語る“ゲームの仕組み” Vol.4】実際のゲームの「当たり判定」はカプセル剤で出来ていた!?
2023.10.16
【西川善司が語る“ゲームの仕組み” Vol.3】見た目とは違う!?ゲームの「当たり判定」
2023.03.03
【西川善司が語る”ゲームの仕組み” Vol.2】いつもの日常とゲームの世界では時間の流れ方が違う?ゲームは”離散時間”で出来ている
2022.11.11
大阪・日本橋の街並みがピクセルアートで描かれる。メイド喫茶ADV『電気街の喫茶店』プレイレポ&開発者インタビュー【BitSummit Drift】
2024.07.25
アクティブゲーミングメディアの新たなグローバルPRブランド「Graph」はパブリッシャーと何が違うのか?直接、話を聞いてみた【BitSummit Drift】
2024.07.25
SWERY氏・須田剛一氏が初コラボ。スラッシャーアクション『ホテル・バルセロナ』のプレイレポート、インタビューをお届け【BitSummit Drift】
2024.07.24

注目記事ランキング

2024.07.20 - 2024.07.27
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

フォグ(Fog)
フォグ 「霧」を意味する英単語。3DCGにおいて、現実の霧による見た目をシミュレーションする画面効果やエフェクトを指す。代表的なものとして、カメラから遠くにあるオブジェクトの色調を変化させることで遠近感を出す手法がある。
VIEW MORE

Twitterで最新情報を
チェック!