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