Unity ECS 对数据改变有两种方法,Entity command buffers (ECB)和EntityManager

1、创建,销毁Entity,以及对Entity的结构进行更改(比如增加删除Component)都要通过EntityManager等接口来实现。主线程实现Componet 数据操作修改

如下:

    [BurstCompile]
    public void OnUpdate(ref SystemState state)
    {

  //都是实现了主线程对Componet 数据操作修改

 state.EntityManager.Instantiate(solider_cfg.PrefabBlue, solider_entity_array);

 state.EntityManager.SetComponentData(et, local_transform);

state.EntityManager.AddComponentData(et, wal_soldier);

...

2、如果你想将一个job中修改Component 修改,就必须使用ECB。
在Job中,只能实现对Entity的Component组件进行数据修改的功能。
在Job中需要通过Entity Command Buffer实现对Entity修改操作的记录;然后回到主线程进行统一操作。

    [BurstCompile]
    public void OnUpdate(ref SystemState state)
    {       

var ecb_singleton = SystemAPI.GetSingleton<EndSimulationEntityCommandBufferSystem.Singleton>();
   var job = new FJobUpdate ()
   {
       Ecb = ecb_singleton.CreateCommandBuffer(state.WorldUnmanaged).AsParallelWriter(),

};

            state.Dependency = job.ScheduleParallel(state.Dependency);
            state.Dependency.Complete();

}

或者

    public void OnUpdate(ref SystemState state)
    { 

        EntityCommandBuffer ecbFinal = new EntityCommandBuffer(Allocator.Persistent,         PlaybackPolicy.SinglePlayback);

            var job = new FJobUpdate ()
            {
                Ecb = ecbFinal .AsParallelWriter(),

                };

            state.Dependency = job.ScheduleParallel(state.Dependency);
            state.Dependency.Complete();

}

//传入到job中使用

public partial struct FJobUpdate : IJobEntity
{
    public EntityCommandBuffer.ParallelWriter Ecb;

 void Execute([ChunkIndexInQuery] int chunk_index){

  var et_vfx = Ecb.Instantiate(chunk_index, skill_cfg.bufferPrefab);

Ecb.AddComponent(chunk_index, et_vfx, skill_vfx_tag);

  Ecb.SetComponent(chunk_index, et_vfx, projectile_transform);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/835513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kNN 算法在 Elasticsearch 中的应用

kNN 算法在 Elasticsearch 中的应用 kNN 算法在 Elasticsearch 中的应用一、知识背景二、Elasticsearch的kNN算法三、Elasticsearch中kNN算法的应用Elasticsearch基于kNN算法的相关插件或模块使用kNN算法进行基于相似度的文本搜索使用kNN算法进行基于相似度的推荐系统构建 kNN …

geotrust企业通配符证书2990

随着时代的变化&#xff0c;人们获取信息的方式由报纸、书籍变为手机、电脑&#xff0c;因此很多企事业单位用户开始在互联网中创建网站来进行宣传&#xff0c;吸引客户。为了维护网站安全环境&#xff0c;保护客户数据&#xff0c;企事业单位也开始使用SSL数字证书&#xff0c…

ubuntu install vivado 2023

Downloads sudo mkdir /opt/vivado

C++语法|引用的本质、左值引用、右值引用

推荐一篇博客&#xff0c;讲的非常详细&#xff0c;本文主要从汇编角度分析了他们到底是个啥 详解 C 左值、右值、左值引用以及右值引用 文章目录 引用的基本概念CPU 眼里的引用和指针左值和右值1.左值2.右值总结 左值引用const左值引用的本质 右值引用右值引用的使用汇编角度理…

算法练习day7

四数相加II 代码随想录 0454.四数相加II 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;用时&#xff1a;0.5小时&#xff09; 思路 本道题是需要在四个数组中&#xff0c;各找一个数&#xff0c;这些数加起来能够等于0&#xff0c;那么就是答案元…

onnx模型截取部分

这个是有需求的&#xff0c;比如有多个输入节点&#xff0c;我只用其中几个&#xff0c;或有多个输出节点&#xff0c;我只用其中几个。 比如这个输入&#xff0c;我们可以直接把transpose去掉&#xff0c;用类pytorch的N,C,H,W的格式输入。 还有如下输出&#xff1a; tran…

喜报|才聚荣获“2024年度PMI(中国)注册教育机构杰出机构奖”!

5月10日&#xff0c;“2024PMI&#xff08;中国&#xff09;注册教育机构合作伙伴大会”隆重举行&#xff0c;才聚集团受邀参加此次盛会。 本次大会就项目管理职业生态、发展趋势等热门问题进行了深入探讨分析。 PMP认证自1999年引入中国&#xff0c;为国家培养了大量项目管理…

Springboot+Vue项目-基于Java+MySQL的宠物商城网站系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

618有什么好物推荐?618平价好物清单,让你买到物超所值的好货!

618大促即将开启&#xff0c;大家是不是已经跃跃欲试&#xff0c;准备大肆采购一番了呢&#xff1f;别心急&#xff0c;让我为你揭晓几款数码、家居领域中的明星产品。这些好物不仅实用&#xff0c;而且性价比超高&#xff0c;让你在享受购物乐趣的同时&#xff0c;也能买到真正…

人工智能的未来:Sam Altman 揭穿搜索引擎谣言,调侃 ChatGPT 和 GPT-4 的“神奇”更新

人工智能的未来&#xff1a;Sam Altman 揭穿搜索引擎谣言&#xff0c;调侃 ChatGPT 和 GPT-4 的“神奇”更新 概述 科技界充斥着有关人工智能研究先驱组织 OpenAI 将推出类似谷歌搜索引擎的传言。然而&#xff0c;首席执行官 Sam Altman 已经平息了这些谣言&#xff0c;并透露…

大小写绕过与双写绕过

大小写绕过 这是最简单也是最无用的绕过方式&#xff0c;可以利用的原因有两个&#xff1a;SQL语句对大小写不敏感、开发人员做的过滤过于简单。 双写绕过 双写绕过的原理是后台利用正则匹配到敏感词将其替换为空 例如&#xff1a;敏感词为 informtain 时&#xff0c;我们编…

mac 讨厌百度网盘怎么办

一、别拦我 首先请允许我泄个愤&#xff0c;tmd百度网盘下个1g的文件下载速度竟然超不过200k&#xff0c;只要不放在所有已打开软件的最前面&#xff0c;它就给你降到10k以内&#xff0c;关键是你慢就慢了&#xff0c;我也不是很着急&#xff0c;关键是你日常下载失败并且总是…

SpringBoot Mockito 依赖注入

SpringBoot Mockito 依赖注入 1 添加依赖2 Mock MockBean InjectMocks3 ExtendWith(MockitoExtension.class) RunWith(MockitoJUnitRunner.class)4 Mockito 单元测试4.1 JunitTestService4.2 JunitTestServiceImpl4.3 TestService4.4 TestServiceImpl4.5 MockTest 1 添加依赖 …

代码随想录算法训练营第36期DAY24

DAY24 235二叉搜索树的最近公共祖先 迭代法&#xff1a; /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solutio…

2024年5月10日有感复盘

2024年5月10日有感复盘 时间 今天是一个很美好的一天&#xff0c;原因是很平凡&#xff0c;读书很平凡&#xff0c;玩游戏很平凡&#xff0c;然后生活很平凡&#xff0c;未来可期&#xff0c;听歌很舒服&#xff0c;很喜欢一个人呆在图书馆的感觉&#xff0c;很喜欢发呆&…

pytorch2ONNX时,AdaptiveAvgPool2d的相关问题

1、torchvision.models.vgg11_bn from torchsummary import summary import torch from torchvision import modelsdevice torch.device(cuda if torch.cuda.is_available() else cpu) model models.vgg11_bn(num_classes2).to(device)# 打印模型结构 backbone1 summary(mo…

DeepMind的首席执行官Demis Hassabis表示,未来一到两年内,能够独立完成复杂任务的AI代理将成为现实

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

根据指标体系数重排序算法

指标体系数 例子&#xff1a; 2 2.3 2.3.1 2.3.4 2.4 2.4.3 2.4.5 public static void changeOrderValueWithNaturalNumber(List<ExportAnnualDataDto> resultList) {if (org.apache.commons.collections4.CollectionUtils.isEmpty(resultList)){return;}// 序号按点分割…

会计之友杂志社投稿信箱邮箱

《会计之友》杂志杂志投稿信箱&#xff1a;kjzyzzhsh126.com 《会计之友》杂志杂志投稿信箱&#xff1a;kjzyzzhsh126.com 咨询电话&#xff1a;13356222771 咨询电话&#xff1a;13356222771 咨询电话&#xff1a;18366155179 咨询电话&#xff1a;18366155179 编辑在…

网络安全复习

概述 重要性 网络安全威胁 OSI安全体系结构 信息与网络安全目标 机密性完整性可用性 五类安全服务 八类安全机制 网络安全体系结构 基本安全设计原则 数据加密技术 2.1数据加密技术概述 2.2经典加密 2.3对称秘钥加密 2.4公开秘钥加密 Diffie-Hellman秘钥交换 对称…