教育事業部の事業内容 演劇、音楽のタレント並びに作詞家、作曲家、編曲家等アーティストの育成及びマネージメント、コンピュータ教室の経営等を行っています。
ゲームエンジン Unity オンラインマニュアル
教育事業 パルテア

〜Unity Graphics Mesh スキンメッシュ レンダラー コンポーネント〜

スキン メッシュ レンダラー コンポーネント
スクリプトに切り替える
スキン メッシュ
レンダラー コンポーネントは、変形可能なメッシュをレンダリングします。変形可能なメッシュには、スキン メッシュ (ボーンとバインド ポーズを持つメッシュ)、ブレンド シェイプを持つメッシュ、および布のシミュレーションを実行するメッシュが含まれます。

通常のメッシュをレンダリングするには、代わりにメッシュ レンダラー
とメッシュ フィルター
を使用します。

変形可能なメッシュまたは変形可能なメッシュを持つモデルをシーンに追加すると、Unity は結果のゲーム オブジェクトにスキン メッシュ レンダラー コンポーネントを追加します


C# コードでは、スキン メッシュ レンダラー クラスはスキン メッシュ レンダラー コンポーネントを表します。スキン メッシュ レンダラー クラスは、その機能の多くをレンダラー クラスから継承します。そのため、このコンポーネントは、ライン レンダラー
やトレイル レンダラー
など、レンダラーから継承する他のコンポーネントと多くの共通点があります。

スキン メッシュ レンダラーの可視性のトラブルシューティング

Unity はメッシュの境界を使用して、メッシュをレンダリングするかどうかを決定します。境界ボリューム全体がアクティブなカメラのビューの外側にある場合、Unity はメッシュをレンダリングしません。

スキン メッシュ レンダラーの場合、メッシュの境界は変形するにつれて変化します。Unity は、インポート時に存在するすべてのアニメーションを考慮して最大境界ボリュームを計算し、この値を使用して可視性を決定します。ただし、インポート後に発生する次の状況により、頂点またはボーンが最大既知の境界の外側に押し出される可能性があります。

加算アニメーション
実行時にスクリプトからボーンの位置を変更する
頂点の位置を変更する頂点シェーダーを使用する
ラグドールを使用する
このような状況が発生すると、Unity はメッシュの可視性を正しく判断できず、予期したとおりにメッシュを表示できない可能性があります。

このような場合は、次のいずれかの解決策を試して問題を解決できます。

境界を変更して、メッシュの最大潜在的境界ボリュームに一致させます。パフォーマンスが向上するため、可能な場合はこのオプションを使用してください。
オフスクリーン時に更新を有効にすると、メッシュが表示されていない場合でも、Unity は常にメッシュ境界を計算し続けます。 パフォーマンスが大きな問題ではない場合、または境界ボリュームのサイズを予測できない場合 (ラグドールを使用する場合など) は、このオプションを使用します。
スキン メッシュ レンダラー インスペクター リファレンス

スキン メッシュ レンダラー コンポーネントは、インスペクター ウィンドウに表示されます。

・プロパティ
・マテリアル
・ライティング
・プローブ
・追加設定

プロパティ

プロパティの説明
境界 メッシュが画面外にあるかどうかを判断するために Unity が使用する境界ボリュームを設定します。Unity は、モデル ファイルにメッシュとアニメーションをインポートするときに境界を事前に計算し、シーン ビューでモデルの周囲にワイヤフレームとして境界を表示します。

Update When Offscreen を True に設定すると、Unity はフレームごとにこれらの境界を再計算し、計算された値を使用してこのプロパティを上書きします。

このプロパティは Mesh.Bounds API に対応します。
BlendShapes メッシュで定義されたブレンド シェイプで Unity が使用するウェイト値を格納します。
Quality 頂点に影響を与えることができるボーンの最大数のランタイム キャップを設定します。

Unity がメッシュをインポートするとき、Unity は 1 から 32 までのボーンを使用してすべての頂点をスキンできます。影響を与えるボーンの数が多いほど、移動中の結果が向上します。ただし、これにより必要な計算リソースも増加するため、パフォーマンスに影響する可能性があります。

パフォーマンス上の理由から、ランタイム キャップを使用するよりも、インポート時に頂点に影響を与えるボーンの数を設定する方が適切です。これを行うには、モデル インポート設定ウィンドウのリグ タブを使用して、スキン ウェイト設定を調整します。

この設定を使用してコンポーネントごとにランタイム キャップを設定することに加えて、編集 > プロジェクト設定 > 品質 > その他 > スキン ウェイトでプロジェクトのグローバル制限を設定することもできます。

このプロパティは、Skinned MeshRenderer.quality API に対応します。

自動 品質設定 > スキン ウェイトで設定されたグローバル制限を使用します。

注: カスタム数のスキン ウェイトをインポートし、4 つ以上のボーンの影響を許可する場合は、このオプションを選択し、スキン ウェイトを無制限に設定する必要があります。

1 ボーン 頂点ごとに 1 つのボーンのみを使用します。

2 ボーン 頂点ごとに最大 2 つのボーンを使用します。

4 ボーン 頂点ごとに最大 4 つのボーンを使用します。4 つ以上のボーンが単一の頂点に影響を与えるようにするには、自動設定を使用します。
オフスクリーン時に更新 このオプションを有効にすると、メッシュがどのカメラからも見えなくても、フレームごとに境界ボリュームを計算します。このオプションを無効にすると、ゲームオブジェクトがオフスクリーンのときにスキニングが停止し、ゲームオブジェクトが再び表示されるときにスキニングが再開されます。

パフォーマンス上の理由から、これはデフォルトで無効になっています。

このプロパティは、SkinnedMeshRenderer.updateWhenOffscreen API に対応します。

メッシュ このレンダラーが使用するメッシュを設定します。メッシュには、有効なバインド ポーズとスキンのウェイトが含まれているか、ブレンド シェイプを使用しているか、布のシミュレーションを実行している必要があります。メッシュがこれらの手法のいずれも使用していない場合は、メッシュ レンダラーとメッシュ フィルターの使用を検討してください。

SkinnedMeshRenderer.sharedMesh プロパティに対応します。

ルート ボーン スケルトンの「ルート」となるトランスフォームを設定します。境界はこのトランスフォームに沿って移動します。

レンダリング レイヤー マスク このプロパティは、Unity がこのレンダラーを割り当てるレンダリング レイヤーを決定します。このプロパティを使用して、追加のレンダリング固有のレイヤー マスクを指定できます。これにより、レンダラーが持つマスクに基づいてレンダラーがフィルターされます。

このプロパティは、Renderer.renderingLayerMask API に対応します。

Unity は、スクリプタブル レンダー パイプラインを使用する場合にのみこのプロパティを表示します。
レンダラーの優先順位 レンダラーを優先順位で並べ替えます。低い値が最初にレンダリングされ、高い値が最後にレンダリングされます。

このプロパティは、Renderer.rendererPriority API に対応します。

Unity は、高解像度レンダー パイプラインを使用する場合にのみこのプロパティを表示します。
マテリアル

Unity の 2020.1 HDRP テンプレート サンプル プロジェクトのメッシュのワイヤーフレーム ビュー
Unity の 2020.1 HDRP テンプレート サンプル プロジェクトのメッシュのワイヤーフレーム ビュー
マテリアル セクションには、このコンポーネントが使用するすべてのマテリアルがリストされます。

プロパティの説明
サイズ マテリアル リスト内の要素の数。

要素の数を減らすと、Unity はリストの末尾にある要素を削除します。要素の数を増やすと、Unity はリストの末尾に新しい要素を追加します。 Unity は、リストの末尾の要素が使用するのと同じマテリアルを新しい要素に入力します。
要素 リスト内のマテリアル。各要素にマテリアル アセットを割り当てることができます。

デフォルトでは、Unity はマテリアルの名前に基づいてリストをアルファベット順に並べます。このリストは並べ替え可能で、順序を変更すると Unity は要素の数を自動的に更新します。
注: サブメッシュの数よりもマテリアルの数が多い場合、Unity は最後のサブメッシュを残りの各マテリアルでレンダリングします。マテリアルが完全に不透明でない場合は、異なるマテリアルを重ねて興味深い視覚効果を作成できます。ただし、完全に不透明なマテリアルは前のレイヤーを上書きするため、Unity が最後のサブメッシュに適用する追加の不透明マテリアルはパフォーマンスに悪影響を及ぼし、メリットはありません。

照明

照明セクションには、照明に関連するプロパティが含まれています。

プロパティの説明
影を落とす 適切なライトが当たったときに、このレンダラーが影を落とすかどうか、またその方法を指定します。

このプロパティは、Renderer.shadowCastingMode API に対応します。
オン このレンダラーは、影を落とすライトが当たったときに影を落とします。
オフ このレンダラーは影を落としません。
両面 このレンダラーは両面の影を落とします。つまり、平面や四角形などの片面のオブジェクトは、光源がメッシュの背後にある場合でも影を落とすことができます。

ベイクド グローバル イルミネーションまたは Enlighten リアルタイム グローバル イルミネーションが両面の影をサポートするには、マテリアルが両面グローバル イルミネーションをサポートしている必要があります。
影のみ このレンダラーは影を落としますが、レンダラー自体は表示されません。
影を受け取る Unity がこのレンダラーに投影された影を表示するかどうかを指定します。

このプロパティは、このシーンでベイクド グローバル イルミネーションまたは Enlighten リアルタイム グローバル イルミネーションを有効にした場合にのみ効果があります。

このプロパティは、Renderer.receiveShadows API に対応します。

グローバル イルミネーションの貢献 このレンダラーを、ベイク時に行われるグローバル イルミネーション計算に含めます。

このプロパティは、このシーンでベイク グローバル イルミネーションまたは Enlighten リアルタイム グローバル イルミネーションを有効にした場合にのみ効果があります。

このプロパティを有効にすると、ゲームオブジェクトの静的エディター フラグで Contribute GI フラグが有効になります。これは、StaticEditorFlags.ContributeGI API に対応します。

グローバル イルミネーションの受信 Unity が、ベイクされたライトマップから、またはランタイム ライト プローブから、このレンダラーにグローバル イルミネーション データを提供するかどうか。

このプロパティは、グローバル イルミネーションの貢献を有効にした場合にのみ編集可能です。このシーンでベイク グローバル イルミネーションまたは Enlighten リアルタイム グローバル イルミネーションを有効にした場合にのみ効果があります。

このプロパティは、MeshRenderer.receiveGI API に対応します。
ライトマップ Unity は、ライトマップからこのレンダラーにグローバル イルミネーション データを提供します。
ライト プローブ Unity は、シーン内のライト プローブからこのレンダラーにグローバル イルミネーション データを提供します。

イルミネーションを優先 このプロパティを有効にすると、このレンダラーが Enlighten リアルタイム グローバル イルミネーションの計算に常に含められます。これにより、パフォーマンス上の理由から通常はグローバル イルミネーションの計算から除外されるものであっても、レンダラーが遠方の発光体の影響を受けるようになります。

このプロパティは、ゲームオブジェクトの静的エディター フラグで Contribute GI が有効になっており、プロジェクトで組み込みのレンダリング パイプラインが使用され、シーンで Enlighten リアルタイム グローバル イルミネーションが有効になっている場合にのみ表示されます。

プローブ

プローブ セクションには、ライト プローブと反射プローブに関連するプロパティが含まれています。

プロパティの説明
ライト プローブ このレンダラーがライト プローブ システムから光を受け取る方法を設定します。

このプロパティは、Renderer.lightProbeUsage API に対応します。
オフ レンダラーは補間されたライト プローブを使用しません。
ブレンド プローブ レンダラーは補間されたライト プローブを 1 つ使用します。これがデフォルト値です。
プロキシ ボリュームを使用 レンダラーは補間されたライト プローブの 3D グリッドを使用します。
カスタム提供 レンダラーは、MaterialPropertyBlock からライト プローブ シェーダーのユニフォーム値を抽出します。
プロキシ ボリューム オーバーライド ライト プローブ プロキシ ボリューム コンポーネントを持つ別のゲームオブジェクトへの参照を設定します。

このプロパティは、ライト プローブがプロキシ ボリュームを使用するように設定されている場合にのみ表示されます。
リフレクション プローブ レンダラーがリフレクション プローブ システムから反射を受け取る方法を設定します。

このプロパティは、Renderer.probeAnchor API に対応します。
オフ リフレクション プローブを無効にします。Unity は反射にスカイボックスを使用します。
ブレンド プローブ リフレクション プローブを有効にします。ブレンドはリフレクション プローブ間でのみ行われます。これは、キャラクターが異なる照明設定の領域間を移動する可能性がある屋内環境で役立ちます。
ブレンド プローブとスカイボックス リフレクション プローブを有効にします。ブレンドはリフレクション プローブ間、またはリフレクション プローブとデフォルトの反射間で行われます。これは、屋外環境で役立ちます。
シンプル リフレクション プローブを有効にしますが、2 つの重なり合うボリュームがある場合、リフレクション プローブ間でブレンドは行われません。
アンカー オーバーライド ライト プローブまたはリフレクション プローブ システムを使用するときに、Unity が補間位置を決定するために使用する変換を設定します。デフォルトでは、これはレンダラーのジオメトリの境界ボックスの中心です。

このプロパティは Renderer.probeAnchor API に対応します。
追加設定

[追加設定] セクションには、追加のプロパティが含まれています。

プロパティの説明
スキン モーション ベクトル このオプションを有効にすると、メッシュ スキン データをダブル バッファリングして、Unity がスキン モーションを補間し、モーション ベクトル テクスチャに配置できるようになります。これにより、GPU メモリの使用量が増えますが、モーション ベクトルの精度が向上します。
ダイナミック オクルージョン ダイナミック オクルージョンを有効にすると、Unity のオクルージョン カリング システムは、スタティック オクルーダーによってカメラのビューからブロックされたときにこのレンダラーをカリングします。それ以外の場合、システムはスタティック オクルーダーによってカメラのビューからブロックされたときにこのレンダラーをカリングしません。
ダイナミック オクルージョンはデフォルトで有効になっています。壁の後ろにキャラクターの輪郭を描くなどの効果を出すには、これを無効にします。

    unity

  • 日時:// ~ //
  • 名称:
  • 場所:
  • 料金:¥0 (消費税込)