序、
这贴纯属个人经验,如有错误恳请指正。
在VR开发特别是像PICO这样的一体机中,经常出现摩尔纹或者闪烁, 一般情况下可以通过在贴图纹理中设置填充为2的N次方得到改善(实际上PICO中贴图尺寸必须为2的N次方,非2的N次方贴图会被强制转化为2的N次方图片,很消耗性能)
一、解决方法
如果纹理原本是正方形的直接改成填充为2的N次方就行,如果不是的话需要导出到Photoshop中修改
导出贴图在Photoshop打开,创建新的项目,像素长宽设为2的N次方(512512、10241024这些) ,不过虚幻引擎对移动平台纹理分辨率最高为2048,PICO官方建议一体机的贴图尺寸使用512 * 512,最好不要超过1024 * 1024,在保证贴图尺寸必须为2的N次方前提下将他尺寸贴图优化为小尺寸的贴图
导出为PNG后,在引擎中找到对应材质选择纹理重新用文件导入,找到对应的材质覆盖贴图即可
三、最后的效果
如果还是出现闪烁等问题可以去纹理里面设置mipmap为模糊(Blur)
然后引用PICO官方的优化建议中的一个方法
https://developer-cn.picoxr.com/document/unreal/optimize-pico-apps/
当一个物体的表面和相机之间有很大的夹角时,物体上的贴图纹理在屏幕上的对应填充区域就不是方形的,会导致模糊或者闪烁或者两者皆有。
a. Anisotropic Filtering(各向异性过滤) 通过采样一个非方形纹理解决了这个问题。Anisotropic Filtering 会进行更多次数的纹理采样,在消除纹理模糊感的同时可以最大限度地保留倾斜视角下的纹理细节
b. 在 UE 编辑器左上角单击 编辑(Edit) > 项目设置(Project Settings),在 引擎(Engine) > 渲染(Rendering) 下,找到 虚拟纹理(Virtual Textures) 选项卡,勾选 启用虚拟纹理支持(Enable virtual texture support)。