简体中文 | English

Unity3D的设置

在进行本文档的操作前,请确认《6002ZH Unity3D设置》的操作已经完成。各种奇怪的错误都是由于没有正确进行Unity3D的设置造成的。


抓取Logcat

Logcat是非常好的诊断问题的工具,里面记录了运行时所有的操作和错误。

按照《9003ZH 抓取Logcat》的步骤,将Logcat记录下来。


问题1 Unity3D应用停在Splash画面(Android)

如果Unity3D的应用停在了Splash画面,不能进入应用,则是VSync没有关闭造成的。

以下步骤可以确认是否是VSync设置的问题。

a. 抓取Logcat

b. 查找错误

用文本编辑器打开Logcat,如果发现类似如下的错误,则可以断定是VSync没有关闭,造成无法进入应用。

E/libEGL: eglCreateWindowSurface: native_window_api_connect (win=0xf4d89508) failed (0xffffffea) (already connected to another API?)

E/libEGL: eglCreateWindowSurface:427 error 3003 (EGL_BAD_ALLOC)

E/Unity: [EGL] Failed to create window surface: EGL_BAD_ALLOC: EGL failed to allocate resources for the requested operation.


问题2 画面撕裂(Android)

这是由于没有打开“Multithread Rendering”造成的,6002ZH Unity3D设置》中描述了如何打开。


问题3 帧率很低,画面卡顿,出现黑色边框(Android和PC)

确认性能瓶颈

首先要确认是否是性能瓶颈造成的。在VR应用中,性能瓶颈一般出现于三角形数量和DrawCall数量上,可以通过Unity的Profiler来查看性能问题。

打开Window->Profiler窗口。

a 如果是Android应用,则需要选中“Development Build”,“Autoconnect Profiler”。然后点击“Build And Run”。

b 如果是PC应用,则直接点击Play即可。

在Profiler中会显示资源占用率。

一般性能瓶颈一般出现于渲染,但也有可能出现于其他资源,视应用而异。Profiler中会显示出真正造成性能瓶颈的资源。

确认Unity设置

如果应用并没有占用所有的性能资源,那么问题可能就出在Unity的Time设置中。

《6002ZH Unity3D设置》中描述了设置Time。


问题4 Android应用闪退(Android)

出现闪退,一般是Default Orientation设置的问题,《6002ZH Unity3D设置》中描述了设置Orientation。


联系我们

如果还有其他问题,可以发邮件到dev@deepoon.com。邮件中请附上下面内容,以帮助我们更快的为您诊断出错误:

a. 公司名

b. 问题复现方法

c. 出现概率

d. Logcat

e. Unity3D的output.txt

f. apk文件

g. 出错的代码

Copyright © dpvr.cn, All Rights Reserved 沪ICP备15019466号-2 (Shanghai) Shanghai Lexiang Technology Co., Ltd