【Unity】Runtime Scene Gizmo插件分辨率过低问题
问题发现
最近在使用【Runtime Scene Gizmo 运行时场景小工具】时,发现在屏幕小的时候,绘制的非常不清晰
上面是小屏幕下的,明显看着有点糊,锯齿很厉害。
但如果把屏幕宽高调大,就清晰很多了。
这里调整GizmoRenderer本身的宽高是没有用的,通过github可以知道原理
是通过渲染到一个 RenderTexture 绘制到UI上的,那么直接翻代码,看到这么一行
int gizmoResolution = Mathf.Min(Mathf.NextPowerOfTwo(Mathf.Max(Screen.width, Screen.height) / 6), 512);
TargetTexture = new RenderTexture(gizmoResolution, gizmoResolution, 16);
这里可以看到是先通过屏幕分辨率计算渲染分辨率的,那么最后解决就很简单了
问题解决
我这里是通过指定一个最低分辨率来解决的,这里指定了120,避免屏幕过小导致渲染分辨率过低的情况
int gizmoResolution = Mathf.Min(Mathf.NextPowerOfTwo(Mathf.Max(Mathf.Max(Screen.width, Screen.height) / 6, 120)), 512);
问题成功解决,文章由idealy原创,转载请标明出处