美文网首页
学习3D引擎需要会的知识点

学习3D引擎需要会的知识点

作者: HYZOR | 来源:发表于2020-02-20 12:35 被阅读0次

1、首先需要了解一些最基本的3D知识,比如固定流水线、可编程流水线、3D模型结构、骨骼动画等。并且能利用Dirct3D或OPENGL或OPENGLES这些图形库中的任何一个,做个简单的Demo。通过Demo了解程序运行的原理后,再尝试封装一些简单算法,一些常用函数,利用这个简单封装做一款小游戏的Demo。最后再研究一下GPU编程,比如CG、HLSL语言的语法,在GPU编程的基础上再学习一些大型游戏开发中常用的算法,比如PSSM实时阴影算法,Bloom算法等这些与Shader编程紧密相关的后处理渲染算法。

2、掌握一门主流开发语言 C、C++、Java、或C#。数据结构也非常重要,数据结构在游戏开发中主要用于数据存储及内存管理,开发3D引擎常用的数据结构有数组、链表、哈希表等,以及常用的一些查找算法:快速排序、二叉树查找、二分查找等。

3、线性代数对于开发同样重要,线性代数的在游戏开发中可以灵活地运用向量、矩阵、四元数,以及欧拉角这些基本的数学运算解决问题。3D固定流水线中的坐标变换和可编程流水线的顶点和像素转换都是使用线性代数运算完成的。运算主要涉及到游戏开发中的物体移动、旋转、缩放,以及点乘和叉乘等。

4、现在的3D游戏引擎渲染都是基于DirectX或者OPENGL、OPENGLES这些图形库完成的,这就需要能够熟练的使用图形库的接口开发程序,在当前移动端跨平台非常火热的情况下,建议学习OPENGL图形库。3D引擎的核心功能就是对游戏场景渲染和物体材质渲染,对于材质用有Alpha通道的要做特殊处理,Alpha通道就是说材质有透明的部分。在移动端为了减少透明材质的消耗,会通过GPU编程在Shader中进行处理,比如把有Alpha通道的图片切分成无Alpha通道和有Alpha通道的图片,通过Shader编程将其再合在一起。场景渲染使用的是后处理渲染效果,比如Bloom、Blur、Ssao、Pssm等。这些效果实现与GPU编程息息相关,要求至少掌握GLSL、HLSL或CG这些基于显卡GPU编程语言的一中。

5、最后是图形学算法,游戏要实现一些逼真的效果离不开算法的支持,比如柔体的模拟、刚体碰撞效果及曲线插值算法等。学习图形学算法,建议看一下《算法导论》这本非常经典的书,以上说的这些是在引擎中比较深层的知识点。另外,在框架设计方面,需要掌握设计模式里常用的如工厂模式、单例模式、状态模式、MVC模式等。

相关文章

  • 学习3D引擎需要会的知识点

    1、首先需要了解一些最基本的3D知识,比如固定流水线、可编程流水线、3D模型结构、骨骼动画等。并且能利用Dirct...

  • 波普风格3D效果字体绘制

    AI教程中有教波普风格的绘制,昨天刚好学习了3D效果,今天就来实践一下 学习到的知识点: 知识点1:想要给3D效果...

  • iOS原生3D渲染--SceneKit框架学习笔记

    1、ios 3D引擎 SceneKit 开发(1) --起始篇 2、ios 3D引擎 SceneKit 开发(2)...

  • OpenGL ES基础

    3D图像引擎简介 现今较为知名的3D图形引擎有OpenGL、DirectX 以及OpenGL ES,它们各自的应用...

  • 学习小组Day1笔记--大羽

    一、思维导图 二、知识点总结 知识点1:解决学习中遇到的问题 (1)可以通过引擎搜索或者利用星球学习的资源,即小组...

  • [SceneKit]光线(五)

    在开始玩灯光之前,您需要首先了解它们在3D渲染引擎中的工作原理。 当您向场景添加光源时,渲染引擎可以确定光线应如何...

  • Unity基础(12)-物理系统

    1.什么是Unity物理系统 Unity是一款3D引擎软件,内置NVIDIA PhysX物理引擎,使3D物体具备物...

  • Unity 3D引擎:十大最火的插件推荐

    Babybus-u3d技术交流-Unity 3D引擎:十大最火的插件推荐 作为当前最主流的3D游戏引擎之一,Uni...

  • 2019 github热门项目

    zdogzdog是一款js 3D引擎,zdog不同于其他的js 3D引擎的地方在于所有的API引用全部都是2D绘图...

  • 3D游戏的一帧画面是如何显示的

    3D游戏的一帧画面是如何显示的 3D游戏一般使用图形渲染引擎实现,而图形渲染引擎调用的是图形渲染API。常见的图形...

网友评论

      本文标题:学习3D引擎需要会的知识点

      本文链接:https://www.haomeiwen.com/subject/fifxqhtx.html