目录
前言
本篇笔记用于记录唐老狮视频课程的学习心得。
可编辑参数
参数 | 作用 |
Clear Flags | 如何清除背景 |
Culling Mask | 选择渲染层级 |
Projection | 摄像机效果 |
Clipping Planes | 裁剪平面距离 |
Viewport Rect | 视口范围和屏幕上绘制摄像机的范围 |
Depth | 渲染顺序 |
Redering path | 渲染路径 |
Target Texture | 渲染纹理 |
Occlusion Culling | 是否启用遮挡 |
Allow HDR | 是否允许高动态范围渲染 |
Allow MSAA | 是否允许抗锯齿 |
Allow Dynamic Resolution | 是否允许动态分辨率呈现 |
Target Display | 用于哪个显示器 |
Target Eye | 用于vr上 |
Clear Flags
参数 | 作用 | 效果 |
skybox | 天空盒 | 3d游戏天空盒 |
Solid Color | 颜色填充 | 2d游戏背景板 |
Depth only | 只画该层,背景透明 | 让摄像机画面叠加显示 |
Don't Clear | 不移除,覆盖渲染 | 在之前的画面上继续画 |
Culling Mask
选择性渲染部分层级,可以指定只渲染对应层级的对象,就是不会画这个层级的对象。
Projection
Perspective 透视模式
FOV Axis视场角 轴
该项属性决定了摄像机的视野范围
Field of view视口大小
就是视口的大小
Physical Camera
物理摄像机,勾选后可以模拟真实世界中的摄像机,实际参数不止表格中列出的参数。
参数 | 名称 |
Focal Length | 焦距 |
Sensor Type | 传感器类型 |
Sensor Size | 传感器尺寸 |
Lens Shift | 透镜移位 |
Gate Fit | 闸门配合 |
orthographic
正交摄像机,一般用于做2d游戏。
Clipping Planes
决定了摄像机渲染范围
Depth
渲染顺序上的深度,只有一个摄像机是没有作用的,是多摄像机的时候会有作用,数字越小越先被渲染。
Target Texture
可以把摄像机画面渲染到一张图上,主要用于制作小地图,在Project右键创建 Rencer Texture。
Occlusion Culling
勾选的话,被挡住的模型,我们可以不渲染。
代码相关
静态方法
获取摄像机
我们可以用之前的知识获取摄像机。
获取主摄像机
我们可以使用找组件的方法来找到主摄像机,也可以用下面的方法。
print(UnityEngine.Camera.main.name);
获得所有摄像机
我们可以获得摄像机的数量。
print(UnityEngine.Camera.allCamerasCount);
当然也可以直接获得所有的摄像机。
UnityEngine.Camera[] cameras = UnityEngine.Camera.allCameras;
渲染相关委托
委托 | 执行时机 |
onPreCull | 摄像机剔除前处理的委托 |
onPreRender | 摄像机渲染前处理的委托 |
onPostRender | 摄像机渲染后处理的委托 |
重要成员
界面上的所有参数都可以在Camera里获取到。
世界坐标转屏幕坐标
一般用来做血条比较多。
UnityEngine.Camera.main.WorldToScreenPoint(transform.position)
屏幕坐标转世界坐标
UnityEngine.Camera.main.ScreenToWorldPoint(transform.position)
总结
文章仅用于学习使用,如果有错误请指出,一起进步,谢谢!