Unity摄像机与灯光相关知识

一、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

设置灯光的渲染模式,有自动、重要、不重要三种

5.Culling Mask

6.为平行灯添加光效的组件 Lens Flare

相关推荐
阿赵3D5 分钟前
Unity引擎播放HLS自适应码率流媒体视频
unity·游戏引擎·音视频·流媒体·hls
NRatel3 小时前
Unity 游戏提升 Android TargetVersion 相关记录
android·游戏·unity·提升版本
郝学胜-神的一滴4 小时前
Three.js 材质系统深度解析
javascript·3d·游戏引擎·webgl·材质
SmalBox5 小时前
【渲染流水线】[光栅阶段]-[片元着色]以UnityURP为例
unity·渲染
★YUI★1 天前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
SmalBox1 天前
【渲染流水线】[光栅阶段]-[光栅插值]以UnityURP为例
unity·渲染
谷宇.1 天前
【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身
游戏·unity·c#·游戏程序·unity3d·游戏开发·游戏编程
NRatel2 天前
亚马逊S3的使用简记(游戏资源发布更新)
游戏·unity·amazon s3
SmalBox2 天前
【渲染流水线】[几何阶段]-[屏幕映射]以UnityURP为例
unity·渲染
SmalBox3 天前
【渲染流水线】[几何阶段]-[归一化NDC]以UnityURP为例
unity·渲染