Unity ECS自软件包更新以来未显示创建的实体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity ECS自软件包更新以来未显示创建的实体相关的知识,希望对你有一定的参考价值。
我试图产生一些实体并为其分配网格和材质。无论如何,它们都不会出现在编辑器或游戏视图中。当我使用“ GameObjectToEntity”转换脚本时,该实体确实出现了,我尝试了新的Alpha版本的编辑器(2020.1.0a25),但没有帮助。我也在使用URP。它可能与更新预览程序包(实体,混合渲染等)有关,因为在使用旧版本的其他项目中我没有问题。我可能还是错过了代码中的某些内容。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Entities;
using Unity.Rendering;
using Unity.Transforms;
using Unity.Mathematics;
using Unity.Collections;
public class EntityCreator : MonoBehaviour
[SerializeField] public Mesh theMesh;
[SerializeField] public Material theMaterial;
// Start is called before the first frame update
void Start()
EntityManager entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
EntityArchetype eArch = entityManager.CreateArchetype(
typeof(RenderMesh),
typeof(Translation),
typeof(LocalToWorld),
typeof(MoveSpeedComponent)
);
NativeArray<Entity> eArray = new NativeArray<Entity>(10, Allocator.Temp);
entityManager.CreateEntity(eArch, eArray);
foreach (Entity ent in eArray)
entityManager.SetComponentData(ent, new Translation Value = new Vector3(0f,0f, 0f) );
entityManager.SetSharedComponentData(ent, new RenderMesh
mesh = theMesh, material = theMaterial
);
eArray.Dispose();
非常感谢您抽出宝贵的时间
答案
EntityArchetype eArch =
entityManager.CreateArchetype(
typeof(RenderMesh),
typeof(Translation),
typeof(LocalToWorld),
typeof(MoveSpeedComponent),
typeof(RenderBounds));
以上是关于Unity ECS自软件包更新以来未显示创建的实体的主要内容,如果未能解决你的问题,请参考以下文章