unity3d - Unity中2D网格的闪烁
问题描述
我正在使用 Unity 创建一个简单的驾驶模拟器。道路和道路标记由一组点定义。为了在场景中显示它们,我正在创建二维网格并将它们定位在地形上。当相机沿着街道移动时,网格看起来很好。但是当从远处或侧面看它们时,它们开始剧烈闪烁。尤其是在接近弯曲的道路时,它看起来很可怕。在闪烁消失之前,相机必须非常靠近。从远处看,这条路甚至根本看不见。
起初,我认为网格彼此相交或与地形相交,但事实并非如此。我什至在地形、道路和道路标记之间添加了一些空间。然后我想,在场景中添加一些抗锯齿会减少这个问题。但即使是 MSAA 8x 也根本无法解决闪烁问题。我认为问题是由我的道路和道路标记的“平整度”引起的。由于它们仅是 2D 且相机仅高于地形 1.5 个单位,因此视角可能太平,无法在不闪烁的情况下看到道路。有什么简单的技巧可以减少这种影响吗?
解决方案
我一直在处理一个相机角度非常接近地面的项目的类似问题。我的建议是在您的纹理和项目上启用各向异性过滤:
https://docs.unity3d.com/ScriptReference/AnisotropicFiltering.html
要启用纹理过滤:
您也可以从 Edit->Project Settings->Quality->Project Quality Settings->Anisotropic Textures->Per Texture 中启用它
要设置 Aniso 级别:
资产->选择您的纹理,然后在检查器视图中->过滤器模式-> Aniso Level
推荐阅读
- java - 改造返回一个空列表
- php - 在laravel中比较dateTime到日期
- java - java中的参数化构造函数是否需要有一个主体?
- sql - Oracle Lag 函数得出前 3 个月余额的总和
- cpu-architecture - AMD Zen 2 处理器系列的 L1 缓存大小是多少?
- python - 如何从 DataFrame 的日期列中提取月份名称和年份
- reactjs - 在 React 中布局状态的正确方法
- android - Android监听器imageview有效绘制
- sonos - Sonos websocket 无法理解我的 ping 响应
- javascript - 调用 Array.prototype.slice 时,新数组是否具有相同的原型?