unity靠近物体出现ui界面 unity场景里东西看不见了 您所在的位置:网站首页 unity菜单界面不见了 unity靠近物体出现ui界面 unity场景里东西看不见了

unity靠近物体出现ui界面 unity场景里东西看不见了

2024-07-11 17:22| 来源: 网络整理| 查看: 265

在使用Unity的时候经常发现一个问题,在Scene窗口下,如果对物体视角拉的太近,容易出现画面消失或者变形的情况, 这种问题有一个很实用的解决方法,如果想看哪个物体,就在Hierarchy中选中该物体,然后按一下F键,再用鼠标滚轮拉近就可以了,拉近后的物体不会再消失或变形了。

具体操作我们清楚了,这个原理我们可能还不清楚,为什么会这样,是因为Scene场景下的nearClipPlane值的原因,我们可以尝试在Editor界面打印出Scene场景下camera的nearClipPlane,具体方法如下:

在Hierarchy下建立一个空物体,挂载如下脚本。

using UnityEngine; using UnityEditor; [ExecuteInEditMode] // 使脚本在编辑器界面下运行 public class Test : MonoBehaviour { private void OnEnable() { SceneView.onSceneGUIDelegate += OnSceneGUI; // 挂载回调函数 } private void OnDisable() { SceneView.onSceneGUIDelegate -= OnSceneGUI; } void OnSceneGUI(SceneView view) { Debug.Log(view.camera.nearClipPlane); // 打印出Scene视角下Camera的平截头体的ZNear值 } }

然后我们再在Scene视角下移动Camera,当滚动鼠标滚轮,拉远距离时,发现ZNear值在不断增大,反方向转动滚轮,ZNear值会对应减小。

unity靠近物体出现ui界面 unity场景里东西看不见了_回调函数

这意味着,如果我们再加上鼠标右键对场景进行旋转,胡乱转动鼠标,最后的ZNear值可能就会很大了,如下图所示:

unity靠近物体出现ui界面 unity场景里东西看不见了_右键_02

这样我们就很容易在Scene视角下丢失物体,因为ZNear值太大,物体被Camera裁剪掉了。而如果我们按F键,相机会拉到一个距离,而且会纠正摄像机的ZNear值,这个时候继续放大,能把ZNear放到很小,如下图所示,ZNear随鼠标滚轮变得很小:

unity靠近物体出现ui界面 unity场景里东西看不见了_鼠标中键_03

注意,这里的Camera的属性值好像是不能调整的,我尝试在这里直接更改camera的ZNear值,但是并不成功。

另外总结一下几种Scene场景下移动视角与Camera的ZNear的关系:

直接转动滚轮,会增/减 ZNear值鼠标中键和鼠标右键不会改变ZNear值如果想拉近摄像头,但是不想改变ZNear值,可以按住鼠标右键不放,再按“WASD”移动相机位置



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有