当前位置: 首页 > news >正文

如何申请网站优化工作龙岩公司网站建设

如何申请网站优化工作,龙岩公司网站建设,免费的php网站模板,小程序推广联盟最近DOTS发布了正式的版本, 我们来分享一下System中如何在System中使用IJobChunk来迭代处理World中的数据#xff0c;方便大家上手学习掌握Unity DOTS开发。 再回顾一次基于ArcheType Chunk内存管理 我们先再次回顾以下基于ArcheType的Chunk内存管理。每一类Entity都是由一些…最近DOTS发布了正式的版本, 我们来分享一下System中如何在System中使用IJobChunk来迭代处理World中的数据方便大家上手学习掌握Unity DOTS开发。 再回顾一次基于ArcheType Chunk内存管理 我们先再次回顾以下基于ArcheType的Chunk内存管理。每一类Entity都是由一些列的ComponentData组合而成的这个组合我们使用ArcheType来进行描述。同一种ArcheType的Entity具有相通的内存大小与布局存放在chunk里面。每个chunk只会存放同一种ArcheType类型的Entity的组件数据。每个chunk的大小是16kb。里面并排存放着每个Entity的组件数据。如下所示: 对惹这里有一个游戏开发交流小组大家可以点击进来一起交流一下开发经验呀 ArchType1: chunk1【e1(c1c2),e2(c1c2),e3(c1c2)】 chunk2【e4(c1c2),e5(c1c2),e6(c1c2)】 ...ArchType2: chunk1【e1(c3c4),e2(c3c4),e3(c3c4)】 chunk2【e4(c3c4),e5(c3c4),e6(c3c4)】 ...ArchType3: chunk1【e1(c5c6),e2(c5c6),e3(c5c6)】 chunk2【e3(c5c6),e4(c5c6),e5(c5c6)】 ...使用IjobChunk的主要流程 在DOTS中迭代处理Entity的组件数据先找到对应符合条件的ArcheType,然后再找到ArcheType对应的所有的Chunks再遍历每个Chunk里面的每个Entity的组件数据。有了这个思路以后我们先来看下如何来使用IJobChunk机制来进行数据迭代。步骤如下: 定义一个EntityQuery对象它根据赛选条件而生成当IJobChunk来筛选Entity的时候就基于这个对象的筛选条件。EntityQuery对象是基于EntityQueryBuilder对象创建出来。EntityQueryBuilder负责将筛选条件转成最后的EntityQuery对象。示例代码如下: public partial class UpdateTranslationFromVelocitySystem : SystemBase{EntityQuery query;protected override void OnCreate(){// Set up the queryquery new EntityQueryBuilder(Allocator.Temp).WithAllRWObjectPosition().WithAllVelocityVector().Build(this);} 定义一个继承IJobChunk接口的Job结构体,并实现Execute接口。 public struct UpdateTranslationFromVelocityJob : IJobChunk { public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask)} 定义在Job中Execute中所使用的数据,这些数据在System Update迭代的时候传入。IJobChunk迭代处理数据的时候都是一个一个Chunk来处理的每个Chunk调用一次Execute函数。在Execute函数中你需要什么样的数据就可以定义在Job的结构体里面。 public struct UpdateTranslationFromVelocityJob : IJobChunk{public ComponentTypeHandleVelocityVector VelocityTypeHandle;public ComponentTypeHandleObjectPosition PositionTypeHandle;public float DeltaTime; public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask){}} 利用ComponentTypeHandle可以把chunk内存块里面所有的对应的组件的数据放到NativeArray里面给Execute迭代使用。普通的数据可以直接定义即可。 实现Interface IjobChunk的Execute函数的具体迭代逻辑用于具体的处理。处理组件数据的时候基于ComponentTypeHandle把Chunk里面的组件数据获取到一个NativeArray里面。Execute有4个参数: chunk,类型是ArcheTypeChunk,就是我们的chunk内存块存放数据地方;unfilteredChunkIndex: 我们当前chunk,所在所有chunk的索引;bool useEnbaleMask, in v128 chunkEnableMask, 是enableable component的bitmap,给我们查询使用。 在Execute里面我们使用ChunkEntityEnumerator来遍历chunk里面的每个entity的Component,参考代码如下: NativeArrayVelocityVector velocityVectors chunk.GetNativeArray(ref VelocityTypeHandle);NativeArrayObjectPosition translations chunk.GetNativeArray(ref PositionTypeHandle);var enumerator new ChunkEntityEnumerator(useEnabledMask, chunkEnabledMask, chunk.Count);while(enumerator.NextEntityIndex(out var i)){float3 translation translations[i].Value;float3 velocity velocityVectors[i].Value;float3 newTranslation translation velocity * DeltaTime;translations[i] new ObjectPosition() { Value newTranslation };} 在System中来使用IJobChunk,进行执行。当JobChunk的结构体定义好以后我们就可以在System中使用它们在System的Update中定义一个结构体对象,把JobChunk结构体中的数据初始化好,然后调用JobChunk的执行函数。执行函数有三个接口分别如下: Run: 执行当前的job(job chunk 的execute)是在当前线程(system的update迭代所在的线程);Shedule: 就是会在另外一个线程来处理我们的Excute,按照顺序一个一个来处理; chunk1, chunk2, chunk3….SheduleParallel: 并发处理, 可以多个线程同时并发处理多个chunk, 线程1 chunk1, 线程2 处理chunk2 , ….. 按照这5个步骤来定义与使用IJobChunk来计算迭代游戏逻辑与数据。
http://www.hkea.cn/news/14276006/

相关文章:

  • 万网域名跳转到指定网站清博舆情系统
  • 网站哪家公司做的好wordpress上传图片x
  • 网站建设教程 第十课 cf战队网站制作教程和源码网站为什么备案
  • 零基础可以做网站吗商业网站的建设与维护
  • 凡科建站建网站网站是先备案 还是先做网站
  • 网站建设需要几个人成都哪个公司做网站
  • 网站没备案可以访问吗长链接生成短链接网址
  • 做网站开票内容是什么抖音代运营业务介绍
  • 分类信息网站怎么做深圳正规装修公司
  • 做床上用品网站wordpress教育类主题
  • 网站备案核验单怎么填深圳做门户网站的网络公司
  • 淄博建设企业网站厦门模板做网站
  • 旅行社网站建设规划精品网站建设费用 磐石网络
  • 亚马逊网站入口如何做网站海报
  • 台州做网站的公司有哪些公司wordpress 仪表盘
  • 山东青岛网站建设seo优化wordpress如何设置目录权限设置
  • 网站开发证有没有用怎么做找优惠券的网站
  • 西安做网站选哪家好怎么自己做网址
  • 葫芦岛建设工程信息网站安徽省建设厅网站资料下载
  • 全国icp网站备案审核时间许昌网络推广哪家好
  • 网站建设技术app下载安心保险官方网站
  • 海口自助建站软件网站做网站
  • 龙华民治网站建设揭阳企业建站程序
  • 东莞p2p网站开发费用宁波公司地址
  • 贵州城乡和住房建设厅网站审批电脑怎做单页网站
  • 商城网站怎么做的最近国内新闻大事20条
  • 网站建设个人简历社交媒体营销三种方式
  • 望城经开区建设开发公司门户网站怎么用支付宝做发卡网站
  • 方案案例网站ai一键生成短视频免费版
  • 创世网站建设公司在中国做国外网站