Hazel游戏引擎(001-003)
文章目录
- 前言
- 001.游戏引擎介绍
- 002.什么是游戏引擎
- 003设计我们的游戏引擎
本人菜鸟,文中若有代码、术语等错误,欢迎指正
前言
我写的项目地址
https://github.com/liujianjie/GameEngineLightWeight(中文的注释适合中国人的你)
关于此专栏
- 是我学习TheCherno的Hazel游戏引擎教程的笔记,包括一些重要的步骤和代码及思考,建议看原视频教程。
- 2023年1月1日至2023年2月14日学完123集,但是期间没有做笔记,现在开始利用空闲时间做个完整的从1到123集的笔记。
- 从2023年2月14日开始做此专栏,可能会耗时两三个月。
效果展示
为了避免第一个开头文章大都是文字介绍略显枯燥,先放个做到123集的效果,看看能不能引起各位兴趣
由于001-003都是些文字的讲述,我放在一起
001.游戏引擎介绍
关于第三方库
创建一个游戏引擎,用ImGui做UI
若自己做一个完整的UI编辑器是需要很费时间,所以会使用第三方库ImGui来做UI。
除了ImGui以外,也会用到其他类型的第三方库,这样就不用重头造轮子。
002.什么是游戏引擎
网上说游戏引擎是快速创造游戏的工具,内容创建者可以使用全套工具来制作模型等等
Unity UE本质上表现为一组工具,就像关卡编辑器这样的大型工具,你们可以在其中创造游戏,它更像一种平台,用来构建交互式应用程序,不一定非得是游戏,它的核心就是交互应用
提供一个平台,让游戏团队的工作人员能够真正构建游戏
所以游戏引擎说是一个平台,不仅构建游戏,并且能VR,一个完整的平台,可以让拥有的数据转换成一个更具交互性的或者它会得到交互式的视觉格式,这就是Cherno对游戏引擎的定义。
cherno,游戏引擎基本功能是或者至少它的目标是将数据从一种格式转换成另一种格式。
从桌面读取一组文件,我们从那些文件中提取数据,然后把它转换成的其他东西,显示在我们的屏幕上。
简化:读取文件、转换他们、然后把他们放到屏幕上,并且也增加了交互能力。
文件从哪里来,如何制作他们
这些文件也是游戏引擎的一部分,它是制作那些文件的平台,现在称这些文件为资产,资产是指游戏引擎将其作为输入的文件(本质是一堆数据)(3dmax、maya、ps做成的文件,无论是材质、模型、关卡等等),内容创造者负责为游戏引擎创建资产,然后游戏一群在运行时读取这些资源,并且屏幕上呈现一些内容,并为用户提供一种与之交互的方式成游戏。
因为游戏开发不能从头从0开始,工程师最终创作了所有这些工具,而内容创造者是艺术家,不熟悉编程或工程的人实际上可以用来构建所有的内容,因为游戏引擎更多的是将内容创造者创建的资产转换为屏幕上看到的东西。
游戏引擎开发人员要做的就是,为人们设计某种方式,为那些不熟悉编程的人来创建所有这些数据来编辑这些数据,当然,它们需要像脚本一样填充,但不是直接编程。
003设计我们的游戏引擎
入口
应用层
应用周期
系统窗口层
- 输入
- 事件
渲染
渲染API抽象
Debug 支持
脚本语言
实体组件系统
能挂载物理,决定物体的位置什么的
物理
文件的IO(VFS)
构建系统
自定义资产类型和处理用户的3D创作模型或者纹理
资产可以热拔插到我们得引擎中
Hazel游戏引擎(001-003)相关推荐
- Hazel游戏引擎(005)入口点
本人菜鸟,文中若有代码.术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/GameEngineLightWeight(中文的注释适合中国人的你) 文章目 ...
- Hazel游戏引擎(007)Premake
文中若有代码.术语等错误,欢迎指正 文章目录 前言 操作步骤 premake 写lua脚本文件 执行premake.exe文件 效果 前言 此节目的 由于之前配置VS项目各项属性需要根据不同平台手动一 ...
- python和java的格斗动画_《Genesis-3D开源游戏引擎--横版格斗游戏制作教程04:技能的输入与检测》...
4.技能的输入与检测 概述: 技能系统的用户体验,制约着玩家对整个游戏的体验.游戏角色的技能华丽度,连招的顺利过渡,以及逼真的打击感,都作为一款游戏的卖点吸引着玩家的注意.开发者在开发游戏初期,会根据 ...
- 角色扮演游戏引擎的设计原理--转自MOVE2008
角色扮演游戏引擎的设计原理--转自MOVE2008 角色扮演游戏引擎的设计原理 角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家.它向人们提供了超出现 ...
- 角色扮演游戏引擎的设计原理
角色扮演游戏引擎的设计原理 角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏, 它以独特的互动性和故事性吸引了无数的玩家.它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色 ...
- DX9绘图-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(8)
DX9绘图 前边讲了一些绘图基础,看不懂不要紧,其实我也看不懂哦.数学基础不好的话,确实不容易看懂,但只要懂的调用,能完成想要做的工作,那就马马虎虎吧,若是深入研究的话,建议买本计算机视觉艺术,计算机 ...
- 当ChatGPT遇上游戏引擎……
ChatGPT是由美国OpenAI公司开发的可以进行对话的聊天机器人.据称,它可以写故事.解决数学问题.写理论性论文.11月底,围绕这一机器人,OpenAI进行了两次更新:在11月29日发布了一个命名 ...
- 开源图形/游戏引擎的点评
开源图形/游戏引擎的点评 什么是游戏引擎?举个简单例子,在某游戏中的一个场景中,玩家控制的角色躲藏在屋子里,敌人正在屋子外面搜索玩家.突然控制的角色碰倒了桌子上的一个杯子,杯子坠地发出破碎声,敌人在听 ...
- 游戏引擎列表(维基百科)
链接地址: http://zh.wikipedia.org/w/index.php?title=%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E%E5%88%97%E8%A1% ...
最新文章
- 操作系统期末复习重点题型归纳
- 使用 Windows 命令行删除结果
- Windows Embedded CE 6.0开发初体验(二)CE开发环境 收藏
- silverlight 安全性错误
- 深入java抽象类和接口
- 395. Longest Substring with At Least K Repeating Characters
- 总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程
- weightedrandomSamplers(1)
- 二叉树中和为某一值的路径(一)(C++)
- 汇编语言是一种什么程序设计语言?
- 微信小程序直播功能服务条款 禁止哪些商品
- HDMI EDID详细解析
- Linux中vsftpd服务配置(匿名,用户,虚拟用户)
- vue使用three.js加载.FBX模型文件
- FFMPEG AvFilter使用实例(实现视频缩放,裁剪,水印等)
- 几种视频格式(RMVB,FLV,MP4,AVI等等)区别比较
- 不同参考系统(椭球)的坐标转换
- 十大经典排序算法动画,看我就够了!
- 网易云信发布两大元宇宙解决方案,打响进军元宇宙第一枪
- Bmob的使用-上传图片