Mesh Renderer コンポーネントはメッシュをレンダリングします。Mesh Renderer は同じゲームオブジェクト上の Mesh Filter コンポーネントと連動し、Mesh Filter が参照するメッシュを描画します。
可変 (deformable) メッシュをレンダリングするには、代わりに Skinned Mesh Renderer を使用します。
C# コードでは、MeshRenderer クラスは、Mesh Renderer コンポーネントを表します。 MeshRenderer
クラスは、その機能の多くをRenderer クラスから継承しています。そのため、このコンポーネントは Renderer
を継承する他のコンポーネント、例えば Line Renderer や Trail Renderer などと多くの共通点があります。
A: Materials
B: Lighting
C: Lightmapping
D: Probes
E: Additional Settings
Materials セクションには、このコンポーネントが使用するすべての マテリアル が列挙されています。
プロパティ | 説明 |
---|---|
Size | マテリアルリストの要素数です。 要素数を減らすと、リストの末尾にある要素が削除されます。要素数を増やすと、リストの末尾に新しい要素が追加されます。新しい要素には、リストの末尾にある要素が使用しているマテリアルと同じマテリアルが使用されます。 |
Element | リスト内のマテリアル。各要素にマテリアルアセットを割り当てることができます。 デフォルトでは、Unity はマテリアルの名前に基づいて、リストをアルファベット順に並べます。このリストは順序を変更することができ、順序を変更すると Unity は自動的に要素の番号を更新します。 |
ノート: サブメッシュの数よりもマテリアルの数が多い場合、Unity は最後のサブメッシュを残っている各マテリアルでレンダリングし、1 つずつ重ねていきます。マテリアルが完全に不透明でない場合、さまざまなマテリアルを重ねて、興味深い視覚効果を作成できます。ただし、完全に不透明なマテリアルは前のレイヤーを上書きします。そのため、Unity が最後のサブメッシュに不透明なマテリアルを加えると、パフォーマンスに悪い影響があり、メリットがありません。
Lighting セクションには、ライティングに関連するプロパティを含まれています。
プロパティ | 説明 | |
---|---|---|
Cast Shadows | このレンダラーが、適切な Light に照らされるときに影を作るかどうか、また影を作る方法を指定します。 このプロパティは Renderer.shadowCastingMode API に対応します。 |
|
On | このレンダラーは、影を投影するライトが当たるときに影を投影します。 | |
Off | このレンダラーは、影を作りません。 | |
Two-sided | このレンダラーは 2 面の影を作ります。つまり、平面や四角形のような片面オブジェクトは、光源がメッシュの背後にある場合でも、影を落とすことができます。 ベイクしたグローバルイルミネーション または Enlighten リアルタイムグローバルイルミネーション が両面シャドウをサポートするためには、マテリアルが Double Sided Global Illumination をサポートする必要があります。 |
|
Shadows Only | このレンダラーは影を作りますが、レンダラー自体は可視ではありません。 | |
Receive Shadows | このレンダラーに投影された影を表示するかどうかを指定します。 このプロパティは、このシーンで Baked Global Illumination または Enlighten Realtime Global Illumination を有効にする場合にのみ、効果があります。 このプロパティは、Renderer.receiveShadows API に対応します。 |
|
Contribute Global Illumination | ベイク時に行われるグローバルイルミネーションの計算に、このレンダラーを加えます。 このプロパティは、このシーンで Baked Global Illumination または Enlighten Realtime Global Illumination を有効にした場合にのみ、効果があります。 このプロパティを有効にすると、ゲームオブジェクトの Static エディターフラグ にある Contribute GI フラグが有効になります。これは、StaticEditorFlags.ContributeGI APIに対応します。 |
|
Receive Global Illumination | Unity が、ベイクされたライトマップから、またはランタイムのライトプローブから、このレンダラーにグローバルイルミネーションデータを提供するかどうかを指定します。 このプロパティは、Contribute Global Illumination を有効にした場合にのみ編集可能です。このシーンに対して Baked Global Illumination または Enlighten Realtime Global Illumination を有効にした場合にのみ、効果があります。 このプロパティは、MeshRenderer.receiveGI API に対応します。 |
|
Lightmaps | Unity は、ライトマップからこのレンダラーにグローバルイルミネーションデータを提供します。 | |
Light Probes | Unity はシーン内の Light Probes からこのレンダラーにグローバルなイルミネーションデータを提供します。 | |
Prioritize Illumination | このプロパティを有効にすると、Enlighten リアルタイムグローバルイルミネーションの計算にこのレンダラーが常に含まれるようになります。これにより、パフォーマンス上の理由から通常グローバルイルミネーションの計算から除外されるものであっても、レンダラーが遠くのエミッシブの影響を受けることが保証されます。 このプロパティは、Contribute GI がゲームオブジェクトの Static エディターフラグ で有効になっており、プロジェクトがビルトインレンダーパイプラインを使用し、Enlighten Realtime Global Illumination がシーンで有効になっている場合にのみ表示されま す。 |
Lightmapping セクションには、ベイクしたライトマップとリアルタイムのライトマップに関連するプロパティが含まれています。
このセクションは、Receive Global Illumination が Lightmaps に設定されている場合にのみ表示されます 。
プロパティ | 機能 |
---|---|
Scale in Lightmap | ライトマップ内のレンダラーの UV の相対的なサイズを指定します。 値が 0 の場合、レンダラーはライトマップに含まれませんが、シーン内の他のレンダラーのライティングに影響します。1.0 より大きい値は、このオブジェクトに使用されるピクセル数 (ライトマップ解像度) を増加させ、1.0 未満の場合はピクセル数を減少させます。 このプロパティを使用してライトマップを最適化し、重要で詳細に表現したい領域がより正確にライティングされるようにすることができます。例えば、平らで暗い壁を持つ孤立した建物では、低いライトマップスケール (1.0 未満) を使用しますが、カラフルなオートバイコレクションが 1 か所に集められて展示してある場面では、高いスケール値が必要です。 |
Stitch Seams | このレンダラーの ライトマップの継ぎ目の縫合 を有効化します。 このプロパティは MeshRenderer.stitchLightmapSeams API に対応します。 |
Lightmap Parameters | こレンダラーの Lightmap Parameters アセットを選択または作成します。 |
Optimize Realtime UVs | こレンダラーに対して リアルタイムライトマップ UV をマージするかどうかを決定します。 このプロパティは、プロジェクトがビルトインレンダーパイプラインを使用し、シーンで Enlighten の Realtime Global Illumination が有効になっている場合にのみ表示されます。 |
Max Distance | リアルタイムのライトマップで UV チャートの簡略化に使用される最大ワールド空間距離を指定します。チャートがこの距離内の場合は、チャートは簡略化されます。 このプロパティは、プロジェクトでビルトインレンダーパイプラインが使用されており、Enlighten の Realtime Global Illumination がシーンで有効になっている場合にのみ表示されます。 |
Max Angle | リアルタイムのライトマップで UV エッジを共有する面の間の最大角 (度) を指定します。面の間の角がこの値より小さい時は、UV チャートは簡略化されます。 このプロパティは、プロジェクトでビルトインレンダーパイプラインが使用されており、Enlighten の Realtime Global Illumination がシーンで有効になっている場合にのみ表示されます。 |
Ignore Normals | これを有効にすると、リアルタイムのライトマップの UV チャートが分割されるのを防ぎます。 このプロパティは、プロジェクトでビルトインレンダーパイプラインが使用されており、Enlighten の Realtime Global Illumination がシーンで有効になっている場合にのみ表示されます。 |
Min Chart Size | リアルタイムのライトマップの UV チャートに使用する最小テクセルサイズを指定します。ステッチが必要な場合は、値を 4 にすると 4x4 テクセルのチャートを作り、ライティングと指向性を格納します。ステッチが不要な場合は、値を 2 にするとテクセルの密度を減らし、ライティングのビルド時間を短縮しゲームパフォーマンスを向上させます。 このプロパティは、プロジェクトでビルトインレンダーパイプラインが使用されており、Enlighten の Realtime Global Illumination がシーンで有効になっている場合にのみ表示されます。 |
ライティングデータをベイクした場合 (メニュー: Window > Rendering > Lighting > Generate Lighting)、このセクションには、このレンダラーが使用する現際のシーンのベイクしたライトマップとリアルタイムのライトマップも表示されます。
Probes セクションには、ライトプローブ と リフレクションプローブ に関するプロパティが含まれています。
プロパティ | 説明 | |
---|---|---|
Light Probes | このレンダラーが ライトプローブ システムから、ライトを受ける方法を設定します。 このプロパティは、Renderer.lightProbeUsage APIに対応します。 |
|
Off | レンダラーは補間されたライトプローブを使用しません。 | |
Blend Probes | レンダラーは補間されたライトプローブを 1 つ使用します。これはデフォルトです。 | |
Use Proxy Volume | レンダラーは、補間されたライトプローブの 3D グリッドを使用します。 | |
Custom Provided | レンダラーは Light Probe シェーダーの統一値を MaterialPropertyBlock から抽出します。 | |
Proxy Volume Override | Light Probe Proxy Volume コンポーネントを持つ別のゲームオブジェクトへの参照を設定します。 このプロパティは、Light Probes が Use Proxy Volume に設定される場合にのみ表示されます。 |
|
Reflection Probes | レンダラーが リフレクションプローブ システムからどのようにリフレクションを受けるかを設定します。 このプロパティは Renderer.probeAnchor API に対応します。 |
|
Off | リフレクションプローブを無効にします。Unity はリフレクションにスカイボックスを使用します。 | |
Blend Probes | Reflection Probes を有効にします。ブレンドはリフレクションプローブ間のみで発生します。これは、キャラクターが異なるライティング設定のエリア間を移動する可能性がある屋内環境で便利です。 | |
Blend Probes and Skybox | リフレクションプローブを有効にします。ブレンドは、リフレクションプローブ間、または、リフレクションプローブとデフォルトのリフレクションとの間で行われます。これは、屋外環境に便利です。 | |
Simple | リフレクションプローブを有効にしますが、2 つのボリュームが重なっている場合、リフレクションプローブ間のブレンドは行われません。 | |
Anchor Override |
ライトプローブ または リフレクションプローブ システムを使用するときに、Unity が補間位置を決定するために使用する Transform を設定します。デフォルトでは、レンダラーのジオメトリのバウンディングボックスの中心です。 このプロパティは、Renderer.probeAnchor API に対応します。 |
Additional Settings には付加的なプロパティが含まれています。
プロパティ | 説明 | |
---|---|---|
Motion Vectors | このレンダラーのピクセル単位の画面空間のモーションを、あるフレームから次のフレームまで追跡するために、モーションベクトルを使用するかどうかを設定します。この情報を使用して、モーションブラーなどのポストプロセスエフェクトを適用することができます。 ノート: すべてのプラットフォームでモーションベクターがサポートされているわけではありません。詳しくは、SystemInfo.supportsMotionVectors を参照してください。 このプロパティは、Renderer.motionVectorGenerationMode API に対応します。 |
|
Camera Motion Only | モーションを追跡するためにカメラの動きのみを使用します。 | |
Per Object Motion | このレンダラーのモーションを追跡するために特定のパスを使用します。 | |
Force No Motion | モーションを追跡しません。 | |
Dynamic Occlusion | これを有効にすると、静的遮蔽物 (Static Occluder) によってカメラのビューから隠されると、Unity はこのレンダリング対象オブジェクトをカリングし (除き) ます。これが無効になっている場合、このレンダリング対象オブジェクトが静的遮蔽物によってカメラのビューから隠されている場合、Unity はこのオブジェクトをカリングしません。 動的オクルージョンはデフォルトで有効になっています。壁の後ろにキャラクターの輪郭を描くなどの効果を出すには無効にします。 |
MeshRenderer