当前课程知识点:游戏程序设计 >  第十二章 《游戏物理模拟》 >  12.1 著名物理引擎介绍 >  12.1 著名物理引擎介绍

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

12.1 著名物理引擎介绍在线视频

下一节:12.2 物理引擎原理(上)

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

12.1 著名物理引擎介绍课程教案、知识点、字幕

现在呢

就是我要讲的就是一个游戏

物理模拟

对一个虚拟世界来说

我们想要创建

就是游戏其实是

虚拟世界的一个或者叫虚拟现实的一个

最直接的应用

像我们比如说玩的一些枪战游戏啊

然后3D的RPG游戏啊

都是通过3D来渲染

但有一部分是通过2D来做

但是一个趋势

都是说在不断的就是说

通过3D

不管是从视觉效果上以及你的那种

可理解的那种物理规则上的都逐步的就是说

更应该就是说更接近于现实

就是模拟整个就是说

构建整个虚拟世界的

它的最直观的可能就是那个图像的效果

比如说它的光影效果对不对

比如它的一些就是它的那个就是

材质的颜色啊

可能一些就是质感这种效果

然后对于除了这些就是视觉上的效果

还有一些就是你人能感知的就是3D上

或者就是说人

对于重力

虽然说你可能不能直接感知重力

但是呢

你能一个物体从从空中掉下来

它有一个加速度

这个加速度

你对加速度也有一定的

就是说叫感触

就是它的速度快慢也会

决定于你对整个这个世界的一个认知

比如说他落得很慢

你会觉得这个世界可能重力

重力不够

没有重力或者不真实

然后呢

角色与角色之间的

人他是不能穿墙的对吧

因为我们现实生活中的这个物理世界呢

就是像固体固体之间是不可就是穿插的

一般是不可穿插的

当然还有流体

要模拟整个物理世界呢

其实最简单的一个是

物体的那个钢铁的一个重力效果

还有碰撞效果

还有一个就是机械装置

比如像我们车

它的车轮可以转动

但是车轮不会跟那个车进行分离

当然我觉得呢

我总结

就是说

我们其实现在的那个游戏啊

基本上是可以把在前面的

这部分的都不断的

就是说越来越真实

就是像一些就是说

叫真实级

也就应该要真实照片级渲染的一些技术了

就会逐步的加强

就是有就是以前

比如说以前用那个就是CPU软件渲染的

一些场景图的吧

有的时候可以让普通人分辨不出到底是拍出来的

还是照片照出来的

以前就是说通过

就是因为你

因为在做渲染的时候

有的渲染

它可能渲染很长时间

可能半个小时

甚至有的会一天

就是它会

把不断的就是把光影以及颜色

这些的效果不断的把它渲染出来

现在呢

其实通过一些就是游戏里的

一些实时渲染技术也可以

接近于这种叫

就是说照片级的这个效果

当然

它需要非常好的那个机器性能就是

比较好的显卡

就是我们现在呢

其实整个虚拟世界还

比较难于就是说的

然后去实时,就实现实时的话

那其实可能就是我觉得就是一些

蛋白质的一些模拟

包括生命就是生长啊

还有化学反应呢

甚至那个

就是人工智能这块

其实这块我觉得也是整个这个就是说那个

发展的一个方向吧

现在AI的其实是已经在某些方面的

就是说已经比人的人类更就是说更强了

比如像那个之前Google

Google的

那个下棋的那个那个叫什么了

它那个机器的名字

AlphaGo

它已经就是说已经战胜了

就是说

世界冠军李世石以及我们的柯洁同学

就是AI在某一方面的这种

智能其实已经超越人类了

什么是时间

时间是

就是说是一种状态到另一个状态的一个转换过程

比如说像游戏就是物理引擎

或者说虚拟世界里面

然后计算机怎么计算的呢

就是说我当前的这个状态

它其实是有一个帧的概念的

如果数字媒体同学应该知道吧

就不管是就是说

我们做的这种

应该说视频吧

它其实简单的说呢

他就是每一帧

每帧的存储下来的

状态与状态之间它可能没有中间状态

其实对于物理引擎来说也是这样的

就是它整个模拟

整个世界的一个过程的是

一帧一帧的模拟的

一帧一帧的模拟

就是说我模拟了一帧状态之后呢

然后再计算下一帧状态

这个计算的过程中是引入就是

引入这个

就是说比如说

系统外额外给的一些力啊

或给的一些设置

然后以及它内部本身

它有些默认的属性

比如说像重力

或者说碰撞啊

然后呢

再进入下一帧的状态

就是物理通过物理引擎的

通过一帧一帧的这种迭代的方式呢

去不断的去那个

去模拟这个世界

就是也许可能我们的这个世界呢

是不是也是通过这种方式模拟

因为我们这个世界已知也有一个普朗克时间

但是这个普朗克时间到底是不是真是这个物理的

最小的那个时间

但是这个呢

也是一个不太 一个未知的一个

一个东西

但是在我们就是说

我们当前游戏或者说那个3D

物理引擎在技术里面呢

这个时间是最小时间肯定是有的

如果最小时间是零的话

那整个物理状态是模拟进行不下去的

如果你要把整个时间进行暂停的话

那其实你可以一种

一种做法就是不去模拟它

就是说不去TICK它就是停在那里

一种的就是你给他的一个时间呆在那里

它也是停在那里

理论上是这样的

这门课程的就是讲的

讲的就是说

讲一下

就是说一个计算机物理引擎

然后呢

就是说物理引擎的原理

但大家不用慌这个

原理的其实也是很简单的

就是了解下概念

它的一些知道它一些做法

然后游戏

就是说在游戏中

我们会怎么样去使用这些物理

然后游戏中要怎么样去做

还有最后一个就是简单的讲一下

这个物理引擎的使用

大家有没有看

就是了解这三个这个物理引擎

就说这个应该是到目前为止

最知名的三个物理引擎

所以说在

可能在或多或少在电影制作

游戏里面都会有做一些应用

但是它这个物理呢

可能跟一些学术上的研究

比如说某一些这种

比如说分子级量子级这种物理

它不一样

它还是基于就是说我们

宏观世界的这种物理体

比如宏观世界就是一个钢铁啊

一个柔体啊

流体啊以及

以及就是生物

叫生物体中

它通过

它是类似于机械铰链构成的刚体

就是最知名的是这三个一个是《PhysX》

一个是《Bullet》

还有一个是《Havok》

然后这个比较有趣的一点

就是说这三个引擎呢

其实分别位于三个(芯片设计制造公司)

就是三个就是那个

那个叫什么了

叫那个半导体厂商

还应该叫芯片设计商(芯片设计)

芯片出厂商(芯片制造)

一个是NVIDIA,一个是AMD,一个是INTEL

因为为什么他们会收这个东西(物理引擎)

因为这个其实也是游戏推动整个行业发展的

其实我也可以简单讲一下

就是说

其实我从我们最早的PC起

其实现在推动PC的发展

不管是CPU还是显卡发展

其实一大推动力

也是来源于就是说那个游戏行业

因为早期的时候

PC让大家拿来玩的

很多时候是拿来玩游戏

然后呢

像游戏里

就像我之前用过一个叫@《CryEngine3》(游戏引擎)

就是上次就是我之前在

搜狐畅游的时候用的那个引擎

它做出来的游戏呢

或者说

有一个叫什么孤岛危机

然后大家也把它叫成显卡危机

就是说就是它一出来了之后呢

各个厂商的显卡可能吃不住

然后呢

他会在预先发布后显卡的

然后那些显卡厂商的根据他发的游戏呢

再来提高显卡的规格

保证了它的游戏呢

就是它的显卡能运行起那个游戏

也就是其实整个游戏行业还是对整个

整个就是说

那个IT

应该是说对一种芯片这块

是有巨大的推动

在巨大推动的

然后

他们就三个厂商

厂商的就是说为什么要去收购呢

其实就是想证明自己的

自己的这个CPU跑物理对吧

其实跑物理呢

其实意味着就是说要

要去玩那个游戏

那跑这个游戏是非常

就说我的

我的那个CPU的会更好

并且

这些就是说

物理引擎会对他们的那个

这个CPU呢

或者做一些特殊的优化

就是让他的这个

让市面上的游戏可能会更

就是运行游戏的效率帧率更高

效果更好

所以这些厂商的就是

会去收购他们

像这几个物理引擎

其实他们也

就是说像PhysX和havok

其实也经历过开源

然后被商业收购

然后又开源的一个过程

再到目前为止呢

就是那个havok

他其实是不开源的

是英特尔下面的

你用他的话可能要花钱

然后BULLET

AMD旗下 作者是Erwin

Erwin的话

他其实他最早的是在那个索尼工作

也做物理的

后来他自己写了

写了这个BULLET之后最后呢

又跑到AMD去了

被AMD收购了

PhysX呢其实

他会讲究一下

就是说他前身是这个NovodeX

这个是AGEIA的

AGEIA公司的

最早的他是开源

后来成为AGEIA公司之后呢

他当时想做一件事情

就是说

就是说

以前有CPU,有GPU

那我的物理是不是要用一个专门(计算单元)

进行物理运算的

那个CPU呢

然后把他叫PPU(Physics processing Unit)

就是Physics processing Unit

但是呢

他自己想去造这种硬件

就是造这种芯片(造出来了),但是失败了(市场销售失败)

最后呢

就刚好被那个NovodeX给收购了

NovodeX他

他喜欢就是说

他正好因为

因为去计算物理的话

他其实需要大量的并行

并行的计算单元

并行的计算单元

所以他

正好他的那个GPU呢

可以

他觉得他GPU是可以拿来做这个

物理计算的

所以呢

正好去收收购它

然后PhysX

然后改了一版(PhysX2.81,没记错的话)

然后专门来支持

这个就是这个那个GPU

所以呢

有些时候你看看有些有游戏

他可能会有这种

就说是否开启物理

就是那个GPU物理运算的选项

但是实际上在

在我们就是说

游戏里面

用到的还是比较少

因为这里面存在一个问题

就是说

其实物理

其实它相当一个游戏逻辑

就是说比如说我在空中运动啊

运动轨迹

以及我的碰撞了(撞到房子等障碍物)

它其实会有这种就是说

这种事件和物理效果

会影响到游戏比如说你会掉血

但是对于GPU

但是GPU来说

他更适合做这种就是

效果上物理上的效果

比如说我头发这种抖动对吧

我头发抖动的快和慢

其实并不影响游戏逻辑

我并不会因为你开枪开一枪的话

我打到你头发

而让你去上面的吧

一般游戏不会这么做

都是就是脑袋

可能就拿一个简单的box

box就是套在脑袋上的

然后这个射线打到了这个boss

然后就给你扣血

所以像这种就是说那个

那些具有局部攻击这种功能的游戏了

像怪物猎人

或者其他游戏他其实是

包括格斗游戏

像怪物

他其实就在人物身上就是手啊

腿啊

身体啊

那个脑袋要绑一些

就是球、胶囊体

或者是box简单的几何体

然后我因为

因为这个这些东西

因为他这种角色的话

他的那个形态是不固定的

不固定的所以呢

所以他的每帧都

根据他的动作去刷新这些位置

也就是说

这些物理题基本上构成的这种

组合体能基本上是跟那个

就是说那个模型

或者说那个角色模型的那个形状是

基本上是接近的

那接近的情况下

那这时候你玩游戏呢

因为这个东西你看不出来

他可能差一点

差不多点的话

对于技能伤害点

就是说不是那么的

那个绝对的精确

但是相对精确

会比直接一个

拿一个球来去

就是代替整个角色的话要

就是效果要好的多

所以呢

你所以你在CS里打手打头啊

能支持你扣不同多的血

所以回到刚才这个

这个GPU的问题

所以GPU他

适合开一些

就是说表现上的物理效果

比如说草地的那些

草地上的那些摇摆啊

角色跟草地碰撞啊

但是不影响你的游戏逻辑的那个物理

因为物理

我觉得我还是把它分成两部分

一个是就是跟物理相关

一个跟逻辑相关的

一部分是跟那个效果相关的

就是GPU适合做跟效果相关的一些物理效果

游戏程序设计课程列表:

第一章 《游戏开发导论》

-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运维案列分析

--多选题

12.1 著名物理引擎介绍笔记与讨论

也许你还感兴趣的课程:

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