如何抓住ECS的命门,让我们的学习事半功倍
导读 这是一篇老文写与2019年5月 我们说如何提高我们的学习效率,有人说一本书一般只会讲一个知识点,那我们学习ECS 如何抓住学习的重点,提高学习效率。经过本人一段时间的学习总结,总于找到了一个便捷的方法。当然如果只是入门,完全可以绕道,不用看这篇文章了,因为入门的教程unity3d的document以及sample中已经覆盖了。我们要解决的问题不是如何使用ECS ,而是为什么要这么用,内在原因以及unity3d 为何要这么设计。在开始之前我们还是按照老习惯抛出几个问题 1、ECS的数据组件类型有那些? 2、他们的区别是什么,都用于什么场景? 3、这些数据类型都是怎么获取的(access)的,或者说IComponentData 都是怎么获取的 4、EntityQuery 进行数据查询是如何实现的 5、如何优化和设计ECS系统的性能 等 1,2问题我们发现基本是概念的问题,但是3,4 问题摆在你的面前,你会发现使用我们学习的基础入门知识,我们是解释不了得,如果我们没有理论知识作为支撑,我们无法理解这些问题的本质,无法让我们在ECS学习的路上走的更远更深入。 言归正传,我们进入本系列的主题,我们知道ECS是基于一种基于面向数据的开发模式,最主要的特点是数据的线性连续存放。我想看这篇文章的同学,也有一定ECS的基础知识了,应该耳熟能详了。我们换个思路来想想