トラブルシューティング
このセクションでは以下の問題について説明します。
- 面がレンダーされない (あるいは、黒く表示される)
- シェーダーがピンク色になる
- ライトマッピングされたゲームオブジェクトのテクスチャにむらがある
- FbxPrefab あるいはアセンブリ参照の欠落に関するエラー
面がレンダーされない (黒く表示される)
メッシュ要素の編集中に突然、一部の面が黒くなったことに気付いた場合、一般的な原因として以下の 2 つが考えられます。
- 自動ライトマッピングに問題がある
- 単一のメッシュ上に 2 つのエッジ (辺) あるいは 2 つの頂点があり、これらが同じ場所を共有している。
まず、Lightmap UV Editor ウィンドウの Auto Lightmap UVs の設定を確認してください。自動ライトマッピングが面をまだレンダーしていない場合、黒く表示されることがあります。これは一般的に、リソースが処理できる範囲を超えた量のレンダリングジョブがある場合に発生します (特に古いマシンで)。
Auto Lightmap UVs の設定には以下の手順でアクセスできます。
Lightmap UV Editor ウィンドウを開きます (Tools > ProBuilder > Editors > Open Lightmap UV Editor)。
Auto Lightmap UVs オプションを無効にします。
自動ライトマッピングのオプションをオフにしてもレンダーされない面がある場合は、メッシュに重複した頂点がある可能性が考えられます。
同じ場所を共有している要素は以下の手順で修正できます。
- メッシュ全体を選択します。
- Weld Vertices アクションの Options ウィンドウを開き、Weld Distance の値を十分に小さくしてください (例えば 0.01 や 0.0001 など)。こうすることで、このアクションを実行した時に、近接していても重複はしていない頂点が接合されるのを防ぐことができます。
- Weld Vertices ボタンをクリックします。
**ヒント: デバッグ中に ** ProBuilder の Preferences ウィンドウ内で Show Scene Info プロパティを有効にすることもできます。これを行うと、シーンビューの左上に、選択されたメッシュに関する情報が表示されます。この情報には、頂点とエッジ (辺) と面の合計数、現在選択中の数などが含まれます。
シェーダーがピンク色になる
スクリプタブルレンダーパイプライン (SRP) を使用している場合は、URP シェーダーまたは HDRP シェーダーを忘れずにインポートしてください。これは頂点色とテクスチャの正確な表示に必要です。詳細は スクリプタブルレンダーパイプラインのサポート を参照してください。
ライトマップされたゲームオブジェクトのテクスチャにむらがある
これは、ゲームオブジェクトが UV2 チャンネルを持っていない場合に発生します。
以下の手順で UV2 チャンネルを構築できます。
- 問題のゲームオブジェクトを選択します。
- Lightmap UVs アクションを実行します。
FbxPrefab あるいはアセンブリ参照の欠落に関するエラー
FBX Exporter パッケージをインポートし、それを後に削除した場合、以下のエラーが (1つまたは複数) 表示されることがあります。
<project-folder>/Addons/Fbx.cs(66,81): error CS0246: The type or namespace name `FbxNode' could not be found. Are you missing an assembly reference?
<project-folder>/Addons/Fbx.cs(11,19): error CS0234: The type or namespace name `Formats' does not exist in the namespace `UnityEditor'. Are you missing an assembly reference?
<project-folder>/Addons/Fbx.cs(8,7): error CS0246: The type or namespace name `Autodesk' could not be found. Are you missing an assembly reference?
これらのエラーは、以下のいずれかの方法で解決できます。
- FBX Exporter パッケージを再インポートする。
- (トップメニューを Edit > Project Settings > Player の順に選択して) PlayerSettings を開き、Scripting Define Symbols から PROBUILDER_FBX_PLUGIN_ENABLED フラグを削除する。