抚州市做棋牌网站,城阳做网站的公司,网站建设 通讯员,广告公司简介模板免费一、项目设置
版本#xff1a;2022.2.0f1 #xff08;版本太低的话会安装不了ECS插件#xff09; 模板选择3D URP 进来后移除URP#xff08;因为并不是真的需要#xff0c;但也不是完全不需要#xff09; Name: com.unity.entities.graphics
Version: 1.0.0-exp.8
点击…一、项目设置
版本2022.2.0f1 版本太低的话会安装不了ECS插件 模板选择3D URP 进来后移除URP因为并不是真的需要但也不是完全不需要 Name: com.unity.entities.graphics
Version: 1.0.0-exp.8
点击Add添加 出现右边这个就是在安装中啦 安装成功~~~ ↑推荐的编辑器布局
需要新添加上来的窗口会在下边列出来 把这些窗口打开方便观察 右键可以多加一个Inspector窗口 项目设置窗口也打开 勾选上更快进入播放模式 检查一下这几项
二、创建SubScene 顺便在场景里创建一个地板 三、创建Entity 创建一个空实体命名为Brain
创建好后如图 点击运行一下出来一堆东西 在运行模式下把右上角改成Runtime 就变成这样啦 给大脑加上这两个组件随便来个模型和材质 需要关掉子场景再打开才会刷新哦
如果想真的关掉子场景需要先点close然后unload就消失在场景中了但一点击运行又会自动回来 四、创建Prefab Entity 创建一个空物体命名为Tombstone给它创建一个用于渲染的子物体Renderer给Renderer来个模型和材质最后把Tombstone做成预制体再把场景里的删喽。
五、设置场景Entity 创建个空物体命名为Graveyard 创建一些文件夹用于存放脚本
在ComponentsAndTags文件夹里创建一个脚本叫GraveyardProperties
using Unity.Entities;
using Unity.Mathematics;namespace ECSdemo
{public struct GraveyardProperties : IComponentData//继承这个接口让这个结构体变成组件记得引用命名空间{public float2 FieldDimensions;//float2 结构体表示一个包含两个 float 字段的结构体记得引用命名空间public int NumberTombstonesToSpawn;//想要跟踪的数量public Entity TombstonePrefab;//墓碑预制件}
}
此时我们想把这个组件加到Graveyard上发现搜不到这个组件~还需要一些操作
在AuthoringAndMono文件夹里创建一个脚本叫GraveyardMono
using Unity.Mathematics;
using UnityEngine;public class GraveyardMono : MonoBehaviour
{public float2 FieldDimensions;//float2 结构体表示一个包含两个 float 字段的结构体记得引用命名空间public int NumberTombstonesToSpawn;//想要跟踪的数量public GameObject TombstonePrefab;//墓碑预制件
}把脚本给墓地加上并给脚本赋值点击运行发现其实也没什么变化(っ ̯ -) 继续写GraveyardMono脚本
using Unity.Entities;
using Unity.Mathematics;
using UnityEngine;namespace ECSdemo
{public class GraveyardMono : MonoBehaviour{public float2 FieldDimensions;//float2 结构体表示一个包含两个 float 字段的结构体记得引用命名空间public int NumberTombstonesToSpawn;//想要跟踪的数量public GameObject TombstonePrefab;//墓碑预制件}public class GraveyardBaker : BakerGraveyardMono{public override void Bake(GraveyardMono authoring){AddComponent(new GraveyardProperties{FieldDimensions authoring.FieldDimensions,NumberTombstonesToSpawn authoring.NumberTombstonesToSpawn,TombstonePrefab GetEntity(authoring.TombstonePrefab)//GetEntity:把GameObject变成Entity});}}} 点击运行发现能在面板上看到了~