最近在学习unity的ecs框架,转载几篇写的比较好的文章帮助理解
原文日期 2019-12-5 避免误导未来使用正式版的开发者。
大家会不会很疑惑,创建实体都需要将场景里的GameObject进行转换,太麻烦了吧?
正常情况下我们都是从prefab(预制体)实例化游戏对象的,这种在场景里转换实体的方式总感觉哪里不对,是这样吗?
没错,其实还有更方便的转换实体方式,一起来看看吧。
1.世界(World)
新的转换实体的代码其实很简单,但在这之前,我们需要先了解一些基础概念。
ECS中有一个很基本的东西——世界(World)。
整个游戏过程中可以有多个世界,而ECS会自动为我们创建一个默认世界(可以关闭自动创建,这里不做过多的介绍)。
默认创建的世界(World)包含了实体管理器(EntityManager)以及项目中所有可用的系统(System)。
这也就解释了为什么我们的System类会自动被执行,这因为它们被添加到了默认的世界中。至于怎么添加的,我们就先不管了(用了反射)。