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

东莞市网站建设哪家好去哪里购买网站空间

东莞市网站建设哪家好,去哪里购买网站空间,郑州哪里做网站最好,WordPress的固态链接文章目录 前言安装 DOTS 包ECBECB可以执行的指令示例: 前言 DOTS(面向数据的技术堆栈)是一套由 Unity 提供支持的技术,用于提供高性能游戏开发解决方案,特别适合需要处理大量数据的游戏,例如大型开放世界游…

文章目录

    • 前言
    • 安装 DOTS 包
    • ECB
    • ECB可以执行的指令
    • 示例:

前言

DOTS(面向数据的技术堆栈)是一套由 Unity 提供支持的技术,用于提供高性能游戏开发解决方案,特别适合需要处理大量数据的游戏,例如大型开放世界游戏。
本文讲解了如何使用“ ECB ”来执行Job处理过程中无法执行的命令,例如“创建实体”。

  • Unity 2022.3.52f1
  • Entities 1.3.10

安装 DOTS 包

要安装 DOTS 包,请按照以下步骤操作:

(1)从菜单“窗口 → 包管理器”打开包管理器。
(2)搜索“ Entities” 并安装 Entities和Entities Graphics。
(3)搜索“ Universal RP” 并安装 Universal RP,并设置Graphics/Scriptable Render Pipeline Settings。

这会添加“实体”作为依赖项,并递归添加它所依赖的关联包( Burst、Collections、Jobs、Mathematics等)。

在这里插入图片描述

ECB

“ ECB ” (Entity Command Buffer) 是一个缓冲区,在 Unity DOTS 中用于管理和执行 EntityCommandBuffer 命令队列的重要系统。它确保了跨线程和跨帧操作的安全性
默认提供了以下几种 EntityCommandBufferSystem 实现:
BeginInitializationEntityCommandBufferSystem
EndInitializationEntityCommandBufferSystem
BeginSimulationEntityCommandBufferSystem
EndSimulationEntityCommandBufferSystem
BeginPresentationEntityCommandBufferSystem
EndPresentationEntityCommandBufferSystem
FixedStepSimulationEntityCommandBufferSystem
这些系统的名称中包含了它们所属的阶段(Initialization、Simulation、Presentation)以及它们在这些阶段中的执行时机(Begin 和 End)。
在这里插入图片描述

ECB可以执行的指令

ECB 可以执行的命令在 EntityCommandBuffer 方法中定义。
・AddBuffer(Entity):添加一个缓冲区。
・AddComponent(Entity, T):添加一个组件。
・AddComponent(EntityQuery,ComponentType):添加一个组件。
・AddSharedComponent(Entity, T):添加一个共享组件。
・AddSharedComponent(EntityQuery, T):添加一个共享组件。
・CreateEntity(EntityArchetype):创建一个实体。
・DestroyEntity(Entity):摧毁一个实体。
・DestroyEntity(EntityQuery):销毁一个实体。
・RemoveComponent(Entity):删除一个组件。
・RemoveComponent(Entity,ComponentType):删除一个组件。
・RemoveComponent(EntityQuery,ComponentType):删除一个组件。
・SetBuffer(Entity):更新缓冲区。
・SetComponent(Entity, T):更新一个组件。
・SetSharedComponent(Entity, T):更新共享组件。
・实例化(实体):创建一个实例。
・ToConcurrent():转换为并行ECB。
・Playback(EntityManager):执行命令。
・Dispose():处理。

各类 EntityCommandBufferSystem 的区别与用途

2.1 BeginInitializationEntityCommandBufferSystem
所属阶段: Initialization(初始化阶段)
执行时机: 在 InitializationSystemGroup 的最开始执行。
用途: 适用于在所有初始化系统运行之前提交命令,例如在初始化前预加载资源或设置初始状态。
示例使用场景: 预加载游戏资源,初始化全局状态。

2.2 EndInitializationEntityCommandBufferSystem
所属阶段: Initialization(初始化阶段)
执行时机: 在 InitializationSystemGroup 的最后执行。
用途: 适用于在所有初始化系统运行之后提交命令,例如生成初始实体或设置初始组件。
示例使用场景: 创建游戏中的初始实体,设置初始组件数据。

2.3 BeginSimulationEntityCommandBufferSystem
所属阶段: Simulation(模拟阶段)
执行时机: 在 SimulationSystemGroup 的最开始执行。
用途: 适用于在模拟逻辑运行之前提交命令,例如重置状态或准备模拟所需的实体和组件。
示例使用场景: 重置游戏逻辑状态,准备模拟所需的实体。

2.4 EndSimulationEntityCommandBufferSystem
所属阶段: Simulation(模拟阶段)
执行时机: 在 SimulationSystemGroup 的最后执行。
用途: 适用于在模拟逻辑运行之后提交命令,例如销毁实体或更新组件数据。
示例使用场景: 销毁不再需要的实体,更新组件数据以反映模拟结果。

2.5 BeginPresentationEntityCommandBufferSystem
所属阶段: Presentation(呈现阶段)
执行时机: 在 PresentationSystemGroup 的最开始执行。
用途: 适用于在渲染之前提交命令,例如更新与渲染相关的组件或准备渲染所需的实体。
示例使用场景: 更新渲染相关的组件,准备渲染所需的实体。

2.6 EndPresentationEntityCommandBufferSystem
所属阶段: Presentation(呈现阶段)
执行时机: 在 PresentationSystemGroup 的最后执行。
用途: 适用于在渲染之后提交命令,例如清理渲染相关的资源或处理后处理效果。
示例使用场景: 清理渲染资源,处理后处理效果。

2.7 FixedStepSimulationEntityCommandBufferSystem
所属阶段: Simulation(模拟阶段),专为固定时间步长设计。
执行时机: 在固定时间步长的模拟阶段执行。
用途: 适用于需要与物理引擎等固定时间步长系统配合的操作,例如处理碰撞事件或物理模拟后的操作。
示例使用场景: 处理物理引擎的碰撞事件,更新与物理模拟相关的组件。

示例:

从System 往Job层传递

partial struct BulletMoverSystem : ISystem
{[BurstCompile]public void OnCreate(ref SystemState state){state.RequireForUpdate<EndSimulationEntityCommandBufferSystem.Singleton>();}[BurstCompile]public void OnUpdate(ref SystemState state){var ecb = SystemAPI.GetSingleton<EndSimulationEntityCommandBufferSystem.Singleton>().CreateCommandBuffer(state.WorldUnmanaged).AsParallelWriter();var job = new BulletMoverJob{deltaTime = SystemAPI.Time.DeltaTime,ECB = ecb,};var jobHandle = job.ScheduleParallel(state.Dependency);jobHandle.Complete();}
}

Job中的ECB使用


[BurstCompile]
public partial struct ShootAttackJob : IJobEntity
{public EntitiesReferences EntitiesReferences;public float DeltaTime;public EntityCommandBuffer.ParallelWriter ECB;public void Execute([EntityIndexInQuery] int index,ref LocalTransform localTransform,ref FindTarget findTarget,ref ShootAttack shootAttack,ref UnitMover unitMover){shootAttack.timer -= DeltaTime;if (shootAttack.timer > 0f)return;shootAttack.timer = shootAttack.timerMax;//克隆实体Entity bulletEntity = ECB.Instantiate(index, EntitiesReferences.bulletPrefabEntity);float3 bulletSpawnWorldPosition = localTransform.TransformPoint(shootAttack.bulletSpawnLocalPosition);//修改实体组件ECB.SetComponent(index, bulletEntity, LocalTransform.FromPosition(bulletSpawnWorldPosition));ECB.SetComponent(index, bulletEntity, new Bullet{speed = 5,damageAmount = shootAttack.damageAmount});//销毁实体ECB.DestroyEntity(index, entity);}
}

文章转载自:

http://4KowtEwW.rmfwh.cn
http://U02lYbuf.rmfwh.cn
http://EzVnamHz.rmfwh.cn
http://72w2Z2yd.rmfwh.cn
http://d3fT4Bss.rmfwh.cn
http://yZtn3agM.rmfwh.cn
http://YV3h21S6.rmfwh.cn
http://Ed7CVMxC.rmfwh.cn
http://p3uEfhE6.rmfwh.cn
http://yONrYV8M.rmfwh.cn
http://hwqw48eg.rmfwh.cn
http://w5NiOz9U.rmfwh.cn
http://nwQfeub0.rmfwh.cn
http://F9woClds.rmfwh.cn
http://nD55rPrB.rmfwh.cn
http://D6jWtszB.rmfwh.cn
http://gZuWej20.rmfwh.cn
http://bWTfQxJ4.rmfwh.cn
http://95BH0h9e.rmfwh.cn
http://Wgqhw2ns.rmfwh.cn
http://nwp14EV4.rmfwh.cn
http://oPwA3klG.rmfwh.cn
http://ZXVveXcR.rmfwh.cn
http://dE6r5SyC.rmfwh.cn
http://SFIU0ljQ.rmfwh.cn
http://SwhUbzZG.rmfwh.cn
http://QLpW7pO1.rmfwh.cn
http://3WSaxKgc.rmfwh.cn
http://a81O9TPn.rmfwh.cn
http://qECbjnDF.rmfwh.cn
http://www.dtcms.com/wzjs/665762.html

相关文章:

  • 唐山网站托管网站名称怎么收录
  • 有什么做ppt参考的网站短视频app开发有哪些公司
  • 科技网站首页欣赏it前端和后端的区别
  • 做爰全过程免费网站可以看长沙高升小区做汽车行业网站的网络公司论天心区网页设计
  • 网站统计数据分析现在市面网站做推广好
  • 网站服务器计算机安全的措施门户网站 模块
  • 天津建设与管理局网站温江网站建设
  • 长春模板自助建站微博评论箱 wordpress
  • 网站建设合同缴印花税网站建设与管理大作业
  • 长春网站建设索q479185700营销型网站建设的一般过程包括哪些环节
  • 西宁做网站的医院seo是什么
  • 微网站模板制作服务器维修
  • 基金会网站开发方案系统开发计划书是在什么阶段完成的
  • 手机网站制作视频教程巩义做网站
  • 中小型网站建设内容基础建设的意义
  • 外国的html 素材网站免费营销课程培训
  • 一站式网站手机端怎么做福利wordpress
  • 广东建设信息网站塔吊查询wordpress后台登录显示500
  • 做物流网站费用做触屏网站
  • 成都武侯区建设厅官方网站直播app开发一个需要多少钱
  • 免费劳务网站建设视觉传达设计网站
  • 开发新闻类网站wordpress 使用方法
  • 做网站服务器移动网站开发做一个简单网页
  • 中国平面设计和网站建设导航 网站 分析
  • 网站建设业务的延伸性陕西省建设厅网站安全员报名
  • 南宁市网站建设做国际网站要多少钱
  • 龙冠专业网站建设义乌网站建设方式
  • 摄影网站建设内容汕头澄海有什么好玩的景点
  • 从什么网站找做app的代码辽宁建设工程信息网地址
  • 河北专业信息门户网站定制学习网站建设的步骤