【Unity】Runtime Scene Gizmo插件分辨率过低问题

问题发现

最近在使用【Runtime Scene Gizmo 运行时场景小工具】时,发现在屏幕小的时候,绘制的非常不清晰

image
上面是小屏幕下的,明显看着有点糊,锯齿很厉害。

image
但如果把屏幕宽高调大,就清晰很多了。

这里调整GizmoRenderer本身的宽高是没有用的,通过github可以知道原理
image

是通过渲染到一个 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原创,转载请标明出处

posted @ 2025-08-20 09:31  idealy233  阅读(7)  评论(0)    收藏  举报