はじめてのUnity 【第7回 Unityのゲームシーン構築④ カメラ】

この記事は2014年9月24日に書かれたものです。内容が古い可能性がありますのでご注意ください。


はじめてのUnity 【第7回 Unityのゲームシーン構築④ カメラ】

ゲームシーン構築④ カメラ

前回は、ゲームシーン構築に重要なライト機能について記載しました。
今回は、カメラ機能について記載したいと思います。カメラ機能も設定ひとつでゲームの雰囲気や、操作性に大きく影響します。
それぞれの機能について詳しく知り、適切な設定をできるようになりましょう。


カメラ(Camera)

カメラは、主にゲーム中の視点に使われます。
配置する数に制限はなく、何個でも配置できますが、最低限1つのカメラが必要です。
複数のカメラを用いて、マルチプレイ用に画面を分割したり、別視点用のモニターを用意することもできます。
カメラ自体に動きを持たせたり、物理的に制御することも可能です。


カメラの設定

メインカメラのオブジェクトのインスペクタを見てみましょう。
全てのオブジェクトに共通のトランスフォーム(Transform)と、カメラ(Camera)のコンポーネントがあります。
カメラの設定は、カメラ(Camera)コンポーネントで行います。

WS000029
メインカメラのインスペクタ

カメラ(Camera)コンポーネントのプロパティ

以降は、カメラコンポーネントのプロパティについてみていきましょう。

Clear Flags

カメラがクリアする部分を決定します。カメラは、ビューをレンダリングする際に、色と深さに関する情報を記憶します。
複数台のカメラがある場合、それぞれのカメラがバッファに色と深さに関する情報を記憶します。
クリアフラグを設定することで、シーンにおいて任意のカメラがそのビューをレンダリングできます。
簡単に言うと、複数のカメラにより生じる重ね合わせ領域の、描画の優先度などを決定できます。

Skyboxデフォルトの設定です。画面の空白部分に、現在のカメラのスカイボックスが表示されます。
Solid Color画面の空白部分に、現在のカメラのBackground Color が表示されます。
Depth onlyDepthの値をもとに表示をクリアします。Depthに関しては後述します。
Don’t Clear色と深さの情報をクリアしません。

Background

スカイボックスの設定がされていない場合に、画面の空白部分に表示される色です。

Culling Mask

選択したオブジェクトグループをレンダリングするか否かを決定します。

Projection

背景をシミュレートする機能を切り替えます。
Perspective遠近法を使ってレンダリングします。背景感がある描画になります。
Orthographic遠近法を使わずにレンダリングします。オブジェクトが均一に描画されます。

Field of View (Perspective選択時のみ)

カメラの表示角度です。値(1~179)(度)

Size (Orthographic選択時のみ)

カメラのビューポイントのサイズです。

Clipping Planes

レンダリングの開始と停止をする、カメラからの距離です。Near とFar で指定した範囲が描画されます。

Nearレンダリングが開始されるカメラからもっとも近い点です。
Farレンダリングが開始されるカメラからもっとも遠い点です。

Viewport Rect

画面内でこのカメラビューが描画される場所を決定します。値(0~1)

Xカメラビューの描画が開始される水平位置
Yカメラビューの描画が開始される垂直位置
Wカメラビューの描画の幅
Hカメラビューの描画の高さ

この機能を使うと、二人プレイ用の画面構成を作ることができます。
例えば、カメラを2台配置して、それぞれのHの値を 0.5 にし、カメラ1のYの値を 0.5 に、カメラ2のYの値を 0 にします。
これにより、プレイヤー1用のカメラ1が画面上段に表示され、プレイヤー2用のカメラ2が画面下段に表示されます。

WS000030
2プレイヤー用の2画面構成

Depth

カメラを描画する順番です。値の大きいビューを優先表示します。値(-100~100)
例えば、シーン内でプレイヤーの持つ武器を切り取らずに描画したい場合、1台のカメラのDepthを 0 に設定して環境を描画し、もう1台のカメラのDepthを 1 に設定して武器のみを描画させます。そして、武器描画用のカメラのClear Flags をDepth only に変更することで、仮に武器より近くに他のオブジェクトが有ろうとも、武器が手前に描画されます。

Rendering Path

レンダリング方法に関する設定です。設定によって光や影などの効果が変わってきます。

Use Player Settingsプレイヤーの設定にしたがってレンダリングします。デフォルトの設定です。
Vertex Lit頂点ライティングです。一番軽いですが、リアルタイムシャドウなどは使えません。
Forward部分的にピクセルライティングを行います。一方向からの光のみ、リアルタイムシャドウをサポートします。
Deferred Lighting全ライティングをピクセル単位で行います。Unity Pro版のみ使用可能です。

Target Texture

Unity Pro版のみ使用可能です。カメラビューを他のオブジェクト上のテクスチャに配置します。
この機能を使うと、テレビ画面に映像を映したり、反射などを作成できます。

Occlusion Culling

オクルージョンカリングは、他のオブジェクトに隠れてカメラに映らなくなったオブジェクトのレンダリングを無効化する機能です。Unity Pro版のみ使用可能です。

HDR

HDR (High Dynamic Range) を有効にすると、通常よりもダイナミックレンジが広くなるため、より鮮やかな描画になります。


まとめ

カメラの設定も、ライトの設定同様に非常に細かく分かれています。
視覚的な設定の部分が、シーン構築において非常に重要な役割を持っているということですので、
それぞれの設定についてしっかり理解しておくとよいでしょう。


最後までお読みいただきありがとうございます。
← Unityの記事一覧にもどる

[Unity_728×90]

  • このエントリーをはてなブックマークに追加

PAGE TOP