Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -稀に見る致命的なエラーメッセージ-

スクリプト書き間違いなどのエラーとは別に,Unityシステムから出ているエラーがあります
その中でも,致命的なエラーとその理由を取り上げてみます

○D3D9 initialization failed, trying OpenGL

GfxDevice: creating device client; threaded=0
d3d: no support for this device type (accelerated/ref)
D3D9 initialization failed, trying OpenGL
GfxDevice: creating device client; threaded=0
OpenGL:
    Version:  OpenGL 1.1 [1.1.0]
    Renderer: GDI Generic
    Vendor:   Microsoft Corporation
    Driver:   smidispb 6.13.10.211
    VRAM:     4 MB (via registry)
    Extensions: GL_WIN_swap_hint GL_EXT_bgra GL_EXT_paletted_texture
    WGL extensions: none!
GL: disabling multisample because WGL_ARB_pixel_format not fully supported
D3D: VRAM amount suspiciously low (less than 8MB)
desktop: 1024x768 60Hz; virtual: 1024x768 at 0,0
<I> Initializing (RawInput).

XInput not found.
<RI> Input initialized.

Crash!!!
SymInit: Symbol-SearchPath: '.;C:\Documents and Settings\Administrator\デスクトップ;C:\Documents and Settings\Administrator\デスクトップ;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 530, UserName: 'Administrator'
OS-Version: 5.1.2600 (Service Pack 3) 0x100-0x1
~以降略~
Crashレポートファイルが出力されます
最初の方にあるように,DirectX9の Direct3Dに対応していない為です
動作不可能なパソコンです

○FMOD failed to initialize

FMOD failed to initialize ... A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted.
サウンドデバイスがおかしくなっていて,初期化できなかったというメッセージです
サウンド機器とパソコンの両方を再起動してみて下さい
それでもダメな場合は,デバイスドライバが原因の可能性もあるので,原因特定は困難でしょう
そもそも他の DirectXを用いたソフトで音はでますか? というところから調査が必要です

○Low Memory: No more background processes.

Android端末でメモリ不足に陥った時のメッセージです
解決方法は,メモリ使用量を減らすしかないです(当たり前ですが)

適度な間隔でキャッシュをクリアすると効果的です
Resources.UnloadUnusedAssets();    //キャッシュメモリ解放

○Unable to install APK!というダイアログが出る

Androidをビルド&インストールをしようとした際に『Installation failed. See the Console for detailes.』とインストールエラーになったのでコンソールを見ろと言うダイアログが表示された場合

コンソールには,『E/installd(115): cannot open /data/secure/data/: No such file or directory』のようなメッセージが多数表示されていました

これは,前回インストールしたアプリが悪さをしている場合に表示される事が多いです
設定からアプリケーションを選択して,以前インストールしたアプリをアンインストールすると解消されます

○画像をドロップした時に出たエラー

expectedImageSize + 16 != length
UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEditor.DockArea:OnGUI()

このエラーメッセージは,Unity3Dが他のプログラムを呼び出した際にエラーが発生した事を示します(みたいです)
ドロップした画像形式に関連付けされたソフトに問題があります

初めて使用した画像形式の場合,その画像を右クリック→プロパティで,プログラムの部分に正しいソフトが設定されている事を確認する

pngやjpegなど Unity3D自身が読み込める形式の場合は,何かおかしくなっているので,インポートした画像を一旦全て削除して,Unity3Dを再起動してみる

エラーが頻発する場合は,1コずつファイルをドロップしてみるとうまくいきました
たまに気に入らないpngファイルがあるようなのですよ(*'-')

○error CS8025: Parsing error

その行の文法エラーです
それがファイルの末端を指している場合は,カッコの対がおかしい場合です

○Tiled GPU perf. warning: RenderTexture color surface  (0x0) was not cleared/discarded, doing <run with profiler for info>

プラットフォームを Androidにしていると見かける事があります
原因はよくわかりません
透過系のシェーダーを使用して,影をオンにしていると発生し易い気がします

回避策は,以下の方法があります
・PlayerSettings→Other Settings→Multithreaded Renderingのチェックを外してみる
・影をオフにしてみる
・ワーニングなので見なかった事にする ←

注意:シェーダーを Transparent→Cutout系を使用するとワーニングが出なくなる場合がありますが,Android実機では描画されなくなりますので解決方法には使えません[Unity4.5現在]



TOPプログラマ専用Unityでゲーム開発