歩き回れる3D空間を作る:その2

 Creating a 3D space to walk around : Part 2

Standard Assetsをインポートする

Unity AssetStoreには、ゲームをつくるための様々な素材が販売されており、それらを使用することで効率よく制作を行うことができます。 今回は、スターターキット的な素材が入っている Standard Assets を使用します。 Unityでプロジェクトを開いている状態で以下のURLからダウンロード&インポートしてください。

【重要】最新版Unity(2019.3)では、Standard Assetsをインポートするとエラーが出てしまいます。以下の対応でエラーが解消されます。

1. Projectウィンドウから、Assets > Standard Assets > Utilityを開く。
2. 「ForcedReset.cs」と「SimpleActivatorMenu.cs」というスクリプトファイルを削除

link : [ Standard Assets ]

重力を設定して物理演算を使う

物理演算とは、現実の空間のような物理法則のある空間をシミュレートする計算。
コンピューターの中に、現実によく似て(similar)いて、リアルタイムに起きる(simultaneous)別の世界を作る。

まず重力を与えてみる。
先ほど作った立方体などのプリミティブに対して、 rigidbodyというコンポーネントを追加することで、
重力が作用するようになる。ただし地面がないのでそのまま落下する。

地面を作る

プロジェクトファイルの中に、プロジェクト作成時にに追加したPrototypingのアセットが入っているので、
そこから FloorPrototypeを選択してシーンに配置する。いちおう座標(Position)を
x:0 y:0 z:0 にしておく。
Prototypingのアセットは、大まかなゲームシーンを検証するためのプレファブのブロックで、
床の他に壁や階段などのモデルがあって便利。 あと、Box ColliderのMaterialを変更すると、物理演算での質感を変更できる。

空間を歩き回る:1人称

これまで、デフォルトで配置されていた、非人称的な固定カメラを通じて世界を見ていたが、
自由に動き回れる(カメラを持った?)1人称のキャラクターを配置する。
まず、デフォルトの Main Camera のチェックボックスを外し、非アクティブにする。
Charactersアセットの中にFPSControllerというプリファブがあるので、
ドラッグしてステージ上に配置。
ゲームをプレイすると、いわゆるFPSゲームのように W,A,S,D + mouse で 操作できる。
これによって、ディスプレイ(窓)を通じて眺めていた向こう側の世界が、
航行可能で、私が見ているという、主観的で没入的な世界に変わる。

書き出し(アプリケーション)

メニューバーから、File > Build Settings をクリック。するとアプリケーション書き出しの設定画面が出る。
ここで必要な形式に設定して、Build And Run をクリックすると、ビルドされて実際にアプリケーションが起動する。
アプリケーションファイル自体は、プロジェクトのフォルダ内に保存される。

書き出し(webGL)

ブラウザ上で実行できる、webGLで書き出す場合、Platform を webGL に変更して、 Buildを実行。初回は結構ビルドに時間がかかる。書き出されたフォルダごとサーバーにアップロードするとwebから閲覧することができる。