GameRes游资网

 找回密码
 立即注册
返回列表
查看: 1839|回复: 0

萌新资源 | 3D基础——渲染基本原理介绍

[复制链接]
发表于 2018-7-6 10:10:54 | 显示全部楼层 |阅读模式
游戏程序
平台类型:  
程序设计:  
编程语言:  
引擎/SDK:  
游戏最吸引人的地方,莫过于它为玩家构建了一个全新的世界。——但有没有人想过,这些丰富饱满的世界是怎样建构起来的呢?又是经过怎样的加工最终呈现在玩家的面前呢?

MG大赛加油包还不够满足大家?

今日份的萌新资源,你不容错过!

就让我们来探索一下3D世界的秘密,

深入到游戏引擎的层面,

从数学原理到实际的画面呈现,

3D入门课,就决定是你啦!

讲师介绍

微信图片_20180706100136.jpg
郑毅 技术中心  软件设计专家

一. 3D开发与游戏引擎的基本概念

3D游戏相信大家都玩过,那一个很重要的问题就来了,游戏引擎是怎样在3D游戏的开发中发挥作用呢?其实,游戏引擎包括了很多个方面,它就像是一个工具包,包括一个核心,以及由核心延展出来的众多工具。

微信图片_20180706100142.jpg

越成熟的引擎提供的工具越是丰富,这可是大家以后制作游戏必不可少的“好朋友”呀~有意向参与游戏研发的同学可要认真听啦。


客户端游戏引擎功能众多,包含渲染、模型动画、粒子效果、网络环境模拟、植被系统、交互系统等。通俗来说,在游戏开发过程中,将各类功能模块拼凑一起,便组合成了游戏引擎。而游戏渲染则是3D游戏开发中非常重要的一环,虽然渲染可能只占到总代码的30%,但是它能给用户和玩家带来最直观的体验。这是一个颜值当道的时代,一款游戏的卖相往往能迅速吸引到玩家的注意。

3D渲染另一个重要之处,也是开发者容易忽视的地方——大多数开发者认为其他模块与渲染不相关,例如碰撞、物理、声音模块。但这些模块在制作过程中是与真实环境密切联系的,这就需要开发者对于所生活的三维世界有深刻的理解。运用渲染技术来创建丰富的三维模型,从而构筑出虚拟的三维游戏世界。

有一句话说得好,“在进行游戏3D开发赋能的过程中,可以不会3D代码,但是必须掌握3D渲染的基本原理。”

二.关于3D成像的基本原理

3D游戏需要给玩家身临其境的感受,而人在感知世界的过程中,最敏感的感官先是眼睛,之后是耳朵,最后是感知触觉的双手。因此双眼的成像是玩家最直观的感受。3D游戏的成像与人眼的成像原理相似:将人眼看作是一架摄像机在三维空间里移动,模拟人的移动方式,把在不同空间中的画面投影在屏幕上。就如影像投在视网膜被神经感知一般。这一个过程被计算机反复模拟。

微信图片_20180706100144.jpg

游戏的渲染,其实就是在计算机里模拟人眼成像的过程。首先模拟出三维空间,对虚拟的游戏空间进行模型建立。之后用摄像机来模拟人的眼睛,游戏进行的过程中会根据玩家的行为(如战斗、奔跑、飞行等)移动摄像机的位置,模拟玩家在场景可能发生的所有行为,并记录行为之下所看到的图像,最终呈现在屏幕上。

微信图片_20180706100145.jpg

简单来说,就是一个 Model Space→World Space→Camera Space→Clip Space的过程。现在让我们跟着视频,具体了解下这个变换的过程。


三. 3D成像的渲染过程

对于一个游戏而言,渲染部分主要是显卡而非CPU的任务,因为显卡更适合进行这个任务;渲染是一个运算量非常大,但是并行性很好的一个任务,因此会有专门的显卡并行处理这些任务。

微信图片_20180706100147.jpg

我们刚刚讲了3D成像的基本原理,这些原理在显卡架构下实际要如何应用呢?这就不得不提到“渲染管线”的概念了。渲染管线较为复杂,最开始是元素组装。元素组装将游戏元素数据化,提供给显卡处理。另外,游戏3D世界是由无数三角形构建成的,游戏中的模型坐标即为三角形模型坐标系的顶点坐标,之后参与处理的vertex shader便可以将这些坐标进行灵活转化。渲染管线还涉及到很多单元,同学可以从视频中了解到。

简单来说,这就是显卡工作的流水线,刻画出了渲染的整个流程。


讲师金句:

“掌握了今天这些基本的概念和原理,无论是调用引擎接口、实现引擎功能,还是查找游戏的BUG,思路都能变得清晰许多。

只要基本原理在脑海中,那么定位一些问题什么的,都会方便很多。”

via:网易游戏学院


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|稿件投递|广告合作|关于本站|GameRes游资网 ( 闽ICP备05005107-1 )

GMT+8, 2018-9-25 19:45

快速回复 返回顶部 返回列表