こんにちは。
Unityでサポートエンジニアをしている黒河です。

【クロカワさんは喋りたい】という形で雑談形式でツラツラと語るコーナーを不定期で連載していきたいと思います。

今すぐ役に立つチップスというよりも、いつか役立つかもしれない事をつらつらと話していこうと思っております。
「ゲームエンジンって何?」「リアルタイムレンダリングって?」「なんでゲームエンジンの絵は綺麗なの?」みたいな話をツラツラと書いていきます。

私たちの開発しているUnityはゲームエンジンなのですが、「ゲームエンジン」という言葉になじみのない方も多くいらっしゃると思います。
第一回目ですので、ゲームエンジンについてお話したいと思います。

■ゲームエンジンとは?

ゲームエンジンとは、ズバりビデオゲームを作成するためのソフトウェアです。
ビデオゲームを作成するには、様々なテクノロジーを組み合わせなければなりません。
ざっとあげるだけでも下記のように沢山の要素が出てきます。

  • 3DCGや画像ファイルを表示する処理
  • 画面内で動きをつけるために一定間隔で画面を更新する処理
  • 物理的な動きをするための物理演算処理
  • コントローラーやマウス・キーボードの入力を受け取って画面に映っているキャラクター等に反映する処理
  • マウスやタッチに反応するボタンとのUI処理
  • BGMを流したり効果音を鳴らすための音声処理

これらの要素をソフトウェアとしてくみ上げていくことでようやくビデオゲームの形になります。
上記にあげた要素はビデオゲームが動くために必要なテクノロジーであって、作成するための環境ではあります。
ですので動かすためのテクノロジーとは別に、それらを使ってゲームを作るための操作系(インターフェース)がなければゲーム開発は行えません。

そのため、下記のようなインターフェースが必要になってきます

  • 3次元空間内にオブジェクト(物やキャラクター)を配置する操作
  • 空間内に配置した物やキャラクターに対して、どんな動き、振る舞いをするかを設定していく操作
  • 他の人に配布するために、単独アプリケーションの形に書き出すビルド操作

ゲームを動作させるためのテクノロジーと、開発するためのインターフェースをパッケージにしてまとめたのがゲームエンジンです。
ビデオゲームで培われてきたテクノロジー・ノウハウがパッケージにまとまっています。
ゲームエンジンを使う事で、これらにダイレクトにアクセスしてより効率的にコンテンツ開発が出来ます。

■では何故 建築業界でゲームエンジンなのでしょうか?

1.BIMでの表現の広がり

ゲームエンジンを利用することで、ビデオゲームで培われてきたテクノロジーにダイレクトにアクセスできます。
BIMデータと組み合わせて 新しい形のコンテンツ開発がよりしやすくなってきます。

例えば、VR空間内でのトレーニングコンテンツであったり…

避難シミュレーションを視覚化したり…。

こういった新しい表現が可能になっています。

2.BIMデータを利用した体験をより広い人たちに体験を届けられる

ビデオゲームは、他のソフトウェアをインストールする必要なく単独アプリケーションでの形で提供しています。
相手に特別なソフトウェアをインストールしてもらうことなく、BIMデータを利用した体験を届ける事が出来ます。
ビルドして出来上がったものを一式渡せば、同じ体験が出来るようになっています。

UnityならばPCだけでなく、スマートフォン、Webブラウザ、VRゴーグルなど多くのプラットフォームに向けてコンテンツの開発が可能になります。

一般のお客さんにもBIMデータを利用したコンテンツを提供出来ますので、より広い人たちに体験を届ける事が出来ます。

次回は「リアルタイムレンダリングって何?」という話をしていきたいと思います。