资讯详情

Games104现代游戏引擎入门-lecture13游戏引擎的引擎工具链基础

Games104现代游戏引擎入门-lecture13游戏引擎的引擎工具链基础

  • 1 工具链是什么?
  • 2 工具链的GUI
    • 1 Immediate Mode
    • 2 Retained Mode
    • 3 Design Pattern
      • 1 MVC 模式
      • 2 MVP
      • 3 MVVM
  • 3 加载数据-序列化
  • 4 如何加载数据
  • 5 如何让工具链更鲁棒?
    • Command系统:所有用户的操作都可以原子化。
  • 6 如何制作工具链?
    • 1 Schema:核心工具链
  • 7 所看即所得
  • 8 插件
  • 9 参考文献
  • 10 视频

在这里插入图片描述

1 工具链是什么?

DCC: 这个就在ACP这一层。

工具链是调和不同层次的人际关系,调和不同用户的习惯。

2 工具链的GUI

1 Immediate Mode

扩展性差!

2 Retained Mode

大多数人使用这种模式。

3 Design Pattern

1 MVC 模式

MVC:1987 数据之间的逻辑, 数据流清晰,底层model单向的到view,不能从view 到model。model的修改只能通过controller来做。将View和model分离的架构。

2 MVP

所有的复杂性都放在了Presenter,这个得听懂view必须理解的语言model的语言。

3 MVVM

目前推荐这种模式。

View不需要写逻辑,不需要知道别人的事情。 viewmodel程序员需要写,

model和view完全分开了。

缺点:对环境要求高,维护困难。

3 加载数据-序列化

序列化:将数据转换为可传输的二进制块。 反序列化:成为可以在内存中处理的数据。 是network一个非常重要的部分。

text,易懂,可打开。 .obj格式 XML:容器,废话太多。 Json:处理快,piccolo就是用的Json格式。

二进制是最快的,小很多。

资产引用:

所有文件都是相关的。

数据可以 继承。

4 如何加载数据

解析: 高位在哪里,前面还是后面。 向下兼容。版本兼容,非常重要。

建议 的做法:

大量的模块维护,数据格式有上百种,如何保证工具的鲁棒。

5 如何让工具链更鲁棒?

以下两个问题: undo$redo数据保存在崩溃时。

Command系统:所有用户的操作都可以原子化。

这种结构应该早点完成。以后加会很麻烦。

UID逐渐积累,确保顺序

6 如何制作工具链?

找出共性。

1 Schema:核心工具链

继承关系:像高级语言一样。

数据引用 两种方式: 一种是用xml,json等待直接定义shema。

另一种是定义了一个c 类,

第一种方法很容易理解, 将数据实现与工程完全分离。但她需要代码生成器。 但是版本不兼容。 第二种方法:方法可以直接包裹,版本不兼容。

磁盘上有一个, 一种是运行,内存是二进制。 一是用户使用。

基于弧度的代码。用户应该理解工具。

7 所看即所得

独立工具: 游戏中的工具:

非常简单,edit将数据与游戏数据混合。

8 插件

9 参考文献

软件架构

10 视频

https://www.bilibili.com/video/BV11T411G7qB/?spm_id_from=333.788&vd_source=5c9c50b5a07b211beafdf65d7cc7f8c8

标签: 二极管je07b1ud20

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台