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

网站免费关键词如何做网站建设制作网站

网站免费关键词如何做,网站建设制作网站,sem和seo哪个工作好,医药包装设计公司Baking 概念#xff1a; 把Editor中的GameObject数据转换成entities数据写入到Entity Scens里面,这个过程我们叫做BakingBaking是一种不可逆的操作#xff0c;把低效代价昂贵的但是灵活的GameObjects转换成性能高效的Entities与Components。 作用#xff1a; 在传统的模…Baking 概念 把Editor中的GameObject数据转换成entities数据写入到Entity Scens里面,这个过程我们叫做BakingBaking是一种不可逆的操作把低效代价昂贵的但是灵活的GameObjects转换成性能高效的Entities与Components。 作用 在传统的模式下开发者使用的GameObject机制进行创作然后运行也是基于它的. 通过baking能让用户在ecs模式下创作的时候使用还是使用GameObject机制来创作增加易用性。Unity通过Baking的方式把GameObject数据Authoring Data(创作数据)在编译时就转换为Runtime Data(运行数据)这样在运行的时候就可以直接使用运行数据 处理过程 在ECS模式下传统的GameObject称为Authoring GameObject, Authoring GameObject上的Component 称为: Authoring Component Authoring Scenes:传统的GameObject所在场景叫做authoring scene,用来将传统GameObject数据转换成ECS模式下的数据所在的场景(场所); Baking 转换发生的过程只会在编辑器的模式下在运行前先转好ecs数据然后运行的时候直接使用ecs数据; 无论什么时候只要我们Authoring Scene中的Authoring GameObject被改变了就会触发我们Baking; Authoring Scene必须要必须要作为subscene加载进来时创作Scene才会执行baking; 会baking 不会baking baking的两种模式 Full baking全baking: Unity整个Authoring Scene 全部bake成entities scene; 触发条件 1:在我们的disk上找不到转换好的entities scene的数据; 2:我们的Authoring Scene被修改了同时entity scene,已经过期了; 3:当修改了Baker代码的时候,BakingVersion,注解的时候会引发full baking; 4: A[BakingVersion] attribute注解的Baking代码被修改了会引发full baking. 5: Project Setting设置里面与Entities相关的设置被修改了会导致引发fullbaking; 6:如果你在subscene节点的属性检查器里面点击了reimport按钮那么这个时候会导致full baking; 7:如果你清理了Baking Cache,也会导致我们的full baking;Full Baking会把我们的输出数据存放到我们的磁盘disk上(一些文件文件),你编辑器或运行的时候需要使用就去加载 lncremental baking增量baking:只bake改变的数据; 当作为subscene来加载创作场景的同时我们也创建与初始化了Incremental baking;在创作编辑的时候可以在ECS的数据里面直接体现出实时编辑与修改的结果;增量Baking只会发生在我们的内存里面不会同步到我们的disk;当编辑场景数据的时候会把改变的baking到内存里面所以ECS就可以直接使用编辑好的数据。同时只baking改变的数据所以速度非常快; 注意 lncremental Baking 和Full baking输出是不同的就会导致entity的顺序不同内存大小不同chunk的排布可能也不同。所以为了避免一些可能的未知错误需要使用Reimport来强制进行full baking Baker运作机制 一个Baker就是Baking 的其中的一个执行者,负责把某个Authoring Data转成ecs data;要定义一个Baker,首先要定一个托管类:继承BakerT指的是要转换的Authoring Component的类型;当Baking的时候只要遇到这种类型的Authoring Component,就会找到这个Baker,然后调用这个Baker方法,并把要转的组件数据对象作为参数输入进来;代码示例 // IComponentData是一个空接口只是用来标记这个类是一个ComponentData // 这是unmanaged 类型不会被GC管理, 内部只能使用unmanaged的数据类型 struct ComponentData : IComponentData {public float rotSpeed; }public class ComponentAuthoring : MonoBehaviour {public float rotateSpeed 90f; }// 自定义一个Baker方便我们场景在Bake的时候来转这个组件数据 public class MyComponentBaker : BakerComponentAuthoring {// subscene bake时调用的方法 编译时就调用public override void Bake(ComponentAuthoring authoring){// 获取到对应的Entityvar entity GetEntity(TransformUsageFlags.Dynamic);// 这里只是数据传递并不是Entity中通过Archetype分配出来的内存var data new ComponentData(){// authoring是我们在场景中设置的值// ECS 中使用的数学库是Unity.MathematicsrotSpeed math.radians(authoring.rotateSpeed)};// 将数据添加到Entity中AddComponent(entity, data);} }对于其他Unity自带的Component(例如 Collider这些)Unity已经提供了写好了的Baker。Full Baking,Authoring Scene 里面所有组件的Baker都会被调用一次;lncremental Baking:那么只有修改的组件才会被Baker一次; 在baker中访问其他来源数据 为了保证lncremental Baking的正常工作,Unity会自动跟踪我们的Authoring Component中的数据成员,当数据成员改变了,就会调用Baker的bake方法,让他重新执行;但是Unity不会跟踪这个转换依赖的其它的数据资源, 所以需要在Baker方法里面添加依赖关系,系统才可以追踪依赖的变化。 代码示例 public class DependentDataAuthoring : MonoBehaviour{public GameObject Other;public Mesh Mesh;}public class GetComponentBaker : BakerDependentDataAuthoring{public override void Bake(DependentDataAuthoring authoring){// Before any early out, declare a dependency towards the external references.// Because even if those evaluate to null, they might still be a proper Unity// reference to a missing object. The dependency ensures that the baker will// be triggered when those objects are restored.DependsOn(authoring.Other);DependsOn(authoring.Mesh);if (authoring.Other null) return;if (authoring.Mesh null) return;var transform GetComponentTransform();var transformOther GetComponentTransform(authoring.Other);使用DependOn方法声明依赖项这样当Other或者Mesh变化时这个GameObject也会被Baking **注意**这里的GetComponent并不是原来意义上的GetComponent. 它在调用时内部也会注册依赖关系, 即使一开始对象上没有GetComponent获取的组件baking时返回为空 当重新获得这个组件的时候也会再一次触发这个Baker
http://www.zqtcl.cn/news/925295/

相关文章:

  • 商城类的网站一般怎么做做ps从哪个网站上下载图片大小
  • 怎么做网站链接支付免费推广网站搭建
  • 威海 网站建设刚刚北京传来重大消息
  • 深圳返利网站开发做网站版权怎么写
  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作
  • 网站开发阶段Oss怎么做静态网站
  • 做科学小制作的视频网站怎么才能建立自己的网站啊
  • 跳蚤市场网站开发背景网站优点
  • 长春网站建设方案咨询怎么做自己的网站平台
  • 网站建设谈单技巧做网站建设科技公司
  • 品牌网站建设4a小蝌蚪网页设计分类
  • 域名注册以后会给你一个账户名密码上传做好的网站文化网站建设需要的功能
  • 企业站用wordpress做好吗那些做环保网站的好
  • 天津有哪些有名的网站建设公司商城网站模板免费
  • 安徽省途顺建设工程有限公司网站制作网站公
  • 北京建设职工大学网站成都网站建设比较好的公司
  • 网站建设品牌策wordpress怎么做企业网站
  • 网站正在建设中 html 模板医院网站建设预算表
  • 哪个网站能接施工图来做购物网站黑白
  • 网站开发课设心得企业宣传页模板
  • 中学生怎么做网站ghost 卸载wordpress
  • 网站诊断报告案例用户浏览网站的方式
  • 网站开发流程抚州做网站需要看的书
  • wordpress 禁止目录浏览网站seo推广优化
  • 源代码如何做网站高校门户网站建设需要多少钱