找回密码
 立即注册
查看: 214|回复: 0

Nanite失效、无法开启、可视化Buffer试图、Debug的一揽子 ...

[复制链接]
发表于 2023-1-16 14:07 | 显示全部楼层 |阅读模式
问题还原

Win10系统由于系统问题导致的UE5.0,5.1的Nanite开启失效的解决方法,无需重装WIN系统
引用文档:
https://docs.unrealengine.com/5.1/zh-CN/nanite-virtualized-geometry-in-unreal-engine/
Nanite作为UnrealEngine5的特色功能,不开启简直就是浪费!但是,这毕竟是新功能,还在逐步完善中,某些情况下,你可能会遇到意外的情况,当你做了以下操作,例如

  • 下载了Nanite资产,
  • 迁移了别人的nanite资产或文件,
  • 自己开启了nanite,
却仍然无法感觉到Nanite起作用,比如

  • 本来好好的网格都变得很粗糙,甚至出现破面,破洞等
      当Nanite遭到禁用或平台不支持时,Nanite还提供了回退网格体渲染模式。
  • 材质丢失,变成了黑色
  • 材质丢失,变成了灰色网格
  • 网格模型没有加载出来,或没有渲染出来
  • 网格体在视口中离远了就全没得了,加载非常慢,感觉到莫名的难受
      如果内存池不够大,无法容纳一个视图所需的所有数据,就会发生"缓存抖动(Cache thrash)",导致即便是静态视图,流送也无法解决。
  • nantie的Debug命令全没用,例如r.Nanite,Nanitestats List等
  • Nanite的视图没有显示出来,感觉仅仅是光照有些细微的变化,但是其他的三角形或簇群(Cluster)都没有
  • 一些细节丰富的模型位置,光照或光追有些奇怪
  • 有些网格体开起之后是正常的,有些则没啥用
  • 有些大尺度的大量实例的模型,似乎没有酷炫的簇群的变化
  • 有些小尺度的普通DCC模型,似乎没有酷炫的簇群的变化
  • Nanite可以正常起作用,但是还是觉得有点卡
解决方案

首先你需要确认几个基本问题:按照顺序来:
https://docs.unrealengine.com/5.1/zh-CN/hardware-and-software-specifications-for-unreal-engine/

  • 你的硬件是否是达标的?
    虚幻引擎开发者使用的配置参考





  • 你的操作系统版本是否是ok的?

  • 使用Windows 10?你的版本是1909.1350以上吗?

    • cmd/powershell输入:winver 查看系统版本
    • 通过系统更新或者360,去打补丁更新系统到合适版本。
    • 如果没有办法更新系统,建议考虑重装。如果你是Windows的行家,可以自行打补丁。

  • 使用Windows 11?没问题。


  • 你的电脑系统是不是ok的?

  • cmd/powershell输入 :dxdiag 对D3D12进行debug,它会自检问题。
  • cmd/powershell输入:SFC /SCANNOW ****查看系统文件是否缺失,它会自己修补错误。
  • 搜索“系统配置”转到“服务”,“隐藏所有非Windows服务”打勾,关闭所有。和进入安全模式(winRE是一样的)。这是为了防止某些软件造成显卡驱动崩溃等。


  • 你的显卡是否是ok的?

  • 首先你的显卡必须是能用的,独立显卡可以在某些硬件软件或者windows的“设备管理器”-“显示适配器”中找到。或者在“系统信息”中找到。
  • 驱动必须是最新的:如果是N卡,请使用geforce下载最新的驱动,官方推荐是516版本,但最好是最新的。
测试

在UE5中测试,是否可以正常使用,测试方法按顺序一步一步来:

  • 在OutputLog里直接搜索Shader Model,如果出现类似于以下的字段,说明是正确配置的。记得把过滤器的Message给勾选上。

  • LogD3D12RHI:
  • (Max supported Feature Level 12_1, shader model 6.6)
  • LogD3D12RHI: Shader Model 6.6 atomic64 is supported
<li data-pid="h_UsPTRz"> 如果没有出现。那么到项目设置里去配置成这个样子,重启后再试一下。


  • 新建一个关卡,将一个Nanite网格拖入场景里,然后,打开Nante Visualization视图,看看是否正常启动了。如果场景里一点儿没有nanite网格,Nante管线是没有的。
一些原因


  • Nanite虚拟网格体使用了DirectX 12的很多新的特性和算法,尤其是SM6。如果系统配置没有,Nanite自然是无法开启的。DirectX 12相比于11有很大的更新,也是这两年的事情,一些老电脑上可能不会适配。
  • UE5的开发知道这个情况,所以是兼容SM5和SM6的,在nanite无法开启的时候,会设置一个FallBack,使用一个粗糙的FallBack网格体来渲染Nanite网格体,这个FallBack网格体是Nanite用来计算RT等用的。你可以在Nante的界面去设置。
  • 如果你必须要考虑设备的情况,又希望使用Nanite,可以针对性地作出配置,在低配电脑时,关闭Nanite。具体可以参考官方文档。
<hr/>^_^

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-6-27 04:37 , Processed in 0.092622 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表