当前课程知识点:游戏程序设计 >  第八章 《材质着色与光照》 >  8.1 物理回顾1 >  8.1 物理回顾1

返回《游戏程序设计》慕课在线视频课程列表

8.1 物理回顾1在线视频

下一节:8.2 物理回顾2

返回《游戏程序设计》慕课在线视频列表

8.1 物理回顾1课程教案、知识点、字幕

大家好

我叫黄健聪

我是来自光子技术中心

上一个老师已经给大家讲了一些游戏里面

渲染管道的一些基础的知识

然后后面我会讲一下

怎么样去产生一个好的一个游戏的画面

主要是讲一些光照的模型

怎么对通过数学或者去公式去

去对一些材质进行光照着色

然后我做过和平精英

还有PUBGMobile

还有那个之前在网易的时候也做过

Messiah

还有梦幻西游3D版

这个课程主要是关注于

物理跟渲染一些关系

但不会尝试覆盖所有的一些技术细节

因为对一个对一个技术来说

覆盖技术细节的话就时间就不太足够

所以我们会讲一下整个渲染的一些技术的脉络

然后也尝试比以前的图形课

更加的从一个物理的视觉上出发去长尝试

那个物理跟渲染的这关系

然后大家会收获了什么

最起码可以在生活里面

看到一些光和物质交过的一些现象

比如一些高光

或者反射大概会理解它的一些物理背景

也可以在玩游戏时候更加清楚的了解一些

游戏的一些画面的选项

它具体的效果还有大概的一些消耗

然后我们的目我们大概会分为四个部分

首先

前面对物理会进行回顾

主要是讲一些光的物理的特性

然后会讲些材质

光到底会跟什么样的类型材质会进行交互

包括不透明的

透明的部分

然后还有后面课

讲局部的光照的模型

就光怎么跟材质进行单次加固周产生什么

产生什么样的画面

关于在场景里面的多次的反弹

多次反弹就会有整体的一个

更好的游戏画面的效果

然后前面会讲什么是什么是渲染

渲染的话

其实是一个平衡物理

跟有限计算资源的艺术

为什么会说

因为在我们实时渲染的场景里面

主要就是游戏游戏的话

它是有很有限的计算资源的

而且它的尺度是非常大的

从不同种类的一个资源

包括计算的集群

现在我们常说的云游戏

就主要就是从集群来进行运算

包括你自己个人PC的电脑

还有主机到手机

它之间所有的设施设备的

那个算力的差异是很大的

然后我们

而我们游戏关注的是实时渲染

实时渲染的话

你只能在有限的一帧的时间里面去完成

你整个所有画面渲染的计算

比如里一个游戏是六十帧的话

它中间隔就走16毫秒

那么你就一定要在那个

固定的帧率的时间区间

提交下一帧画面

只要没有及时在16毫秒内提交

这个画面的话

就会产生一些抖动了

然后这也讲一个问题就是

既然渲染跟算力是这么强的一个关系的话

所以也还很容易理解

为什么游戏的画面比不过一些电影的画面

因为电影是离线的离线渲染之后

通过很大的计算齐群很长的时间

等几天去渲染一帧画面也有了

所以

所以实时游戏

在有限的算力是比不过电影的画面

它只能在有限的资源里面计算

然后我们整个课程主要是覆盖的

是真实性的渲染

渲染其实包括多方面

有的卡通的渲染也有漫画风格的渲染

但是

为什么主要讲真实性渲染

一般来说

第一个是我们程序比较好控制角色

卡通漫画风格的话

那它是美术需要美术渲染的部分比较多

然后这时渲染就像你学画画时候

一个树苗的基础一样

有一个真实的光影的关系

也是别的艺术渲染的一个基础

然后这个新渲染

主要就是有我们就叫基物流渲染

也是现在叫做PPR

就是现在很多游戏

在这几年画面提升比较巨大的原因之一

就是它的光照

基于更精确的物理模型进行渲染

这是物理里的模拟

包括对材质的物理建模和光照的物理建模

然后他整体的结果就是

关于物质这些间的交互的结果

然后

会讲下渲染

其实渲染就是一个

数字模拟光学成像的一个过程

你在它主要有三部分的主体

一个是一个光源发射的光线要有场景里面

要交付的物体要被是被观察的物体

然后另一个就是有接收的眼睑

就是你感受光线的一个或者在游戏里面

也可以叫摄像机

去观察里你这一帧的画面

然后我们渲染

我一般是从计算机图形学来说的

另一类另一个分类还有计算机视觉

计算机视觉的话就主要是反过来

它是从真实的照片或视频

去得出我们被模拟的这些物体光源

还有跟场景的交互

它是从一个最终的图片或视频

去返回反馈这个过程

所以一般我们会说那个计算机图形

跟计算机视觉是一个相反的一个过程

这也因此

由于这个原因是

指的是这两门学科有很大的区别

就是我们计算机图形学大部分的工作

大部分你看那个西瓜会议论文

或者以前的一些工作

都是从一个确定的物理公式

和数学推导去出发的

就是被不论是被观察的物体

它的三角模型还是它的材质的

一个光学模型都是已经建模好的数字模型

然后假如就是视觉的话

这大部分都是从模糊选点或者是神经网络的

这些统计的方法

训练的方法去出发去做它的工作

然后我们做渲染的真实性

渲染的原则就是要保证模拟的真实性

所以

要以物理研究为背景

然后由这个左图里面

我们基本上为什么人眼

会看到一个红色苹果是红色的话

就是主要是因为这苹果的皮

它把一个白光里面其它除了红色波长的

其它光的波长都吸收了

然后就反射到两点的时候就紫色红色

这其实就是一个类似渲染的过程

然后后面我们就会讲这个

这些计算是怎么产生的

然后要具体怎么建模

然后我们可以先看一下

当前是渲染一个那个比较好

比较近近期的一个效果

是可以做到什么程度

大家在看这个demo

Unity最新的一个引擎它的一个

示例demo

然后你在里面会看到

它主要是一些植被环境

里面有草

有树

现在类似一个pc的算力和主机的算力

可以渲染的三角面数是根据它们的真实性相差很大

然后

这会先讲一下渲染的方程

就假如我整个PPT

都只用看一个公式的话

就后面的都后面只是一些介绍

唯一要讲的只是这一个公式

因为这是渲染里面一个最重要的公式

然后

然后

整个其实在后面整个几何的光学

或者计算机图形学里面几何光学部分

都是围绕着这个公式

在不同的一个尺度去进行研究的

然后从公式的理解就是首先

你首先前面第一项它这个就是

人眼看到的一个接收的光线就是这个

这个反射的方向

这个就是一个我们要观察的

物体的某一个极小的点吧

在这个在物体表面上面

然后我们过一个观察者

能够光观察到多少能量呢

它就是等于这个物体表面这个点

它自身朝着这一个观察方向发出的能量

这个一般我们也可以叫它是自己会发光的物体

把它能自己设计的光源

或者是那些广告板

有的发光的LED之类的

然后再加上

加上

就是这个物体表面上这个点

它上面覆盖的一个半球面

它能接受到的所有的一些入射的光线

这个积分就是这个半球面的一积

这半球面的意思

然后

它能接受它所有的这个就是入射的光线

这个叫Li

然后

这个每一根入射光线朝着这个观察方向

它反弹了多少能量

就是由这一个

这个我们后面就叫BRDF项

BRDF项就是Fr

然后来组成整个

整个把每一根光线的这个反射的能量

都收集起来

从这个半球面上

然后就会得到我们整个

整个这个观察者

能观察到的这个物体表面的一个能量

然后也是人为什么会感觉

看到某个物体表面到底是什么颜色

就是它能接收到的光线来决定的

然后前面这个后面也会细讲

这个为什么叫BRDF

就是这个反射它到底是什么意思

其实是代表了一个从某一个方向入射方向

到你这个固定的这个出射方向

这两个成对的方向

上面

它有光有多少概率反弹到这个方向上

所以其实整个公式的理解

就是这人眼也能看到的所有的能量

就是它自己自身发出能量

还有这个物体表面接收到所有的能量

朝这个方向反弹的一个能量的核

后面会讲一下

刚才那个余弦定理为什么

会有一个光打到一个物体表面的时候

为什么要乘于刚才的cos c塔

比较直观的就是我们那个

高中物理应该也会讲过

地理里面也会讲太阳直射到赤道的时候

它会产生热带的那个地球表面

接受到的能量最高

要到太阳射射向地球的南北区的时候

只要它的右上角是慢慢乘以90度

基本是插过这个物体的表面

和它接触的能量是根据这个

入射角是一个衰减的关系

然后怎么其实有各种图的画法

去理解这个cos c塔关系

但是对于我来说比较好理解

就左上角这个比较好理解

就假设我这个物体表面

是一个固定的一个微元

固定面积大小的一个微元

去接受这个光线的能量的话

这光线那光线的能量

它只要是一个平形光

度是固定的话

那它总的能量大小

就跟这个截面的一个面积是有关的

但当你这个光线慢慢右上角慢慢变大

慢慢变接近垂直的时候

它这个打到这个物体上面

这个

前面是

是慢慢比这个

你要接受着刚才说的那个

这个微元的面积是要大的

而且越来越大

所以它能接受的光是衰减的越来越厉害

因为比如之前一开始情况

它是完全可以将整个

这一段的光线全部接收了

然后后面只能接收它能量的一部分

后面会做一下物理的回顾

对光线的一些特性

然后光

一般都说光是电磁波

然后他所以他会有波粒二象性

波的特性的话

就会有什么有什么现象产生衍射的现象

就波的话像水波声波

它可以绕过

阻挡体

然后粒子特性主要是沿直线传播的

所以这两个其实蛮矛盾的

但是什么时候会呈现波的特性

会多一点

什么时候会呈现粒子特性

多一点的后面

也会讲

游戏程序设计课程列表:

第一章 《游戏开发导论》

-1. 1什么是游戏(上)

--1.1 什么是游戏(上)

--选择题

-1.2 什么是游戏(下)

--1.2 什么是游戏(下)

--选择题

-1.3 游戏是如何开发出来的

--1.3 游戏是如何开发出来的

-1.4 游戏引擎(上)

--1.4 游戏引擎(上)

-1.5 游戏引擎(下)

--1.5 游戏引擎(下)

--单选题

-1.6 如何成为一个游戏开发者

--1.6 如何成为一个游戏开发者

--多选题

第二章 《游戏服务器概述 》

-2.1 什么是游戏服务器

--2.1 什么是游戏服务器

--单选题

-2.2 游戏服务器的和分类发展

--2.2 游戏服务器的和分类发展

--单选题

-2.3 核心技术和实现难点

--2.3 核心技术和实现难点

--单选题

-2.4 设计原理与方法论

--2.4 设计原理与方法论

--单选题

第三章 《《三维几何学基础》 》

-3.1 三维坐标系统

--3.1 三维坐标系统

--多选题

-3.2 向量与运算

--3.2 向量与运算

--单选题

-3.3 矩阵与线性变换

--3.3 矩阵与线性变换

--双选题

-3.4 四元数

--3.4 四元数

--多选题

第四章 《游戏循环及实时模拟》

-4.1 游戏循环概述(上)

--4.1 游戏循环概述(上)

--多选题

-4.2 游戏循环概述(下)

--4.2 游戏循环概述(下)

--单选题

-4.3 《无尽之路》的实现

--4.3 《无尽之路》的实现

--单选题

-4.4 支撑游戏的功能

--4.4 支撑游戏的功能

--选择题

-4.5 支撑游戏的机制与系统

--4.5 支撑游戏的机制与系统

--多选题

第五章 《随机数在游戏中的应用》

-5.1 基本介绍

--5.1 基本介绍

--单选题

-5.2 随机数生成器

--5.2 随机数生成器

--单选题

-5.3 随机数分布与应用

--5.3 随机数分布与应用

--单选题

第六章 《游戏性系统》

-6.1 什么是游戏玩法开发

--6.1 什么是游戏玩法开发

--单选题

-6.2 建立愿景 Vision

--6.2 建立愿景 Vision

--单选题

-6.3 划定边界 Scope

--6.3 划定边界 Scope

-6.4 迭代 Iteration

--6.4 迭代 Iteration

--单选题

-6.5 迭代 Iteration+抛光Polish

--6.5 迭代 Iteration+抛光Polish

--单选题

第七章 《实时图形渲染管道》

-7.1实时图形渲染管道 宏观渲染系统

--7.1实时图形渲染管道 宏观渲染系统

--单选题

-7.2实时图形渲染管道 应用阶段

--7.2实时图形渲染管道 应用阶段

--单选题

-7.3实时图形渲染管道 几何阶段

--7.3实时图形渲染管道 几何阶段

--单选题

-7.4实时图形渲染管道 光栅化阶段

--7.4实时图形渲染管道 光栅化阶段

--单选题

-7.5实时图形渲染管道 总结 参考

--7.5实时图形渲染管道 总结 参考

第八章 《材质着色与光照》

-8.1 物理回顾1

--8.1 物理回顾1

--单选题

-8.2 物理回顾2

--8.2 物理回顾2

--单选题

-8.3 材质 1

--8.3 材质 1

-8.4 材质 2

--8.4 材质 2

-8.5 材质3

--8.5 材质3

-8.6局部光照

--8.6局部光照

--单选题

-8.7 全局光照

--8.7 全局光照

--单选题

第九章 《游戏动画》

-9.1 动画介绍

--9.1 动画介绍

--多选题

-9.2 游戏动画介绍

--9.2 游戏动画介绍

-9.3 动画技术类型

--9.3 动画技术类型

--多选题

-9.4 骨骼蒙皮动画

--9.4 骨骼蒙皮动画

--多选题

-9.5 动画流水线

--9.5 动画流水线

--多选题

-9.6 动画前沿趋势

--9.6 动画前沿趋势

--多选题

第十章 《网络同步技术》

-10.1 .基本概念

--10.1 .基本概念

--多选题

-10.2 设计目标

--10.2 设计目标

--多选题

-10.3 传输数据分析

--10.3 传输数据分析

--多选题

-10.4 常用同步方案 1

--10.4 常用同步方案 1

-10.4 常用同步方案 2

--10.4 常用同步方案 2

-10.4 常用同步方案 3

--10.4 常用同步方案 3

-10.4 常用同步方案 4

--10.4 常用同步方案 4

--多选题

-10.5 方案对比

--10.5 方案对比

--多选题

第十一章 《游戏常用几何学》

-11.1 基本图元

--11.1 基本图元

--单选题

-11.2 图元距离(上)

--11.2 图元距离(上)

--单选题

-11.2 图元距离(下)

--11.2 图元距离(下)

--单选题

-11.3 图元相交测试+ 其他几何方法

--11.3 图元相交测试+ 其他几何方法

--单选题

第十二章 《游戏物理模拟》

-12.1 著名物理引擎介绍

--12.1 著名物理引擎介绍

--单选题

-12.2 物理引擎原理(上)

--12.2 物理引擎原理(上)

--单选题

-12.3 物理引擎原理(下)

--12.3 物理引擎原理(下)

--单选题

-12.4 游戏中的物理体

--12.4 游戏中的物理体

--单选题

-12.5 物理引擎使用入门

--12.5 物理引擎使用入门

--单选题

第十三章 《开发工具 》

-13.1开发语言

--13.1开发语言

--单选题

-13.2 开发环境

--13.2 开发环境

--单选题

-13.3 腾讯开发组件介绍

--13.3 腾讯开发组件介绍

--单选题

-13.4 网络通信+业务框架介绍

--13.4 网络通信+业务框架介绍

--多选题

第十四章 《分布式系统设计 》

-14.1 进程间通信(上)

--14.1 进程间通信(上)

-14.2 进程间通信(下)

--14.2 进程间通信(下)

-14.3 通信格式

--14.3 通信格式

-14.4 并发模型

--14.4 并发模型

-14.5 超时处理

--14.5 超时处理

-14.6 大系统小做(上)

--14.6 大系统小做(上)

--多选题

-14.7 大系统小做(下)

--14.7 大系统小做(下)

-14.8 架构层面的技术支持(上)

--14.8 架构层面的技术支持(上)

--单选题

-14.9 架构层面的技术支持(下)

--14.9 架构层面的技术支持(下)

-14.10 分布系统的关键能力

--14.10 分布系统的关键能力

--多选题

第十五章 《游戏人工智能》

-15.1 游戏人工智能综述

--15.1 游戏人工智能综述

-15.2 人工智能在游戏中主要方法 上

--15.2 人工智能在游戏中主要方法 上

--多选题

-15.3人工智能在游戏中主要方法 (下)

--15.3人工智能在游戏中主要方法 (下)

-15.4 人工智能在游戏制作中的应用领域1

--15.4 人工智能在游戏制作中的应用领域1

--多选题

-15.5 人工智能在游戏制作中的应用领域2

--15.5 人工智能在游戏制作中的应用领域2

-15.6 人工智能在游戏制作中的应用领域3

--15.6 人工智能在游戏制作中的应用领域3

--多选题

-15.7 人工智能在游戏运营中的应用实践(上)

--15.7 人工智能在游戏运营中的应用实践(上)

-15.8 人工智能在游戏运营中的应用实践(下)

--15.8 人工智能在游戏运营中的应用实践(下)

--多选题

第十六章 《游戏支撑系统 》

-16.1 游戏支撑系统(1)

--16.1 游戏支撑系统(1)

--单选题

-16.2 游戏支撑系统(2)

--16.2 游戏支撑系统(2)

--单选题

-16.3 游戏支撑系统(3)

--16.3 游戏支撑系统(3)

--单选题

-16.4 游戏支撑系统(4)

--16.4 游戏支撑系统(4)

--单选题

-16.5 游戏支撑系统(5)

--16.5 游戏支撑系统(5)

第十七章 《游戏逻辑服务器和反外挂》

-17.1 游戏逻辑服务器(上)

--17.1 游戏逻辑服务器(上)

--单选题

-17.1 游戏逻辑服务器(下)

--17.1 游戏逻辑服务器(下)

-17.2 外挂与反外挂(上)

--17.2 外挂与反外挂(上)

-17.2 外挂与反外挂(下)

--17.2 外挂与反外挂(下)

--多选题

第十八章 《运行环境和运维 》

-18.1运行环境

--18.1运行环境

--多选题

-18.2物理部署

--18.2物理部署

--多选题

-18.3系统的可运维性

--18.3系统的可运维性

--多选题

-18.4运维案列分析

--18.4运维案列分析

--多选题

8.1 物理回顾1笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。