【贪玩巴斯】Unity3D初学圣经 四——Unity基础知识中——Camera所有属性全解 一篇文章所有组件全部概括 —— 2022年1月28日
本博文为贪玩巴斯整理B站达内教育——Unity3D 2017版本 的 课堂笔记和PPT记录
欢迎关注我的微信公众号: 编程之蓁 ID:bianchengzhizhen 及时分享算法、计算机科学以及游戏编程内容 微信公众号同样也能查看学习笔记喔~
本人CSDN博客主页: 贪玩巴斯 欢迎互相交流学习
本文对应视频 2-4 到 2-6
1.摄像机 Camera
1.1 简介:
1.2 摄像机的属性:
Clear flags:
——屏幕空白区域,没物体的部分的处理
天空盒:
-
-
-
- 天空盒材质种类:6 sided ,procedural ,cubemap
- background——背景颜色
天空盒的使用:
-
设置摄像机 clear flags 属性为 skybox: -
方式一:摄像机添加组件skybox (add component) -
方式二:光照窗口——window-lighting-environment lighting-skybox 可作为反射源将天空色彩反射到场景中物体。其中要在scene面板中勾选 skybox的渲染。 -
一般选用第二种方式,因为能够 可作为反射源将天空色彩反射到场景中物体。 -
6 sided 属性: -
tint color 色彩 -
exposure 亮度 -
rotation 旋转 -
procedural 属性: -
这种属性是默认的,只有天和地。 -
Sun 太阳模式: none 没有 simple 简单 Hight Quality 高质量 Atmoshpere Thickness 大气层厚度 Ground 地面颜色
如果为Environment Lighting的Sun属性设置一个平行光,场景中会根据平行光角度自动创建太阳,并且位置随平行光旋转而改变。如果不设置,系统将默认选择场景中最亮
culling mask
——选择遮罩
- 每一个游戏物体都有标签 tag 和 层 layer
- culling mask 那里的选项就是指的层
-== layer中可以自己add layer添加层== - Cullingmask 中选择是否勾选层,就可以对应在摄像机中是否看到层。但是要注意的是这个层代表的游戏对象是存在的。取消掉——就不会渲染这个物体了。
Projection
投射——这个选择是实质上控制摄像机画面的,实际上游戏的3D 2D由它控制
- perspective 3D模式
- Orthographic 2D模式 —— 正交模式,忽略了轴向。
field of view
—— perspective选项下才有
- 控制摄像机镜头拉近拉远—— 类似于狙击枪倍镜。数值变小,镜头拉近;数值变大,镜头拉远。
size
—— orthographic 才有
clipping planes 剪裁面
- near 近 far 远
- far控制最远能看多远,最近能看多近
- 为了提高性能,特别远的不会渲染,只渲染特别近的。
- Near 意思只能从那个数值往后看,比如说30 只能看到30以后的,看不到30以前的距离的东西。
viewport rect 视口
- 在viewport rect中 要先调w h 再调 x 和 y 注意这个顺序!!
- W代表宽,h代表高——范围0-1之间,1是百分之百的意思
- X,Y是控制窗口左右
- 可以运用为后视镜,小地图,或者两个人一块玩左右半屏游戏 等等的应用
Depth深度值
——如果要做小地图,必须确保主摄像机的值 小于 地图摄像机。越大的越在上层覆盖,在屏幕的最前方,不会被覆盖。
1.3 老师PPT:
-
Clear Flags 清除标识:决定屏幕的空白部分如何处理 Skybox 天空盒:空白部分显示天空盒圈案 Solid Color 纯色:空白部分显示背景颜色 Depth Only 仅深度:画中画效果时,小画面摄像机选择该项可清除屏幕空部分信息只保留物体颜色信息。 Don’t Clear 不清除 :不清除任何颜色或深度缓存。 Background 背景:所有元素绘制后,没有天空盒的情况下,剩余屏幕的颜色。 -
Culling Mask 选择遮蔽层:选择要照射的层Layer。 -
Projection 投射方式: Perspective 透视:透视图,物体具有近大远小效果。 Orthographic 正交:摄像机会均匀地這染物体,没有透视感,通常小地图使用。 size 大小(正交模式):摄影机视口的大小 Field of view 视野(透视模式):设置相机视野的远近距离 Field of view 裁剪面:相机到开始和结束渲染的距离 Near 近:绘制的最近点。 Far远:绘制的最远点。 -
Viewport Rect 视口矩形:标明这台相机视图将会在屏幕上绘制的屏幕坐标。 X 摄像机视图的开始水平位置。 Y 摄像机视图的开始垂直位置。 W宽度 摄像机输出在屏幕上的宽度。 H高度 摄像机输出在屏幕上的高度。 Depth 深度:相机在渲染顺序上的位置。具有较低深度的摄像机将在较高深度的摄像机之前渲染。
1.4 摄像机的练习
练习:制作游戏场景小地图
创建游戏主角 Player, 子物体包括:主摄像机,地图标记。 地图标记 PleneMark 创建物体 Plane,材质 mt_PlayerMark,并指定颜色为 蓝色,纹理为 mark 创建敌人 Enemy,并添加地图标记(红色) 为所有地图标记指定层 Mark 地图摄像机 MapCamera 设置属性:Clear Flags Culling Mask Size Viewport Rect Projection Depth
-
小贴士: -
快速定位摄像机的键——Ctrl + shift + f 选中摄像机 可以调整到sence的视角 -
不只有摄像机,其他任何物体都可以满足 -
摄像机跟着走怎么弄? -
设置成父子物体——创建空物体player -
子物体跩入到父物体后,进行transform的reset操作——目的是让子物体跟着父物体 -
想让摄像机和物体model看似同一个物体的方法就是——创建一个空物体。
制作地图流程:
-
制作小地图:创建一个map camera摄像机 -
需要注意的是,每个摄像机都具备 audio listener。所以我们需要进行操作改变——把map里的audio listener 进行 remove掉 -
摄像机可以有多个,但是耳朵只能有一个 -
一般来说,地图摄像机只需要那个camera组件 -
下一步要进行 depth的数值调整,越大的在最上层 -
要刚好垂直的话,要把transform中的postion调成 90°的倍数 -
一般情况下,我们要把摄像机的projection投射,设置为正交的——orthographic——进行2D处理即可,并稍微进行size调整 -
在地图上显示玩家的方法 -
对天上的地图摄像机,创建一个片plane,并拖放渲染的图片给它,再 进行 layer的调整。 -
写完layer层后,我们还要进行选择层。两步都必须进行 -
在主摄像机的 culling mask中去掉图标 -
在map摄像机的culling mask中去掉人物 -
最好地图摄像机不要和主摄像机进行对全部物体的渲染,那么我们的解决办法就是 -
自己再创建一个plane地图放在整个真实对象的下面,让美工做一个地图图片赋给创建的plane,在map摄像机中只看 图标和这个创建的贴纸地图plane -
在viewport rect中 要先调w h 再调 x 和 y 注意这个顺序!! -
去掉地图中的空白部分,操作——在地图摄像机中,点击clear flags 选中depth only即可 仅深度,作用是空白部分不做渲染,只渲染有物体的地方。 -
Don’t clear 一般不设置,因为会花屏。
|