Unity学习笔记:相机属性

送分小仙女□ 提交于 2019-12-12 14:26:29

clera Flag清除标记

skybox 具备天空盒,清除前面绘制的图形。
solid Color 具备背景图效果,清除前面绘制的图形。
Depth only没有背景和天空盒,不清除前面绘制的图形,清除图像的深度。(图像覆盖)
Dont Clear没有背景和天空盒,不清除前面绘制的图形,也不清除图形深度。

清除标记,deepth,剔除遮挡  三个因素共同影响最后摄像机的成像。

优先渲染方法:设置副摄像机,将其clera Flag设置为Depth only然后将渲染的层级Culling Mask设置需要被优先渲染的物体的层级,然后将其优先级Depth设置→大于←主摄像机

代码设置层级:
gameObjuct.Camera.cullingMask = LayerMask.GetMask(复数string);根据传入的参数来激活所有与参数名字相同的层级。

gameObjuct.Camera.cullingMask = int;根据传入的数字转换成二进制激活层级。激活第一层为1,一二层为3,一二三层为7,第四层为8,第n层就是2的n-1次方。

Projection切换透视模式和正交模式,正交模式将摄像机矩形投射出去,多用于观察地图。
size(正交)矩阵的大小,值为高度的一般,长度的黄金比例(雾)

gameObjuct.Camera.fieldfview返回透视相机广角的角度。

gameObjuct.Camera.aspect返回一个乘以相机高度可以得到相机长度的变量。

Camera.main.orthographicSize返回正交相机的矩阵垂直大小

Camera.main.aspect返回一个乘以正交矩阵垂直大小可以得到水平大小的值

Rendering Path渲染路径
正向渲染:正常渲染,对硬件要求正常。
延迟渲染:高端渲染,对硬件要求高。
顶点渲染:地段渲染,对硬件要求极低。

Target Texture 投影 可以将图像投影到材质球 可以保存Rander Texture类的文件,改变该文件的渲染为相机渲染出的Game视图。

Occlusion Culling剔除遮挡,超出相机投射位置(视口范围)不进行渲染。
Allow HDR 高渲染材质
Allow MSAA 抗锯齿
Target Display 切换场景中的摄像机

---------------代码部分---------------

Camera.ScreenPointToRay(Inpuut.mosePosition)非静态方法,参数多为固定,从摄像机位置投射并返回一条射线。

Physics物理效果类,多用于碰撞器和刚体中

Physics.Raycast(Ray out ,Raycasthit, Camera.farClipPlane)投射射线方法,第一个参数为投射的射线,第二个参数为返回的物体(返回的类型为Raycasthit类型),第三个返回射线的长度(Camera.farClipPlane为摄像机最远可视距离)
此方法在Collider类中也有(非静态方法),Collider类中的Raycast类会在碰到物体自身时返回ture,其他情况返回flase(相对于以上方法节省开销)(Collide投射的射线会以寻找自身物体为目的,忽略其他物体)

Camera.main静态方法  找到自己的相机,可以在之后直接调用非静态方法。

Camera.ScreenToWorldPosition(Vector3)平面转换为世界坐标

Camera.WorldToScreenPosition(Vector3)世界转换为平面坐标

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!