Unity ECS Subcene 中的 Prefab 是挂载在对象脚本上的,如果 Prefab 上有 Baker 脚本,Subcene 无法加载任何东西?

问题描述 投票:0回答:1

主场景中有子场景,并且有一个立方体,上面挂有 TestAuthoring 脚本 enter image description here

using Unity.Entities;
using UnityEngine;

class TestAuthoring : MonoBehaviour
{
    public GameObject Prefab;
}

class TestAuthoringBaker : Baker<TestAuthoring>
{
    public override void Bake(TestAuthoring authoring)
    {
        
    }
}

立方体的 TestAuthoring 脚本挂了一个预制球体,并且 Sphere 上有一个 SphereAuthoring 脚本。

using Unity.Entities;
using UnityEngine;

class SphereAuthoring : MonoBehaviour
{
    
}

class SphereAuthoringBaker : Baker<SphereAuthoring>
{
    public override void Bake(SphereAuthoring authoring)
    {
    }
}

现在我们看不到 SubScene 加载场景中的任何内容。 enter image description here

当我们在 Sphere 上删除 Sphere Authoting 后,它可以正常加载

enter image description here

enter image description here

如果 Sphere 不是预制件而是在场景中,将此 Sphere 挂载到 TestAuthoring 上,SubScene 也可以正常加载

enter image description here

enter image description here

事实上,如果Sphere是一个预制件,似乎挂载所有包含Baker的脚本都会导致SubScene无法正常加载,比如Physics Shape。 只有当SubScene处于Open状态时,才能看到里面的物体。 如何在立方体中安装带有 Baker 脚本的预制件?

unity-game-engine unity-dots unity-ecs
1个回答
0
投票

我解决了 Entities.Graphics 应与 URP Forward+ 一起使用。更改 URP-HighFidelity-Renderer 上的渲染路径以获得最佳兼容性。

© www.soinside.com 2019 - 2024. All rights reserved.