パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス カメラコンポーネント〜

カメラコンポーネント

スクリプトへの切り替え カメラは、世界をキャプチャしてプレイヤーに表示するデバイスです。カメラをカスタマイズして操作することで、ゲームのプレゼンテーションを真にユニークなものにすることができます。シーン内に無制限の数のカメラを配置できます。任意の順序で、画面上の任意の場所に、または画面の特定の部分のみにレンダリングするように設定できます。

カメラインスペクターのリファレンス

Unity は、プロジェクトが使用するレンダー パイプラインに応じて、カメラ インスペクターにさまざまなプロパティを表示します。

プロジェクトでユニバーサル レンダー パイプライン (URP) を使用している場合は、URP パッケージのドキュメント マイクロサイトを参照してください。
プロジェクトで高解像度レンダー パイプライン (HDRP) を使用している場合は、HDRP パッケージのドキュメント マイクロサイトを参照してください。
プロジェクトで組み込みのレンダー パイプラインを使用する場合、Unity には次のプロパティが表示されます。

カメラはプレイヤーにゲームを表示するために不可欠です。 これらをカスタマイズ、スクリプト化、または親化して、想像できるほぼあらゆる種類の効果を実現できます。 パズル ゲームの場合は、パズルの全体像を表示するためにカメラを静止させておくとよいでしょう。 一人称シューティング ゲームの場合、カメラをプレイヤー キャラクターにペアレント化し、キャラクターの目の高さに配置します。 レーシング ゲームの場合は、おそらくカメラがプレイヤーの車両を追跡するでしょう。

複数のカメラを作成し、それぞれに異なる深度を割り当てることができます。 カメラは低深度から高深度まで描画されます。 つまり、深度 2 のカメラは、深度 1 のカメラの上に描画されます。正規化ビューポート長方形プロパティの値を調整して、画面上のカメラのビューのサイズと位置を変更できます。 これにより、ミサイル カム、マップ ビュー、バック ミラーなどの複数のミニビューを作成できます。

レンダーパス
Unity はさまざまなレンダリング パスをサポートしています。 ゲームの内容やターゲットのプラットフォーム/ハードウェアに応じて、どちらを使用するかを選択する必要があります。 レンダリング パスが異なれば、機能やパフォーマンス特性も異なり、主にライトとシャドウに影響します。 プロジェクトで使用されるレンダリング パスは、プレーヤー設定で選択されます。 さらに、カメラごとにこれをオーバーライドできます。

レンダリング パスの詳細については、レンダリング パスのページを確認してください。

フラグをクリアする
各カメラは、ビューをレンダリングするときに色と深度の情報を保存します。 画面の描画されていない部分は空であり、デフォルトでスカイボックスが表示されます。 複数のカメラを使用している場合、各カメラは独自の色と深度の情報をバッファに保存し、各カメラがレンダリングするにつれてさらに多くのデータを蓄積します。 シーン内の特定のカメラがそのビューをレンダリングするときに、クリア フラグを設定してバッファ情報のさまざまなコレクションをクリアできます。 これを行うには、次の 4 つのオプションのいずれかを選択します。

スカイボックス
これがデフォルトの設定です。 画面の空の部分には、現在のカメラのスカイボックスが表示されます。 現在のカメラにスカイボックスが設定されていない場合は、ライティング ウィンドウ (メニュー: ウィンドウ > レンダリング > ライティング) で選択したスカイボックスがデフォルトになります。 その後、背景色に戻ります。 あるいは、Skybox コンポーネントをカメラに追加することもできます。 新しい Skybox を作成する場合は、このガイドを使用できます。

ソリッドカラー
画面の空白部分には、現在のカメラの背景色が表示されます。

深さのみ
プレイヤーの銃を環境内にクリップさせずに描画したい場合は、1 つのカメラを深度 0 に設定して環境を描画し、別のカメラを深度 1 に設定して武器のみを描画します。 武器のカメラのクリアフラグを深度のみに設定します。 これにより、画面上に環境のグラフィック表示が維持されますが、各オブジェクトが 3D 空間のどこに存在するかに関する情報はすべて破棄されます。 銃を引くと、銃が壁にどれだけ近づいているかに関係なく、不透明な部分が描かれたものを完全に覆います。

クリアしないでください
このモードでは、カラー バッファも深度バッファもクリアされません。 その結果、各フレームが次のフレームの上に描画され、にじみのような効果が生じます。 これは通常ゲームでは使用されず、カスタム シェーダーで使用される可能性が高くなります。


一部の GPU (主にモバイル GPU) では、画面をクリアしないと、次のフレームで画面の内容が未定義になる可能性があることに注意してください。 一部のシステムでは、画面に前のフレーム画像、真っ黒な画面、またはランダムな色のピクセルが含まれる場合があります。

クリッププレーン
Near および Far Clip Plane プロパティは、カメラのビューの開始位置と終了位置を決定します。 平面はカメラの方向に対して垂直に配置され、その位置から測定されます。 Near プレーンはレンダリングされる最も近い場所であり、Far プレーンは最も遠い場所です。

クリッピング プレーンは、深度バッファーの精度がシーン全体にどのように分散されるかも決定します。 一般に、精度を高めるには、Near プレーンをできるだけ遠くに移動する必要があります。

ニアクリップ面とファークリップ面は、カメラの視野によって定義される平面とともに、カメラ錐台として一般に知られているものを表すことに注意してください。 Unity は、オブジェクトをレンダリングするときに、この錐台の完全に外側にあるオブジェクトが表示されないようにします。 これは錐台カリングと呼ばれます。 錐台カリングは、ゲームでオクルージョン カリングを使用するかどうかに関係なく発生します。

パフォーマンス上の理由から、小さなオブジェクトを早めにカリングすることをお勧めします。 たとえば、小さな岩や瓦礫は、大きな建物よりもはるかに短い距離で見えないようにすることができます。 これを行うには、小さなオブジェクトを別のレイヤーに配置し、Camera.layerCullDistances スクリプト関数を使用してレイヤーごとのカリング距離を設定します。

カリングマスク
カリング マスクは、レイヤーを使用してオブジェクトのグループを選択的にレンダリングするために使用されます。 レイヤーの使用方法の詳細については、ここを参照してください。

正規化されたビューポートの四角形
正規化されたビューポート四角形は、特に現在のカメラ ビューが描画される画面の特定の部分を定義するためのものです。 画面の右下隅にマップ ビューを配置したり、左上隅にミサイル先端ビューを配置したりできます。 少しデザイン作業を行うと、ビューポート長方形を使用していくつかのユニークな動作を作成できます。

正規化されたビューポート長方形を使用すると、2 プレイヤーの分割画面エフェクトを簡単に作成できます。 2 つのカメラを作成したら、両方のカメラの H 値を 0.5 に変更し、次にプレーヤー 1 の Y 値を 0.5 に、プレーヤー 2 の Y 値を 0 に設定します。これにより、プレーヤー 1 のカメラが画面の中腹から上部まで表示されるようになり、 プレーヤー 2 のカメラは下部から開始し、画面の途中で停止します。

正書法
カメラを正投影としてマークすると、カメラのビューからすべての視点が削除されます。 これは主にアイソメトリック ゲームまたは 2D ゲームを作成する場合に役立ちます。

正投影カメラ モードではフォグが均一にレンダリングされるため、期待どおりに表示されない場合があることに注意してください。 これは、ポストパースペクティブ空間の Z 座標がフォグの「深さ」に使用されるためです。 これは正投影カメラにとって厳密には正確ではありませんが、レンダリング時のパフォーマンス上の利点を得るために使用されます。

レンダリングテクスチャ
これにより、カメラのビューがテクスチャ上に配置され、別のオブジェクトに適用できるようになります。 これにより、スポーツアリーナのビデオモニター、監視カメラ、反射などを簡単に作成できます。

ターゲット表示
カメラには最大 8 つのターゲット表示設定があります。 カメラは、最大 8 台のモニターのいずれかにレンダリングするように制御できます。 これは、PC、Mac、Linux でのみサポートされます。 ゲームビューでは、カメラインスペクターで選択した表示が表示されます。

    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス カメラコンポーネント〜
  • 場所:オンラインゲーム
  • 料金:¥0 (消費税込)