このブログ投稿は、https://www.jianshu.com/p/e2aa4d898fb7から複製されています。
著者:きらめく
画像
Unity3Dは、ほとんどのビットマップ形式を画像素材として使用することをサポートしています
.psd
。レイヤーやレイヤー効果のあるファイルをフォーマットすることもできます。ただし、実際の使用では、ユニバーサル以外のファイル形式を直接使用することはお勧めしません。これは、どの形式の画像素材でも、Unity3Dはインポート時に自動的に変換プロセスを実行するためです。非ユニバーサル形式に直面している場合は、対応するサードパーティのソフトウェア関数を呼び出して変換を実行するため、実際の変換プロセスはまた、一部の特殊なファイル形式では、対応するソフトウェアがインストールされていないと、まったく認識されません。
したがって、PSを使用して画像素材を
.png
フォーマット(ロスレスおよびスモール)として保存してから、.png
フォーマットファイルを画像素材として使用することをお勧めします。
プロジェクトパネルで画像を選択すると、画像変換に対応するパラメータオプションがインスペクタに表示されます(別のテクスチャタイプを選択すると、他のオプションがわずかに異なることに注意してください)。
unity_image_01.png
unity_image_02.png
Texture Type
:テクスチャの種類を選択してくださいTexture Shape
:ありますが、ここでは表示領域に設けられプレビューがあり、マップ形式を選択2D
し、Cube
選択されたこの伝説の2種類が2D
、それは、2Dゲームの材料であるため、Advanced
:詳細オプション(省略)Alpha Source
:透過チャネルのソースを選択しますWrap Mode
:テクスチャリピートラッピング方法を変更しますRepeat
。これはClamp
、連続的に繰り返されることを意味します。つまり、モデルUVが(0,1)象限にない場合、テクスチャはアタッチされず、マテリアルのデフォルトカラーのみが表示Filter Mode
:通常、チャネルデータのフィルタリング方法が選択されBilinear
ますが、ハイダイナミックカラーマップ(hdr)の場合は、選択する必要があります。Point (no filter)
さまざまな種類のテクスチャ:
unity_image_03.png
Default
カラーマップである通常タイプとしてNormal map
法線マップとして使用されます。法線マップはこのタイプとして指定する必要があります。指定しないと、レンダリングが正しくありません。Editor GUI and Legacy GUI
Sprite
「スプライト」として使用されます。2Dスプライトは特殊な画像表示方法であり、画像が歪んだり、光を受けたりせず、切断可能な特性も備えています。通常、2DゲームのUI要素またはマテリアルとして使用されます。Cursor
ゲーム内のマウスの形状を置き換えるために使用されますCookie
Lightmap
ライトベイクされたテクスチャとして使用されます。以前にベイクされたテクスチャを直接インポートして使用したい場合があるため、このタイプを選択する必要があります。Single Channel
これはシングルチャンネル画像です。このタイプのテクスチャ変換後、アルファチャンネル情報のみが保持されます。
下の列は、テクスチャサイズとテクスチャ圧縮オプションについてです。
unity_image_04.png
Max Size
変換後のテクスチャの可能な最大サイズを表します。テクスチャ自体のサイズがこのサイズよりも小さい場合、テクスチャは拡大されませんが、テクスチャ自体のサイズがこのサイズよりも大きい場合は、に縮小されます。このサイズ;Compression
圧縮品質を選択します。高、中、低の3つのグレードがあります。Format
(少し)
最も重要なことは、すべての設定を完了した後、
Apply
ボタンをクリックして設定を適用する必要があるということです。そうしないと、無駄になります。その横にあるRevert
ボタンで、設定パラメータを変更前の状態に戻すことができます。
普通の絵素材
通常の画像素材のDefault
種類を選択できます。一部の非常に小さいテクスチャの場合、Max Size
プロパティを設定するのが最善であることに注意してください。これにより、システムリソースが節約されます。
スプライトタイプの素材
スプライトタイプはスプライトタイプとも呼ばれ、主にUI、パーティクル、2Dゲームなどで使用されます。
画像をスプライトタイプに設定すると、次のような特徴があります。まず、画像が圧縮されないため、JPEG画像の色の歪みが発生しません。次に、画像を複数のスプライトに分割できます。
Unity3D 2017は、Spriteの9つの正方形のグリッドセグメンテーション機能のサポートを追加しました。いわゆるジュゴンゲセグメンテーションとは、画像を3 * 3の方法で9つの部分に分割することを指します。画像をズームすると、異なる部分が異なる変更を受け、四隅の4つの部分(上部中央と下部)は変更されません。中央の2つの部分が水平方向に繰り返され(タイル)、左中央と右中央の2つの部分が垂直方向に繰り返され(タイル)、中央の部分が水平方向と垂直方向に一緒に繰り返されます(タイル)。この方法は、2Dゲームの地面、壁、ドア、窓での使用に非常に適しています。
法線マップの処理
法線マップはNormal map
typeに設定する必要があります。そうしないと、正しく認識されません。
HDR素材の処理
HDR素材は別途設定する必要があります。通常、スカイボールのテクスチャで使用されます。
HDRマテリアルで最も重要なことは、16ビットの色深度または32ビットの色深度に設定することです。そうしないと、エンジンが自動的に8ビットの色深度の通常のテクスチャに処理し、ハイダイナミックカラー情報が失われます。
シェーダー
シェーダーとマテリアルの違い
3Dソフトウェアを使用したことのある学生は、マテリアルの概念に精通しています。Mayaでは「マテリアルボール」と呼び、英語名は「マテリアル」です。しかし、Unity3D(および他の多くのゲームエンジン)では、通常、「マテリアル」はマテリアルではなくシェーダーを指すために使用されるため、ここでは、違いを示すために「シェーダー」と呼ばれる特別な中国名をシェーダーに付けました。
シェーダーは書かれたマテリアルスクリプトであり、シェーダーのコンパイル結果はさまざまな異なるマテリアルとして表示されます。多くのゲームは、より無料で最適化された独自のシェーダーを作成しますが、この機能はありません。システムによって提供されるデフォルトのシェーダーを使用するか、他の人が作成したシェーダーをダウンロードして使用することしかできません。
自分で作成したシェーダーを機能させるには、アセットフォルダーに配置する必要があります。プロジェクトパネルをクリックするCreate
か、直接右クリックして、さまざまなタイプのシェーダーリソースを作成することを選択できます。
unity_shader_01.png
シェーダーに書き込まれた設定に従って、シェーダーはマテリアル設定オプションのShader
ドロップダウンボックスに表示されます。たとえば、上の図のNewSurfaceShaderは[カスタム]列に表示されます。
組み込みの一般的に使用されるシェーダーの使用
組み込みのシェーダーが多すぎて、すべてが頻繁に使用されるわけではないため、ここでは各シェーダーで何ができるかについては詳しく説明せず、最も一般的に使用される基本的なカテゴリのみを紹介します。
Standard
シェーダーのタイプは、Mayaで使用したシェーダーに最も近いものです。初心者の便宜のために、このシェーダーを使用してすべてのマテリアルを作成できます。Mobile
このカテゴリのシェーダーは、その名前が示すように、モバイルプラットフォーム向けのゲームを作成するときに使用されるシェーダーであり、このカテゴリのシェーダーは基本的にさまざまな目的をカバーできます。Nature
このカテゴリのシェーダーは、主にUnity3D独自のツリータイプオブジェクト用に用意されており、一部の特別な属性は、ツリーオブジェクトの表示専用です。通常、ツリーを作成するときに、対応するマテリアルが自動的に割り当てられます。初心者は、シェーダーのタイプとパラメーターを無差別に変更しないでください。
同様に、ParticlesカテゴリのシェーダーはUnity3D独自のパーティクルシステム用に準備され、SkyboxカテゴリのシェーダーはUnity3Dの自動スカイボックス機能用に準備されています。スプライトはスプライトパッチ用で、UIはUIオブジェクトマッピング用です。、VR VR用です(使い方がわかりません)。Unlit
このカテゴリのシェーダーはすべて、いわゆる「ライトなし」シェーダーです。つまり、ライトはこのタイプのマテリアルに影響を与えません。
主にパフォーマンスの最適化を考慮して、非常に多くのカテゴリに分類されます。たとえば、標準シェーダーはもちろん、消灯シェーダーをシミュレートするために使用できますが、消灯シェーダーを使用すると、間違いなく多くの計算が削減されます。
材料
マテリアルは、シェーダーに基づくパラメータファイルと見なすことができます。また、アセットディレクトリにサフィックス名を付けて手動で作成する必要があります.mat
。
Mayaシェーダは
.ma
フォーマットファイルと一緒にUnity3Dにインポートできます(ただし、真剣に推奨されていません)。実際、Unity3DはMayaシェーダーの関連パラメーターを自動的に識別し、これ
.mat
に基づいてStadard Shaderに基づいて新しいファイルを作成し、変換されたモデルに割り当てました。したがって、実際には、新しいマテリアルの効果がMayaの場合と同じであるとは限りません。結局、2つのソフトウェアで使用されるレンダリング方法は大きく異なります。したがって、モデルをインポートした後、自分でマテリアルを作成し、手動で指定することをお勧めします。自動変換されたマテリアルを使用しない場合は、混乱を避けるために削除することをお勧めします。
したがって、Unity3Dでモデルにマテリアルを追加する一般的なプロセスは次のとおりです。
- 組み込みのシェーダーを使用していない場合は、最初にシェーダーリソースをダウンロードしてUnity3Dにインポートするか、ビジュアルシェーダープラグイン(Shader Forgeなど)を使用してシェーダーを作成する必要があります。
- Unity3Dで新しいマテリアルを作成し、モデルにアタッチします。
- このマテリアルを選択し、適切なシェーダーを指定します(Assetsディレクトリ内のすべての有効なシェーダーがマテリアルのシェーダー選択リストに自動的にロードされます)。
- マテリアルのさまざまなパラメータを変更し、さまざまなテクスチャを指定します
インスペクターの下部にあるプレビューウィンドウでマテリアルをプレビューでき、右上のモデルボタンでさまざまなプレビューモデル(ブロック、ボール、リング、片面など)を切り替えることができます。
一般的なシェーダーパラメーター
標準:
unity_material_standard.png
Albedo
これは色です。テクスチャリソースをプロジェクトパネルから前面の小さな正方形にドラッグして、テクスチャを追加できます。テクスチャは、後続の色設定と乗算されて、最終的な効果になります(つまり、色が乗算されます)。テクスチャの色に)Metallic
メタリックなテクスチャであり、値が大きいほど、自然な色(テクスチャの色×色の値)に向かって反射色が多くなります。Smoothness
滑らかさは、値が高いほど、表面が滑らかになり、ハイライトがより集中し、反射がより鮮明になります。Source
これは透明チャンネルのソースです。アルベドマップの透明チャンネルを使用するか、メタリックマップの透明チャンネルを使用するかを選択できます。Normal Map
法線マップですHeight Map
高低差チャートですOcclusion
AOCCの効果をシミュレートするテクスチャです。Detail Mask
これは、ディテールマスクのレイヤーを表面に重ねるときに使用されるテクスチャです。Emission
チェックとは、マテリアルが「自発光」であることを意味し、ライトの色、ライトマップ、およびライト強度を指定するための追加のColorパラメータがあります。強度は1以上に設定できます。これは、非常に明るいオブジェクトであることを意味します。自己照明材料は、ライトベーキングの結果に影響を与えますTiling
テクスチャの繰り返し回数ですOffset
テクスチャの変位ですかSecondary Maps
二次詳細マップを追加することが可能です。オブジェクトがカメラに非常に近い場合、二次詳細マップを表示するように自動的に切り替わります。Detail Slbedo ×2
これは二次詳細カラーマップです。元のテクスチャの2倍のサイズになるように作成することをお勧めします。Normal Map
二次詳細法線マップです
Tiling
同上Offset
同上UV Set
UVグループを選択することです
標準(スペキュラーセットアップ)とスタンダードの唯一の違いは、属性のSpecular
代わりにMetallic
スペキュラーセットアップを使用してハイライトを設定することです。これにより、カラーマップの色とは異なるハイライトカラーを取得できます。
unity_material_standard2.png
モバイル/バンプスペキュラー:
unity_material_mobile_specular.png
モバイルシェーダーははるかに単純で、最も基本的なパラメーターのみがあることがわかります。
Shininess
:輝度Base (RGB) Gloss (A)
:ここでは、テクスチャのRGBチャンネルが色として使用され、Aチャンネルがハイライトマップとして使用されます。Normalmap
:法線マップ
消灯/テクスチャ:
unity_material_unlit_texture.png
Unlitタイプのシェーダーはさらに単純で、テクスチャパラメーターのみがあります。Unlit / Colorはよりシンプルで、カラーパラメータは1つだけです。Unlit / Transparentは、テクスチャのAチャネルを認識し、それを透明テクスチャとして使用できます。Unlit/ Transparent Cutoutはそれに似ていますが、透明テクスチャの処理方法が異なります。これにより、半透明領域が完全に透明または完全に不透明になります。 。