欢迎光临散文网 会员登陆 & 注册

Unity3D摄像机相关简介

2021-10-10 23:44 作者:柯昌弟弟c  | 我要投稿


Unity3D摄像机组件

unity的场景之中,想看到物体的样式,就是通过摄像机组件来实现。Camera也是比较核心的组件。在unity场景创建的同时,会自动创建一个MainCamera作为主要相机。并且摄像机会附带有Flare Layer、GUI Layer、Audio Listener等4个组件

在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer、Audio Listener等组件。

接下来看一下组件上具体的内容:


  • ClearFlags:清除标记;决定屏幕中哪部分被清除。一般用于多台摄像机来描绘不同对象的情况,有一下三种模式。

    • Skybox:天空盒(默认项)。在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色。

    • Solid Color:如果没有设置天空盒,将默认显示此处设置的背景色。

      (可以在 background中设置颜色)

    • Depth only:仅深度,该模式用于对象不被裁剪。

    • Don't Clear:不清除,该模式不清楚任何颜色和或深度缓存,但这样做每帧渲染的结果都会叠加在下一帧之上。一般与自定义的Shader(着色器)配合使用。

  • Culling Mask:剔除遮罩,根据对象所指定的层来控制渲染的对象。

  • Projection:投影方式,分为透视和正交。

    (默认是3D视角相机 - Perspective透视投影,也可以切换为2D游戏相机 - Orthographic正交摄像机)

  • Field of view:视野范围(透视模式的参数)

  • Clipping Planes:裁剪平面,Near表示拍摄到的最近的距离,Far表示拍摄到的最远的距离,以米为单位,超出或小于的相机不绘制。

  • Viewport Rect:是摄像机拍摄到的画面在游戏Game视图的显示比例,一般是不去改的,除非想做两个显示画面的时候,像直播的右下角有人头像。

  • Depth:深度 ,用于控制摄像机的渲染顺序,值大的摄像机将被渲染在较小值的摄像机之上。

  • Target Display:一台电脑可以接多台显示器,Display1到Display8分别表示1到8的显示器。选择哪一个Display就绘制到哪个对应的显示器上。

本人不才,当然还有一些我不常使用的属性,希望日后可以更加了解。

在使用中主要是运用点:

  1. Culling Mask

    有的时候,需要让一个摄像机只看到部分内容,就需要调整cullingmask的可见内容,而且也要给想看的物体添加一个layers值

摄像机上的设置选项和layers的选项是一致的
可以给每一个物体设置你想要的layers值

如果你想添加新的layers,也可以通过"Edit" -> "Project Settings" -> "Tags and Layers"来打开设置面板。

前8个是系统默认,可以在后边添加新的

layers值:public LayerMask m_layerMask = 1;

        LayerMask的NameToLayer是通过层的名称返回该层的索引,如果是8,然后1<<8换算成LayerMask值,再用LayerMask的value就可以了。注意也必须设置collider才能接收碰撞,这里才能判断到。LayerMask实际上是一个位码操作,在Unity中Layers一共有32层,这个是不能增加或者减少的:1 << LayerMask.NameToLayer("UI") 这一句实际上表示射线查询只在UI所在这个层级查找是返回的该名字所定义的层的层索引,注意是从0开始。layer最多只能有32个层。

tag值: string _tagName = gameobject.tag[;

        tag可以理解为一类元素的标记,如hero、enemy、apple-tree等。通过设置tag,可以方便地通过GameObject.FindWithTag()来寻找对象。GameObject.FindWithTag()只返回一个对象,要想获取多个tag为某值的对象,GameObject.FindGameObjectsWithTag()。

Align with view:菜单栏->GameObject->Align with view

        这个用法就要把普通游戏对象和Camera 分开来说了,选中普通的游戏对象:会移动游戏对象,直到游戏对象的中心点和视图的中心点对齐

        选中Camera:会移动Camera,直到Camera的中心點和視圖的中心點对齐,虽然和普通游戏对象结果一样,但是效果却不一样,它会让你在Game窗口看到的景象和在Scene窗口看到的景象一致

(比如可用于:你在Scene里调整一个视角,想在Game窗口看到效果,就可以选中Camera,然后点击Align With View,这样Game窗口显示的图像就和Scene一样了)

        unity点击Align With View之后,会出现视野变小的情况,这个时候查看Scene窗口右上角坐标轴下面的视图模式是不是变成了Iso(正交投影视图),可以点击一下,切换为Persp(透视图)就行了


以上就是在使用摄像机时,了解到的内容,之后也会更新一些学到的相机跟随等关于摄像机的使用方法,如果大家对我的帖子有什么看法都可以私聊给我,谢谢大家。

Unity3D摄像机相关简介的评论 (共 条)

分享到微博请遵守国家法律