优化网站关键词怎么做,wordpress客户端开发,营销型网站建设0469z,wordpress电脑图片尺寸GAMES104 文章目录 GAMES10401.从入门到实践什么是游戏引擎学习顺序 02.引擎架构分层资源层功能层核心层平台层工具层总结 03.如何构建游戏世界其它需要管理的复杂情况 04.游戏引擎中的渲染实践Rendering游戏引擎中的绘制知识点#xff08;结合实际进化而来#xff09;渲染基…GAMES104 文章目录 GAMES10401.从入门到实践什么是游戏引擎学习顺序 02.引擎架构分层资源层功能层核心层平台层工具层总结 03.如何构建游戏世界其它需要管理的复杂情况 04.游戏引擎中的渲染实践Rendering游戏引擎中的绘制知识点结合实际进化而来渲染基础GPU显卡 总结 01.从入门到实践
什么是游戏引擎
Technology Foundation of Matrix 虚拟世界的技术基础Productivity Tools of Creation 创造力和生产力的工具 - 为艺术家和开发者创造工具Art of Complexity 复杂性系统的艺术
学习顺序
基础构建Basic Elements、渲染Rendering、动画Animation、物理表达Physics、游戏规则Gameplay、特效系统Misc. Systems、工具体系Toolset、网络Online Gaming、前沿技术Advanced TechnologyDOP, Job System, Lumen, Nanite
参考书籍 Game Engine Architecture
02.引擎架构分层
从上到下工具层Tool Layer功能层Function Layer资源层Resource Layer核心层Core Layer 平台层Platform Layer还有第三方库
资源层
Offline Resource Importing Resource资源转换成Asset资产
数据关联
GUID唯一识别号
实时资产管理器 handle系统
核心:管理生命周期
gc垃圾回收很重要
延迟加载玩到哪才加载
功能层
Tick概念-tick函数两大神兽
tickLogic(float delta_time) 逻辑
tickRender(float delta_time) 渲染
多线程算法*多核架构是未来
核心层
数学库
一切为效率服务
SIMD并行计算
做一套自己的数据结构容器实现
内存管理类似操作系统内存池*
底层内存管理三条逻辑1.尽可能将数据放在一起 2.数据尽可能按顺序访问 3.读写尽可能一次一批多量
一般代码要求非常高
平台层
掩盖掉平台差异度
RHI(Render Hardware Interface) 重新定义一次Graphics的API把各个硬件的sdk的区别封装起来
工具层
以地图编辑器为中心形成的一系列编辑器例如逻辑编辑器蓝图、材质编辑器、动画编辑器等
DCC别人开发的资产生产工具开发的资源通过一条管线Asset Conditioning Pipeline各种导入导出器统一变成游戏资产
为什么引擎要分层降低复杂度封装上层更灵活容易根据改变需求来改变而下层更稳定
总结
引擎是分层架构的分为五层
越底层的代码越稳定质量也要求越高越上面的代码设计得越开放比较灵活能够适应不同的需求
游戏这个虚拟世界的核心是靠tick函数驱动的
03.如何构建游戏世界
动态游戏物体、静态游戏物体、环境地形、天空、植被、TriggerBox等 统一都为GameObjectGO
面向对象property、behavior
问题没有清晰的父子关系
解法组件化代替继承
ComponentBase-Components-GameObjectBase
基于GameObject的Tick× 基于Component的Tick√
事件机制event解耦合 可扩展的消息系统
游戏物体管理、场景管理空间划分算法画格子、四叉树、八叉树OctreeBVH, BSP, Scene Graph
其它需要管理的复杂情况
父GO先tick子GO后tick
pretick和posttick解决时序性问题
QA
如果一个tick时间过长怎么办把步长传进去补偿位移等掉帧/跳过一个tick分帧分帧处理策略
tick的时候渲染线程和逻辑线程怎么同步tickLogic会比tickRender早一些
如何debug打印log
物理和动画相互影响的时候怎么处理插值
04.游戏引擎中的渲染实践Rendering
游戏绘制中的挑战所有绘制算法汇集在一起所有算法要有高效率深度适配当代硬件帧率必须稳定只能使用一部分CPU资源Profiling
游戏引擎中的绘制知识点结合实际进化而来
Rendering基础GPU硬件
实战光照模型材质系统Shader模型
特殊子系统地形系统天空系统后处理系统
Pipeline延迟渲染等
渲染基础
Rendering Pipeline参考GAMES101投影、光栅化、着色绘制、纹理sampling等
GPU显卡
SIMD
单指令多数据指令级并行技术
SIMT
总结
在游戏世界中所有东西都可以抽象为一个GameObject
GameObject可以看成由很多Components组成
所有的component在tick更新
在component中所有GameObject通过一套复杂的消息机制event system进行通信
场景管理需要高效的层次结构管理机制