当前课程知识点:游戏程序设计 >  第四章 《游戏循环及实时模拟》 >  4.4 支撑游戏的功能 >  4.4 支撑游戏的功能

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

4.4 支撑游戏的功能在线视频

下一节:4.5 支撑游戏的机制与系统

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

4.4 支撑游戏的功能课程教案、知识点、字幕

下面简单说一下

这个支撑游戏的几个功能

一个就是UI

UI我们用的是这个@UGUI

然后UGUI实际上它和

我不知道大家是否知道这一块

就是之前

其实Unity上是比较常用的

是一个叫NGUI的这样的系统

然后UGUI是NGUI作者

然后Unity把他聘过去在unity工作了一年

然后就设计了这个UGUI

然后完了之后

他又回去继续做NGUI去了

但是UGUI现在应该是被用的

就更广泛一些

因为毕竟UGUI

它是在C++底层提供了一些基础

而NGUI是完全用的

C#代码在引擎的普通功能上做起来的

Unity底层所提供的主要是这个画布(Canvas)

有这个画布的渲染(CanvasRenderer)

这就是

UGUI为什么说比NGUI会快一点

主要应该就是来源于这两款

然后游戏UI的实现的话

我简单说一下就是3D游戏里头

其实所有的UI都是拿两个三角形

拼一个矩形

就是我们所看到的UI都是这样

就是都是这样的一个一个的小方块

然后那上面贴上图

就构成了我们看到的这个UI的系统

然后这个Mesh概念应该大家也知道

就是刚才说的这些小三角形

最后因为对于3D游戏来说

3D的话它都要讲一个渲染的批次

如果就是我们从CPU提交到

这个GPU的次数

大概就是这么理解吧

然后如果这个次数越多的话

性能就会越低

因为就跟我们前面说的这个

多线程加锁一样

如果你加了两个很大的锁

实际上这个并行就消失了

变成了一个串行

所以同样的就是

如果批次过多的话

就会导致CPU和GPU之间

串行的时间越长

所以整体来看性能就会很低

所以一般像我们说的这个UI的三角形

虽然是构造成了我们就是UI的很多元素

但是最终的话呢

一般UI系统都会把这些三角形

按照某种方式构造成一个一个的Mesh

就是把它拼成一起

然后这样它提交给GPU的时候

就可以一次提过去

或者是几次就可以

而不是说特别特别多

这样主要是性能考虑

还有一块一个UI系统

通常会有的就是输入

输入的话

这个一般就是涉及到事件分发与这个冒泡

简单的说

其实就是当你鼠标在UI上点的时候

我们需要找到这个鼠标

它是点在哪个按钮上

这个就是事件的分发

现在你找到了它

点击在哪里

然后冒泡呢就是如果你点了这个按钮

这个按钮并没有响应你这个事件

那我们希望就是它的容器一级的

控件可以得到通知

所以这就是冒泡

就是它会一级一级往上报

所以有时候

我们的事件处理不一定就是

要安装在这个最底层的这个按钮上

也许可以放在更上一层

然后同时处理很多的按钮的这个处理

这就是冒泡的作用

我这些就都大概过一下这个

因为

细说了

还有点太多

然后这个Tween是一个开源的一个库

我就直接拿过来用了

然后那个用的就是把这个脚本挂在某一个

unity里头叫GameObject

挂到这个GameObject上之后

它可以提供一些功能

比如说可以让它移动

可以让它变颜色

可以改变它的Alpha值

就是比如说变成半透明甚至消失了或者

我觉得这里头我们主要用来做这个

在demo里面主要用来做伤害数字就是飘字

然后这一块设计了刚才提到的那个相机

相机的话我们这里说

有一个脚本就是用C#写的

是叫屏幕输入

这里头主要

主要实现的是

这个摇杆

还有一个就是相机的一些调整

相机的一些调整了我们

这是其中的一种模式

不是说所有的都是这个

如果大家用unity的话

直到现在

从2017开始

unity加了timeline之后

有一个那个相机的一个插件

那个插件呢

它的概念就和这个不太一样

它有很多虚拟相机

那是另外一套

我们这一个人是一个相对来说

可能跟传统一点

就是一般在3D游戏里头

会这样去表达一个相机

就是它会有一个lookat的目标

就我这个相机是看着谁的

或者说是跟随着谁了

就是它有一个看着谁

还有一个跟随着谁

然后呢

它有一个相机会到这个目标的一个距离

这是一个距离

还有一个人是相机的高度

其实还有另外一个参数

因为我这图画的是个2D的另外一个参数

是在这个跟这个垂直的

或者说可以理解成是绕这个目标

旋转着这样一个方向上

这次我们称之为相机的这个yaw

一般我这个相机的主要调整就是这个

我们可以调整相机到目标的这个距离

我们可以调整相机的高度

还可以调整相机就是看下目标的时候

有一个旋转

这是三个参数

然后另外一个是这个前面说道

就是场景里有一个空间管理

我们是做了一个

也是挂了一个脚本

在这个场景里头

然后它们会一直使用这个KD树

查询玩家周围的这个小球

然后能再发一个剧情的消息

这个剧情就是我们说的那个

自己做的那个DSL脚本

然后在那个这样的话

就在那边处理具体的跟游戏相关的事情

那么这个就它就跟游戏是没有关系的

它所做的就是根据它的KDTree的数据

然后来查询这个场景里的物件

然后发消息

还有一个呢

是这个是StoryObject

这个是挂在每个角色身上的

就是主要是处理头顶飘字

还有就是因为我们这里头涉及到一个碰撞

就是小球掉下来

落到这个地面的时候

它会要爆炸

我们需要去做这个检测

这样说有一个碰撞碰撞了

在这边就是通过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运维案列分析

--多选题

4.4 支撑游戏的功能笔记与讨论

也许你还感兴趣的课程:

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