Unityは、ゲームエンジンです。
テクスチャ編集、ライティング、レンダリングなどを行います。
シーン(Scenes)はゲームのオブジェクトを含みます。 メインメニューの作成や、それぞれのレベルの作成に用いられます。それぞれのファイルが異なるレベルを表すと考えてみましょう。 すべてのシーンで環境、障害物、修飾物を配置し、効果的にゲームをデザインし開発することができます。
[project]タブ:+:[Scene] シーン作成
ショートカット「command+N」
アセットの使用(Working with Assets): ゲームを作る上で、大きな部分を占めるのが、アセットソースファイルをゲームオブジェクトで使用することです。 これは、テクスチャ、モデル、サウンドエフェクト、スクリプトの動作にも適用されます。Unityの中でプロジェクトビューを用いて、 ゲームを構成する全てのファイルに、素早くアクセスできます。
[Herarchy]タブ:+:[Volume]▶[Sky and Fog Volume] 環境設定アセット作成
[Edit]メニュー:[Project Settings...] アセットを変更
IBL(Image Based Lighting)
HDR画像を元に光源を再現する。
HDR画像[Inspector]タブ:[Texture Shape]を[Cube]
環境設定アセット[Inspector]タブ:[Add Override]▶[Exposure] HDR用の設定
環境設定アセット[Inspector]タブ:[Visual Enviroment]▶Sky Type [HDRI sky]
環境設定アセット[Inspector]タブ:[Add Override]▶[sky]▶[HDRI sky] hdri skyにHDR画像をセット
[Environment(HDRP)]:[Profile] 環境設定アセットのSettingProfile
[Environment(HDRP)]:[Static Lighting Sky] HDRISky
インポート: Unity の外部で作成されたアセットは、Project フォルダー直下にある Assets フォルダーに直接エクスポートするか、 Assets フォルダーにコピーすることで Unity プロジェクトにインポートできます。
[Assets]メニュー:[Import New Asetts]
「ファイルを直接フォルダにドラッグでも可」
ゲームオブジェクトの配置: ゲームオブジェクトをシーンに追加すると、 移動ツール(Transform Tools)を使って好きな場所に配置できます。 また、移動値をインスペクタで入力することで、正確な配置や回転が行えます。
ディレクショナルライト(Directional Light)はシーンで太陽光などの効果を作り出すのにとても役立ちます。 太陽のようにさまざまな様子に変化するディレクショナルライトは、限りなく遠くに存在する光源から発する光と考えることができます。 ディレクショナルライトは明確な光源の位置を持たないので、ライトオブジェクトはシーン内のどこにでも置くことができます。
[Herarchy]タブ:+:[Light]▶[Directional Light] 光源アセット作成
光源アセット[Inspector]タブ:[Emission] 設定
Shadow: コンポーネントはシンプルな輪郭エフェクトを Text や Image などのグラフィックコンポーネントに加えます。 このコンポーネントはグラフィックコンポーネントと同じゲームオブジェクト上になければなりません。
光源アセット[Inspector]タブ:[Shadow] 影の設定
環境設定アセット[Inspector]タブ:[Add Override]▶[shadowing]▶[shadws]
法線マップ は バンプマップ の一種です。モデル表面に凹凸や溝、傷などのディティールを追加する
特殊な種類のテクスチャで、実際のジオメトリであるかのように光を受けます。
法線マップは、アセットフォルダーのテクスチャファイル置き場から普通にインポートできます。
ですが、Unityにそのテクスチャが法線マップであることを宣言する必要があります。
これは、インポート設定のインスペクターで “Texture Type” を “Normal Map” に変更することで行います。
法線マップ(Normal Map)作成
元のテクスチャを複製、インスペクター:Texture TypeをDefaultから“Normal Map”に変更、Grayscaleチェック Apply。
マテリアルに適用
インスペクター:SurfaceInputs NomalMapSpace NomalMapにテクスチャ適用。
(a) | (b) | |
a).before | b).after(法線マップ適用) | |
---|---|---|
no comment | やり過ぎですが;;調整できます。 |
混合(Mixed) ライトは、ランタイムにトランスフォームや視覚関連プロパティー (色や強度など) を変更できますが、
厳しい制限内でのみ可能です。混合ライトは静的ゲームオブジェクトと動的ゲームオブジェクトの両方を照らし、
常に直接光を提供し、必要に応じて間接光を提供できます。混合 ライトで照らされた動的ゲームオブジェクトは、
常に他の動的ゲームオブジェクトにリアルタイムの影を投げます。
Baked Indirect (ベイクした間接) モードは、シーン内のすべての混合ライトで共有されるライティングモードです。
良い使用例は、廊下でつながる複数の部屋内でのシューティングゲームやアドベンチャーゲームを作成する場合です。
Shadowmask モードはすべての混合ライトが共有するライティングモードです。
良い使用例は、ベイクした影が地平線までのびるオープンワールドのシーンで、
昼夜のサイクルのような動的なライティングがないものです。
Subtractive モードは直接光をライトマップにベイクするただ 1 つの混合ライティングモードです。
良い例は、外部レベルと少ない動的ゲームオブジェクトを持つトゥーンシェーディング (漫画スタイル) ゲームを構築する場合です。
グローバルイルミネーション(GI)は光源から直接表面に当たる光(直接光)だけでなく、面から他の面へ、
光がどのように照り返すか(間接光)をモデルにしたシステムです。
[Window]メニュー:[Rendering] [Lighting Settings] "Mixed Lighting" Lighting Mode
ライトの種類は、ポイントライト、スポットライト、ディレクショナルライト、エリアライトなど。
[GameObject]メニュー:[Light] "Directional Light" "Point Light" "Spot Light" "Area Light"
リフレクションプローブ は、全方向に向かってその周囲の球状のビューをキャプチャするカメラのようなものです。
キャプチャしたイメージはその後、反射マテリアルを持つオブジェクトに使用される キューブマップ として保存されます。
リフレクションプローブの中には、指定したシーンで使用され、オブジェクトは最も距離の近いプローブによって生成された
キューブマップを使うように設定されているものもあります。
その結果、オブジェクトの反射を、その環境と調和した、説得力のある形で変化させる事ができます。
[GameObject]メニュー:[Light] "Reflection Probe"
Baked モードは、全機能を備えたライトよりむしろ、局所的な環境光に使用します。
ランタイム前に環境光からの照明を事前計算し、ランタイム時のライティング計算には入れません。
つまり、ベイクしたライトにはランタイムの負荷がありません。
ライトマップで静的ゲームオブジェクトから静的ゲームオブジェクトに高品質の影を作成します。
(a) | (b) | |
a).Light, Probe 、配置 | b).ベイク | |
---|---|---|
no comment | no comment |
スクリプタブルレンダーパイプライン(Scriptable Render Pipeline、SRP) は、
Unity の従来の ビルトインレンダリングパイプライン に替わるものです。
SRP を使用すると、C# スクリプトを使用してレンダリングの制御や調整ができます。このようにして、
必要に応じてレンダリングパイプラインをわずかに変更したり、完全に作成しカスタマイズしたりすることができます。
軽量レンダリングパイプライン
LWRP (UniversalRP) は、さまざまなレベルのハードウェアで使用できます。
このテクノロジーはモバイルプラットフォームにスケール可能で、ハイエンドのコンソールや PC にも使用できます。
LWRP を利用すると、高速でのレンダリングを高品質で行うことが可能です。
LWRP は、単純化された物理的なライティングとマテリアルを使用します。
HD レンダーパイプライン
HDRP は、コンソールや PC のようなハイエンドハードウェアをターゲットとしています。
HDRP を利用すると、高いレベルを求められるシナリオで現実的なグラフィックスを作成することができます。
HDRP はコンピュートシェーダー技術を使用するため、互換性のある GPU ハードウェアが必要です。