一、Inspector窗口
Inspector窗口可以查看和编辑对象的属性以及设置
其中包含各种组件,例如用Cube对象来举例
1.Sphere(Mesh)组件:
用来决定对象的网格属性,例如球体网格为Sphere、立方体网格为Cube
2.Mesh Renderer组件:
用来设置对象的渲染属性,例如材质球、灯光、光照探针等
3.Material材质组件
用来设置对象的材质属性
unity中的任何对象都是由不同的组件生成的
二、摄像机
1.Clear Flags
Clear Flags 清除标记
每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用多个相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个选项之一来完成Skybox 天空盒
这是默认设置。在屏幕上空的部分将显示当前相机的天空盒。如果当前相机没有设置天空盒,它会默认使用渲染设置(在Edit->Render Settings里)中选择的天空盒。然后它将退回使用背景颜色。
Solid Color 纯色
屏幕上的任何空的部分将显示当前相机的背景颜色。
Depth Only 仅深度
如果你想绘制一个玩家的枪而不让它在环境内部得到裁剪,你要设置一个深度为0的相机来绘制环境,还要另一个深度为1的相机单独绘制武器。该武器相机的清除标记应设置为仅深度。这将保持环境的图形显示在屏幕上,但会丢弃所有关于每个对象在三维空间中的位置的信息。当枪被绘制出来,不透明的部分将完全覆盖任何已绘制的事物,而不管枪到墙之间如何接近。
Don’t Clear 不清除
该模式不清除任何颜色或深度缓存。其结果是,每帧绘制在下一帧之上,造成涂片效果。这不是用于游戏的典型方式,最好是与自定义着色器一起使用。
主要学习一下Depth Only:
个人理解为,假设一款FPS射击游戏,如果为武器单独添加一个Camera,并且调整Depth值,使其大于原来的Camera的Depth,这样这把武器便会永远显示在场景中,而不会因为距离太近或者太远导致武器被裁剪掉
上文引用自:
unity摄像机中clear flags属性介绍 - 技术专栏 - Unity官方开发者社区
2.Culling Mask
Culling Mask 是相机组件的一个重要属性,它决定了相机渲染场景中的哪些层级(Layer)的物体。
3.Projection
用来决定摄像机的投影方式的属性
- Perspective 透视投影
- OrthoGraphic 正交投影
4.Field of View
摄像机的焦距设置
5.Target Texture
摄像机目标渲染纹理
目标渲染纹理:
通常情况下,摄像机直接渲染到屏幕上,但对于某些效果,将摄像机渲染到纹理中非常有用。这可以通过创建 RenderTexture 对象并将其设置为摄像机上的 targetTexture 来实现。然后,摄像机将渲染到该纹理中。
当 targetTexture 为 null
时,摄像机渲染到屏幕上。
渲染到纹理时,摄像机始终渲染到整个纹理中;
- 第一步 创建 Render Texture
- 第二步 将创建好的 Render Texture 拖动到摄像机的目标渲染纹理通道中,这样摄像机视角下的画面就会渲染到 Render Texture 中
- 第三步 可创建一个材质球 将摄像机画面下的纹理贴图Render Texture赋予到材质球上
6. Target Display
目标显示设备,用于多摄像机的显示标记
在创建多个摄像机后,程序可能会报错
可以将后创建的摄像机的监听组价给关闭,这样就不会报错了
7. Depth
摄像机的深度,当有多个摄像机时,深度的大小影响摄像机的渲染次序
深度数值越大的摄像机,越先被渲染
8.创建多个Game视口并显示不同的摄像机画面
- 在Game标签下右键,点击 Add Tab , 增加 Game 视口
- 并为不同的Game视口显示不同的摄像机画面
9.多摄像机下利用 Depth Only 为Game视口创建小图标
注意:只能给深度数值最大的摄像机设置 Depth Only,这样两个摄像机的画面才会都显示在 Game视口中,而当两个摄像机深度数值相同,则都可以
然后可调整摄像机的Viewport Rect参数为该摄像机的画面创建小图标
10. Ctrl+Shift+F
选中摄像机并调整场景画面角度后按Ctrl+Shift+F,Game窗口就会显示此视角的摄像机画面
三、灯光
1.灯光类型、颜色、强度
2.灯光下阴影的参数设置
- Cookie 阴影的剪影
3. 灯光的光晕
4. Render Mode
设置灯光的渲染模式,有自动、重要、不重要三种