【贪玩巴斯】Unity3D初学圣经(四)——Unity基础知识中——Camera所有属性全解 一篇文章所有组件全部概括 —— 2022年1月28日

本博文为贪玩巴斯整理B站达内教育——Unity3D 2017版本 的 课堂笔记和PPT记录

欢迎关注我的微信公众号
编程之蓁 ID:bianchengzhizhen
及时分享算法、计算机科学以及游戏编程内容

微信公众号同样也能查看学习笔记喔~

本人CSDN博客主页
贪玩巴斯
欢迎互相交流学习


本文对应视频 2-4 到 2-6

1.摄像机 Camera

  • 2-4
  • 2022年1月20日
  • 摄像机 camera

1.1 简介:

  • 附加了摄像机 Camera组件的游戏对象

  • 向玩家捕获和显示世界的设备

  • 场景中摄像机的数量不受限制

  • 像人的眼睛,只能看到视线椎体里的东西。

  • 摄像机的组件:
    Transform 变换组件,移动旋转
    Camera 摄像机:向玩家捕获和显示世界
    Flare Layer 耀班层:激活可显示光源耀斑
    GUILayer :激活可渲染二维GU元素(基本已经被废弃
    Audio Listener音频监听器:接收场景输入的音频源AudioSource并通过计算机的扬声器播放声音。

  • 摄像机是用户的眼睛和耳朵

1.2 摄像机的属性:

  • 摄像机的属性:

Clear flags:

——屏幕空白区域,没物体的部分的处理

天空盒:
    • 默认的天空盒 skybox
    • 围绕整个场景的包装器,用于模拟天空的材质
    • 天空盒材质种类: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属性设置一个平行光,场景中会根据平行光角度自动创建太阳,并且位置随平行光旋转而改变。如果不设置,系统将默认选择场景中最亮

  • 2-5 ,接上2-4讲摄像机

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 摄像机的练习

  • 2-6
  • 2022年1月22日

练习:制作游戏场景小地图

创建游戏主角 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 一般不设置,因为会花屏。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪玩巴斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值