爱站网查询,东莞网站建设报价 一呼百应,建设银行网站地址,wordpress支持手机版文章目录 前言安装 DOTS 包什么是Authoring1. 实体组件2. Authoring类 前言
DOTS#xff08;面向数据的技术堆栈#xff09;是一套由 Unity 提供支持的技术#xff0c;用于提供高性能游戏开发解决方案#xff0c;特别适合需要处理大量数据的游戏#xff0c;例如大型开放世… 文章目录 前言安装 DOTS 包什么是Authoring1. 实体组件2. Authoring类 前言
DOTS面向数据的技术堆栈是一套由 Unity 提供支持的技术用于提供高性能游戏开发解决方案特别适合需要处理大量数据的游戏例如大型开放世界游戏。 我们今天来讲一下Dots框架中Authoring类的创建和使用。
Unity 2022.3.52f1Entities 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等。 什么是Authoring
Authoring 类通常用于定义和管理实体和组件的元数据以及如何进行编辑和创建。 这一类主要的功能包括
1.实体和组件定义Authoring 类可以用于声明或定义在游戏中使用的不同实体和组件。这使得开发者可以方便地创建和配置其对应的数据结构。
2.编辑器集成这些类通常与 Unity 编辑器相结合使开发者可以在编辑模式下直观地创建和配置游戏实体。它们提供了可视化的工具以便非程序员也可以参与设计游戏内容。
3.数据管理Authoring 类帮助管理数据的加载、保存和版本控制。它们可以帮助开发者组织复杂的数据结构使得资源管理更加高效。
4.转换为运行时组件这些类通常还包括逻辑将数据在编辑器中设置的状态转换为运行时可以使用的实体和组件。这一转化通常伴随着实体的创建和初始化过程。
1. 实体组件
新建一个Rotator的ComponentData组件
using Unity.Entities;public struct Rotator : IComponentData
{public float speed;
}2. Authoring类
using UnityEngine;
using Unity.Entities;public class RotatorAuthoring : MonoBehaviour
{public float Speed;//将 MonoBehaviour 的 RotatorAuthoring 组件数据如 Speed//转换为 ECS 的 Rotator 组件数据IComponentDatapublic class RotatorBaker : BakerRotatorAuthoring{public override void Bake(RotatorAuthoring authoring){//通过Bake方式把当前游戏对象转换为Entityvar entity GetEntity(TransformUsageFlags.Dynamic);//给Entity添加数据组件AddComponent(entity, new Rotator { speed authoring.Speed });}}
}