使用动态网格物体时,Unity完整版本崩溃

时间:2016-03-10 20:05:26

标签: unity3d crash

我正在开发一个Unity项目,该项目在编辑器中没有问题。但是我今天已经去测试了一个完整的Windows桌面版本(遗憾的是没有做过一次),而且桌面崩溃了。

菜单和加载场景无问题。在我开始一个新游戏后发生了崩溃 - 显示了游戏场景的初始帧,并且紧接着发生了崩溃。

我现在正试图找到问题的根源。我作为开发构建运行,并且我每次都检查它生成的崩溃转储日志。

错误日志显示:

Read from location 00000175 caused an access violation.

并且output_log.txt包含所有看起来都不错的东西,然后突然:

Crash!!!
SymInit: Symbol-SearchPath: '.;F:\Projects\Code\Unity\Pub Demo;F:\Projects\Code\Unity\Pub Demo\Build;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 530, UserName: 'Octopoid'
OS-Version: 10.0.10586 () 0x100-0x1
F:\Projects\Code\Unity\Pub Demo\Build\Pub Demo.exe:Pub Demo.exe (00007FF7AAE80000), size: 25665536 (result: 0), SymType: 'PDB', PDB: 'F:\Projects\Code\Unity\Pub Demo\Build\player_win_development_x64.pdb', fileVersion: 5.3.3.3441

N.B。崩溃日志相当大,所以我没有全部发布 - 如果其他任何部分都有帮助,请告诉我。

我尝试将Debug.Log添加到几个地方,看起来所有内容都已醒来并且没有问题,并且更新循环在此之前会出现两次。

然而,该项目相当大,我不知道从哪里开始寻找问题 - 我真的希望有更好的方法,而不是将Debug.Log添加到每个唤醒/启动/更新/等。< / p>

  • Unity 5.3.3 f1个人
  • Windows 10 Pro(1511)

如何找到坠机原因?

1 个答案:

答案 0 :(得分:1)

经过多次痛苦的测试和困惑,解决方案最终非常简单。我的一个脚本是生成一个程序网格。 As per the documentation我在网格上调用了MarkDynamic()

this.mesh.MarkDynamic();

完成此操作后,设置mesh.vertices属性会导致构建立即崩溃,而不会出现任何特定的错误消息或日志。

无论这个功能是什么,问题只会影响构建,而不是编辑器。

我尝试在实例化之后,就在设置顶点之前,当使用Clear()或不使用Clear()时,我试过,MarkDynamic()似乎只是让我的构建崩溃。 / p>

我应用的修补程序只是删除此调用 - 性能似乎与编辑器完全相同。

非常感谢@Programmer帮助您找到这个问题!