トラブルシューティング
本項では Unity を使用する際に良くある問題を解決する方法を説明します。以下で各プラットフォームごとに取りあげていきます。
プラットフォーム別トラブルシューティング
OSX 10.6.4 の Geforce 7300GT
- OSX 10.6.4 の Geforce 7300GT でマテリアルが正しく表示されないため Deferred Rendering が無効化されています。原因はビデオドライバーにバグがあるためです。
Windows x64 のスクリプトで NullReferenceException のときに Unity がクラッシュする
スクリプト
MonoDevelop の Welcome ページを除く方法は?
- MonoDevelop の Preferences で Visual Style セクションへと移動して “Show welcome page on startup” のチェックを外します。
スクリプトエディターに Visual Studio を選択したのにスクリプトが MonoDevelop で開かれるのはなぜ?
- VSでスクリプトを開けなかった場合に起こります。原因として最もよくあるのは、外部プラグイン( Resharper など)がスタートアップ時にダイアログをポップアップさせてユーザーに情報の入力をリクエストしているケースです。このような場合、開けなかったという報告が VS からなされます。
グラフィックス
フレームレートが遅かったり画像の乱れがある
- ビデオカードドライバが最新でない場合に発生することがあります。ビデオカード製造元の最新の公式ドライバを入手してください。
シャドウ
- シャドウは特定のグラフィックスハードウェアでのみサポートされています。詳細については Light のトラブルシューティングとパフォーマンス を参照してください。
- シャドウが完全に無効化されていないか 画質設定 を確認してください。
- Android 、 iOS 上では、シャドウについて次のような制限があります。ソフトシャドウは使用不可能です。またフォワードレンダリングパス( forward rendering path )では、単一方向の光だけがシャドウを投影できます。遅延レンダリングパス( Deferred rendering path )ではシャドウを投影する光の数に制限はありません。
オブジェクトの一部でシャドウ投影しない/されない
シャドウをレンダリングするためには、オブジェクトの メッシュレンダラー の Receive Shadows と、他のオブジェクトの Cast Shadows を有効にする必要があります(両方ともデフォルトでは有効)。
不透明なオブジェクトのみシャドウを投影します。つまり内蔵している 透明 シェーダーやパーティクルシェーダーを使用しているオブジェクトはシャドウを投影しません。透明カットアウト シェーダーによりフェンス、植生、その他に利用することがほとんどの場合に可能です。カスタムで記述した シェーダー を使用する場合、ピクセルライティングを使用して サブシェーダータグ を使用する必要があります。頂点ライティング を使用したシェーダーは他のオブジェクトのシャドウは投影されませんが、自身のシャドウは投影することができます。
ピクセルライト のみがシャドウを投影します。もしシーンに他のいくつかライトがあるにも関わらず、ライトがつねにシャドウを投影するようにしたい場合、 フォースピクセル レンダリングモードを設定してください。(詳細は ライト を参照してください)。