Unity使用ECS框架(一)——导入ECS框架包

说起来比较汗颜,自从掌握了PureMVC并基于此思想搭建了一个自己的PureMVC框架后就再没碰过其他框架了,后来听说StrangeIOC框架用的比较多一直打算学习一下,结果后面忙于各种事一直没有时间,最终unity推出了ECS框架,据说对性能方面有了非常大的提升,所以不得不学一下新框架了。

简介(来源:https://www.bilibili.com/read/cv6312903):

ECS,即Entity(实体) Component(组件) System(系统),是Unity以“面向数据”为理念(DOTS)构建的另一个新核心。此技术能大幅增加CPU利用效率以及简化多核处理的繁琐编程,相比“面向对象”的设计模式能快一个数量级以上。

  • 实体(Entity) -这里实体只是一个索引,一个整数,或是可以理解为一个空箱子,类似一个连Transform都没有的Empty Object。它存在的目的就是去给数据打包贴标签,这样一大片数据里能分清谁是谁的。
  • 组件(Component)-组件是结构体,类似于一个个安静的数据盒子,里面可以存位置、速度等各种常数向量,或是材质、Mesh等更复杂的数据。这些数据会根据内容被集中存放,这样之后大规模处理起来会很效率。
  • 系统(System) -系统就是用来改变数据的静态方法。一个系统一般偏向只针对几个类型的数据,也就是说一个实体往往会被很多系统影响,例如一个方块边跑边转可能需要MoveSystem和RotateSystem。当然合并写成一个System并不是不可以,只是不利于测试和效率。System默认是影响全局的,例如在没有指定过滤条件的情况下一个“移动系统”会让所有带有“位置组件”的实体同时移动。

一.环境:unity 2018及以上版本,本文基于unity 2020.2.3f1c1版本

二.导入框架:

1.新建一个工程

2.在菜单栏通过Window->Package Manager打开资源包管理窗口

3.2018版在资源包管理窗口中点击"All",从中找到Entities包并通过右上角的Install导入

此处容易出现以下问题:

解决方法:在PlayerSettings面板中将Scripting Runtime Version修改为.NET 4.x Equivalent便可解决

2020版通过点击左上方的+—>Add pakage from git URL,在搜索框中输入com.unity.entities 点击Add之后等一会便可以将Entities添加入项目

此时菜单栏应该会出现Jobs选项,至此ECS框架便宣告导入成功

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值