河南省建设厅专业业务系统网站,网页游戏排行榜奇迹,交易网站制度建设,flask做的网站使用剪裁平面#xff08;Clipping Planes#xff09;定义相机可视范围 Clipping Planes定义了相机所能看到的场景范围。在有些时候#xff0c;限制相机所能看到的范围是出于风格上的考量#xff0c;但编辑Clipping Planes的主要目的是为了优化性能。相机所需要渲染的东西越…使用剪裁平面Clipping Planes定义相机可视范围 Clipping Planes定义了相机所能看到的场景范围。在有些时候限制相机所能看到的范围是出于风格上的考量但编辑Clipping Planes的主要目的是为了优化性能。相机所需要渲染的东西越少程序的负载就越低。 相机的剪裁平面有两个参数值near近平面和far远平面。near定义了离相机最近且还能被相机所渲染的平面所处位置far则是相反的一个平面。 对于正交投影相机来说远近平面呈金字塔形状可以在场景视图中选中了相机后看到 对于正交投影相机来说这个平面是一个矩形 接下来我们调整一下clipping planes的参数正交投影类型相机 1. Hierarchy中选中Main Camera缩放一下场景视图以便能观察到相机整体远近平面的情况。 2. 在Main Camera的Inspector中修改一下Clipping Planes里的Far参数从1000改为100从100改为10然后从10改为1。观察一下场景视图中相机的远近平面线框的情况以及相机预览窗口的变化。 我们可以看到随着Far的减小相机所能看到的东西也跟着减少。原来能够被看到的东西看不见之后会用背景做填充一般是天空盒背景。 3. 在场景视图中我们使用移动工具让相机沿着z轴向前平移。 随着相机的向前平移我们可以看到之前不可见的物体到达了Far平面范围内后会突然跳出来。虽然这种效果可以被刻意用来做一些风格化的需求但一般来说在游戏或实时应用要尽量避免。一般我们会设置一个较大的Far值让用户感受不到这种物体突然消失或突然出现的现象。这里我们将Far设置回默认的1000。 4. 近平面参数Near的意思和Far是类似的我们也可以调整一下这个参数。但有一个常见的问题是当角色或某个游戏物体的模型有部分处于近平面外的时候我们可能会看到物体内部的mesh。 我们在一些3D游戏中可能会看到这种场景要解决这种问题最好是能保证相机和物体保持一段安全距离 如果相机是固定的也可以调整一下Near的值。
使用culling masks来隐藏或显示物体 如果有一个物体处于相机的Near和Far平面之内但我们又要隐藏或显示它时该怎么做呢解决这个问题有多种方法对于相机来说有一个culling masks可以用来实现这个功能。 1. 场景视图中选中红色的胶囊体按F聚焦。 2. 在胶囊体的Inspector中选择Layer - Add Layer, 然后将User Layer6设置为Culled。 3. 重新在场景视图中选择胶囊体然后在Inspector中将Culled这个layer设置给胶囊体。 4. 选择Main Camera定位到Inspector中Camera组件中Rendering部分里的Culling Mask选项 将Culled禁用掉。 在场景视图中胶囊体还在但是从相机预览窗口中可以看到胶囊体消失了。
修改背景类型 默认情况下场景会使用一个默认的天空盒作为背景。这个天空盒和Directional Light也是创建场景时默认的平行光源是绑定的。这两个物体一起为场景的环境光ambient light起到了贡献。虽然天空盒及相关光照是由天空盒的shader和光照属性所决定的但camera可以管理在场景中天空盒是否可见。 1.调整相机视角确保相机能够看到天空盒。 2. 在Inspector中找到Camera组件的Enviroment部分 3. 将Background Type从Skybox修改为Solid Color 4. 此时我们对比看场景视图和相机预览视图会发现场景中天空盒仍然存在相机视图中显示的天空是一片蓝色。如果场景中有多个相机每个相机都可以有不同的背景类型设置这一点可以用来实现一些特殊的效果。 5. 点击Background的颜色条将颜色修改为其他颜色试试比如绿色。 需要注意的一点是背景类型选择为Solid Color其颜色并不会对场景的光照产生影响这和Skybox是不同的。Solid Color只是简单的让相机停止渲染天空盒并且用一个我们选择的颜色替换掉。即便天空盒在相机中并不可见任何对天空盒的修改仍然会在环境中可见。