Unity ECS не показывает созданные объекты с момента обновления пакета - PullRequest
0 голосов
/ 07 марта 2020

Я пытался порождать некоторые сущности и назначать им sh и материал для них. Почему-то они не появляются ни в редакторе, ни в обзоре игр. Когда я использую скрипт преобразования «GameObjectToEntity», сущность действительно появляется, я пробовал новую альфа-версию редактора (2020.1.0a25), но это не помогло. Я также использую URP. Это может быть связано с обновлением пакетов предварительного просмотра (Entities, Hybrid Render et c.), Поскольку у меня нет проблемы в другом проекте, где я использую более старые версии. Возможно, я что-то пропустил в своем коде.

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();
    }

}

Большое спасибо, что нашли время

1 Ответ

0 голосов
/ 05 апреля 2020
EntityArchetype eArch =  
    entityManager.CreateArchetype(
        typeof(RenderMesh),
        typeof(Translation),
        typeof(LocalToWorld),
        typeof(MoveSpeedComponent),
        typeof(RenderBounds));
...