0

我目前正在 Unity3d 中使用 NVAPI 和 3D Vision 开发外部插件。在 NVAPI 中有两个 API 调用来打开/关闭有源立体声。

NvAPI_Stereo_Deactivate   
NvAPI_Stereo_Activate

因此,每当我尝试打开/关闭立体声时,它都会随机崩溃,但有以下异常:

Unity Player [版本:Unity 2017.1.0f3 (472613c02cf7)]
nvwgf2umx.dll 在 0033:6f9981d8 模块 nvwgf2umx.dll 中导致访问冲突 (0xc0000005)。

崩溃可能发生在第三次尝试或以后的任何尝试中。我目前假设的是它必须对 dll 访问的某些值做一些事情。问题是因为它的 NVIDIA 内部我无法访问它。

我已经尝试过其他简单的方法,例如关闭垂直同步、在管理 3d 设置中将质量设置更改为最大,但都失败了。

我确实在 NVDIA 开发论坛中遇到过类似的问题,但似乎没有答案。任何有关此的建议或帮助将不胜感激。

这里也是错误日志的链接

4

1 回答 1

0

我已经设法使用迂回的方式解决了上述问题。而不是使用

NvAPI_Stereo_Deactivate   
NvAPI_Stereo_Activate

打开和关闭 3d 视觉的功能我将 NvAPI_Stereo_SetActiveEye 中的渲染纹理传递给单眼相机,而在活动模式下,我分别将其传递给左眼和右眼。切换似乎可以正常工作,尽管我也注意到NvAPI_Stereo_IsActivated在循环中使用似乎也会导致相同的访问冲突,所以只有用户NvAPI_Stereo_SetActiveEye函数来设置眼睛而不是弄乱 NVAPI 本机函数。使用它的一个缺点是 3d 发射器将在应用程序退出时保持不变(对于我的项目,这似乎没问题)。希望这可以帮助将来遇到此问题的任何人。如果有人有更好的解决方案,请更新答案。那样就好了。

于 2018-08-07T13:10:29.553 回答