欢迎大家来到 《Unity 游戏编程进阶》第二单元的学习 本节我们简要回顾
Unity 三维场景渲染的知识要点,后续课程介绍 Unity
高级渲染技术,包括全局光照、 着色器 Shader 等高级话题 本页 PPT
给出真实世界的一个光照场景 真实世界中阳光照射到树木表面,经过树木表面反射的光线,进入相机镜头
经过镜头的光线,最后照射到相机的感光元件上 感光元件记录这些光线信息,保存为胶卷,或者量化为图像文件
游戏场景是采用计算机技术描述的一个虚拟世界
这个虚拟世界与真实世界类似,场景中包含光、 物体以及相机
游戏中的物体与场景光源发出的光线,发生反射或者折射现象
这些反射或者折射的光线,经过场景渲染过程,由虚拟相机记录下来,生成虚拟相机所拍- 摄的照片
虚拟相机拍摄的照片显示在电脑屏幕上,我们就看到了游戏场景画面 三维场景的渲染,本质上就是将计算机技术描述的 3D
场景 经过一系列计算过程,最终以 2D 图像的形式呈现在显示屏幕的过程
Unity 渲染一个三维游戏场景
需要多个元素,具体包括:光源、 可绘制的游戏对象、
材质以及摄像机 现实世界中,如果没有光源,世界一团漆黑,人眼感受不到任何影像
Unity 游戏场景中,我们同样需要光源来照亮整个场景 Unity
包含四种基本光源,分别是:点光源、 方向光、 聚光灯以及面光源。
我们通过 设置光源的颜色、 强度以及它们在场景中的位置等参数,营造游戏场景不同的光照效果
在 Unity 中,大部分可以绘制的
游戏对象都包含三个基本的组件,分别是:Transform、 Mesh Filter 和 Mesh Renderer
组件 其中 Transform 描述了物体的位置、 朝向和缩放比例 Mesh Filter
指定了物体模型的网格信息;Mesh Renderer 指定了物体的渲染方式
物体的材质在 Mesh Renderer 组件中设置。
我们知道大多数情况下阳光是白色的 白色阳光照射下的物体通常表现出不同的颜色,比如叶子是绿色的、
树干是棕色的 苹果是红色的。
另外,物体表面反射或者折射光的能力也不同,比如雪地反射和折射太阳光会造成雪盲; 光滑的金属表面会呈现面积很小的高光区域
上述物体外观的区别,主要源于物体本身的材质不同 在 Unity
中,我们用材质定义物体与光线相互作用后 产生的视觉效果。
在现实世界 中,我们用眼睛观察世界,在 Unity
中我们借助虚拟相机来观察游戏场景 虚拟相机的参数给出了观察者在何处以何种角度和投影方式,来观察游戏场景
添加了光源、 可绘制的
物体、 材质和相机后,Unity 引擎可以渲染出对应的游戏场景画面
在游戏开发中,把这些简单的要素堆积在一起,无法获得逼真的游戏画面 为了获得更佳酷炫、
逼真的游戏视觉画面 需要在游戏场景中使用 Unity 引擎的高级渲染技术,比如说,全局光照,着色器技术
本单元后续的课程中,我们将介绍 Unity 引擎中的一些高级渲染技术
并将这些技术应用到我们的课程项目中,本页 PPT 展示了
使用全局光照和着色器渲染技术后,《慕课英雄2》的视觉效果 下一节我们
将详细介绍 Unity 的光源和它们的相关属性