Hazel游戏引擎(104)目前不做3D+2D要做的

文中若有代码、术语等错误,欢迎指正

先不做3D,做好2D

重要原因:3D难复杂,不好教,想完成好Hazel2D的功能

2D系统

请添加图片描述

渲染相关

  • 普通渲染
  • 批渲染
  • 纹理集
  • 动画
  • 自定义shader
  • 纹理
  • 后期效果
    • bloom发光
    • 颜色渐变

脚本

  • C#

    C#脚本作为ECS系统的一个组件

  • 反射

    即C#脚本定义的变量,显示在编辑器上

  • 加载和运行脚本

物体

  • BOX2D

  • 可编辑、有回调

    可编辑就是Box2D可以与脚本集成,用脚本控制

    有回调表示,物体相撞触碰能接收消息

  • 作为ECS系统的一个组件

粒子系统

  • VFX图形

    就是曲线,控制粒子的在生命周期一个属性的效果

  • 带有纹理/动画

  • 粒子有碰撞

  • GPU计算

    可在GPU上移动控制粒子

编辑器

  • 是需要不断考虑和优化的事情

  • 撤销、重做功能

    比如移动实体,ctrl+z可以撤销

  • 工具集

    就是编辑器的功能完善。

    比如纹理集,如何定义单元格

UI

  • 文本渲染

  • ui布局系统

  • 分层

    UI在最前面

    UI层级后的在后面

  • 动画

运行时

  • 在编辑器上运行预览

    独立的:即每次都会初始化

序列化

保存游戏数据到本地

保存游戏

Cinemation

过场动画,就是导演编辑工具吧。。

比如:拿走玩家的操作权,移动摄像头到另一边给玩家展示有人物,有对话有字幕。

像电影制作人一样制作

Audio

  • Effect

    在水中不同于陆地的音效

  • 混合

  • 触发

    知道什么时候播放

  • 回放

    用流

  • 结点编辑

    用结点控制audio的参数

资产系统

  • 加载和卸载实体

    为了节省内存

  • streaming和内存映射

    500m的文件从cpu读给GPU,一可以用streaming,二可以用内存映射

  • 包装

    像unity的package吧,binary blob格式

  • 编辑热加载

    磁盘上一个文件修改,编辑器也更新

平台支持

  • win mac linux

    不同的系统,编辑器得更换不同的窗口

  • GPU

    英伟达、AMD、Inter

  • 输入设备

网络

可以接受服务器的控制

优化

  • 多线程

    opengl单线程较慢,多线程可以优化

  • GPU卸载

    切换GPU工作?

  • 分析

    了解引擎的极限

  • 内存优化

发布

  • 自定义格式

    • 受保护
    • 文件大小
    • 速度
  • 压缩

    lz4,zlib

  • GPU纹理压缩格式

    ASTC,ETC,DXTS

  • 平台支持

  • 本地化

    • 时间格式
    • 语言
    • 金钱格式

猜你喜欢

转载自blog.csdn.net/qq_34060370/article/details/132265866