首页 > 编程语言 >使用unity开发Pico程序,场景中锯齿问题

使用unity开发Pico程序,场景中锯齿问题

时间:2023-12-02 15:46:02浏览次数:44  
标签:Eye 渲染 Buffer 分辨率 锯齿 修改 unity Pico

1、问题

使用unity【非HDR】开发Pico程序,场景中锯齿问题,设置了unity的抗锯齿和渲染方式,及悬挂抗锯齿的脚本,都不能很好的解决项目中图片、文字的锯齿问题,通过摸索找到了妥善的方法

1、修改项目中图片的 GenerateMIpMaps 为勾选状态,MipMapsPreserveCoverage这个可以未勾选,若是勾选则把其下属属性 改成 1 若不然图片在pico中出现 界面分层的问题

2、在Awake中 添加  XRSettings.eyeTextureResolutionScale=2f 此项渲染会消耗比较大,还需看情况进行修改

这样场景的图片和文字会变得无比的清晰

pico相关知识地址

https://developer-cn.pico-interactive.com/document/unity/modify-eye-texture-resolution/

2、引用

修改 Eye Buffer 分辨率大小

Eye Buffer(即眼部缓冲区)处于 VR 设备端 3D 图像渲染的中间一环。在渲染过程中,系统会将每只眼睛的标准视图渲染到 Eye Buffer 中,然后将 Eye Buffer 作为渲染纹理提供给 ATW 线程进行畸变和采样处理。 Eye Buffer 分辨率(即渲染分辨率)大小会影响画面质量和应用性能。分辨率越低,画面质量越低,但同时也会降低延迟并提升应用性能。反之,分辨率越高,画面质量越高,但同时也会提高延迟并降低应用性能。你可根据实际情况,通过调整渲染分辨率来提高图像质量或改善性能。

注意事项

提高应用的渲染分辨率可提升画面质量,但可能会对设备的电池寿命造成潜在影响,此外,根据所显示内容的渲染压力,可能会导致 CPU/GPU 节流。通过默认使用较低分辨率的方式,能够确保设备在电源消耗和性能之间保持良好的平衡,但会降低画面质量。

使用建议

  • 如果你的应用已经具备良好的性能,则可在项目代码库中增加像素密度,提高渲染分辨率,从而提供更加清晰的视觉效果。反之,如果应用无法保持良好的性能,则可以通过降低渲染分辨率来提升性能,但这会降低视觉质量。
  • 修改 Eye Buffer 像素大小时,系统总是会重新分配眼部纹理,所以该操作成本较高。如果需要在应用运行时动态修改眼部渲染像素,可以考虑修改渲染视口尺寸。
  • 根据 PICO 商店应用审核标准,你需确保应用在满电设备上运行至少 45 分钟而不触发低电量警告。建议你测试应用的热行为和电池行为,以尽可能地避免意外问题,同时最大化设备的性能和电池寿命。
  • 修改方法

    Eye Buffer 分辨率值默认为 1.0,一般不推荐修改。根据实际需要,你可以通过修改 XRSettings.eyeTextureResolutionScale 的值来修改 Eye Buffer 分辨率大小。分辨率取值范围为 0.8 至 2.0。值越大,分辨率越高。不建议设置高于 1.5 的值。
XRSettings.eyeTextureResolutionScale = 1.0f; 如果使用了通用渲染管线(URP),请使用如下方法: if (GraphicsSettings.renderPipelineAsset != null) {  ((UniversalRenderPipelineAsset)GraphicsSettings.renderPipelineAsset).renderScale = 1;   }

标签:Eye,渲染,Buffer,分辨率,锯齿,修改,unity,Pico
From: https://www.cnblogs.com/tianyiwuying/p/17871682.html

相关文章

  • Unity实现的行为树
    游戏AI行为决策——行为树前言行为树,是目前游戏种应用较为广泛的一种行为决策模型。这离不开它成熟的可视化编辑工具,例如Unity商城中的「BehaviourDesigner」,甚至是虚幻引擎也自带此类编辑工具。而且它的设计逻辑并不复杂,其所利用的树状结构,很符合人的思考方式。接下来,我们会......
  • Unity builtin GUIStyle内置样式
    https://gist.github.com/bikrone/666bb26fb0d4468df12c890ecc6c512eusingUnityEditor;usingUnityEngine;publicsealedclassExampleClass:EditorWindow{privatestaticreadonlystring[]mList={"AboutWIndowLicenseLabel"......
  • Unity学习笔记--数据持久化XML文件(2)
    IXmlSerializable接口:使用该接口可以帮助处理不能被序列化和反序列化的特殊类得到处理,使特殊类继承IXmlSerializable接口,实现其中的读写方法,检测到读写方法被重写之后,便会按照自定义实现的接口来实现方法。usingSystem;usingSystem.IO;usingSystem.Runtime.InteropServi......
  • 如何拆解Unity 2022.3版本的AssetBundle
    1)如何拆解Unity2022.3版本的AssetBundle2)Unity2022LTS版本的稳定性3)关于AssetBundle禁用TypeTree之后的一些可序列化的问题这是第363篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.......
  • Unity2D中瓦片地图的创建与绘制教程
    Unity2D中瓦片地图的创建与绘制素材切割创建地图创建瓦片绘制地图瓦片调色板画笔拓展素材资源链接素材切割选中以下素材,以Tiles为例(素材链接在文章最下方)修改素材属性。将SpriteMode属性改为Multiple多张(不然切割不了);PixelsPerUnit改为16像素;FilterMode改为Point(nofilte......
  • Unity3D角色移动控制脚本
    Unity3D角色移动控制脚本键盘控制方向鼠标控制方向键盘控制方向privateCharacterControllercontroller;publicfloatSpeed=1f;publicfloatRotateSpeed=1f;voidStart(){ controller=transform.GetComponent<CharacterController>();}voidUpdate(){ //键盘......
  • 普通unity项目升级URP管线渲染项目教程
    普通unity项目升级URP管线渲染安装URP插件创建URP渲染管线配置渲染管线升级素材的渲染管线方式一方式二资源链接安装URP插件点击Window选择PackageManager在出现的窗口左上角选择UnityRegistry搜索关键字Universal在出现的UniversalRP插件中下面点击Install创建URP渲染管线安......
  • 使用Unity Localization插件进行项目本地化实战详解
    在使用Unity开发游戏的过程中,本地化是必不可少的。网络上也有很多的本地化工具,本次我介绍的是Unity官方提供的Localization插件,大家可以在PackageManager进行安装 一、语言配置,本地化表创建在ProjectSetting中找到Localization,(需要先创建这个LocalizationSetting文件)点击L......
  • 在Unity中模块化管理自定义功能和资源
    之前在做Unity项目时,有时会遇到多个项目共用同一部分代码或资源的情况。而当被共用的部分需要更新的时候,手动复制替换非常麻烦,并且可能会有遗漏。对于这个问题,一个很好的解决办法是将可复用的文件打包为自定义包(CustomPackage),使用git等版本控制工具来管理每个包的内容。什么是Pa......
  • Unity DOTS系列之Filter Baking Output与Prefab In Baking核心分析
    最近DOTS发布了正式的版本,我们来分享一下DOTS里面Baking核心机制,方便大家上手学习掌握UnityDOTS开发。今天给大家分享的Baking机制中的FilterBakingOutput与PrefabInBaking。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发......