[RESOLU] Entities 1.0 - SceneSystem - LoadSceneAsync

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Warcza
Messages : 160
Inscription : 18 Fév 2016 20:49

[RESOLU] Entities 1.0 - SceneSystem - LoadSceneAsync

Message par Warcza » 27 Avr 2023 14:37

Bonjour,

J'ai quelques soucis concernant les "subScene" que je ne comprends pas trop.
Lorsque je le met dans la subScene est qu'elle est deja chargé, etc... J'ai pas de problème tout marche correctement, la ou ça pêche c'est si je veux faire la même chose mais en chargeant cette subscene en runtime.

Pour faire simple, j'ai :

1 - une script qui contient la reference du prefab de la subscene

Code : Tout sélectionner

        [SerializeField] private SubScene subScene;
2 - un test pour charger :

Code : Tout sélectionner

            Entity test = SceneSystem.LoadSceneAsync(World.DefaultGameObjectInjectionWorld.Unmanaged, subScene.SceneGUID, loadParameters);

Et la le problème arrive, dans ma subscene j'ai un gameobject qui est normalement convertis, etc...
Sauf que la, le seul truc que j'ai dans la vue hierarchieEntity c'est :
Capture d’écran du 2023-04-27 14-33-45.png
Capture d’écran du 2023-04-27 14-33-45.png (11.12 Kio) Consulté 575 fois
En gros la subscene (qui correspond a "EntityScene") est vide est ne contient rien.
J'ai fais plusieurs tests pour charger cette subscene, j'ai essayé de check la documentation ici et sous catégorie mais j'arrive pas vraiment à comprendre comment faire marcher ceci:
https://docs.unity3d.com/Packages/com.u ... cenes.html

Normalement ce que j'ai en la chargeant manuellement / en la mettant dans la scene avant de lancer, j'ai ceci :
Capture d’écran du 2023-04-27 14-36-13.png
Capture d’écran du 2023-04-27 14-36-13.png (11.48 Kio) Consulté 575 fois
Si quelqu'un à une solution je suis preneur,
Merci
Dernière édition par Warcza le 27 Avr 2023 16:09, édité 1 fois.
(╯°□°)╯︵ ┻━┻

Warcza
Messages : 160
Inscription : 18 Fév 2016 20:49

[RESOLUT] Entities 1.0 - SceneSystem - LoadSceneAsync

Message par Warcza » 27 Avr 2023 16:06

Ah ben j'ai finalement résolu mon problème sans trop comprendre pourquoi, j'ai fais ceci tout simplement :

Code : Tout sélectionner

        private IEnumerator LoadSubScene()
        {
            yield return null;
            var world = World.DefaultGameObjectInjectionWorld.Unmanaged;
            var meta = SceneSystem.LoadSceneAsync(world, subScene.SceneGUID, new SceneSystem.LoadParameters {Flags = SceneLoadFlags.NewInstance});
            while (!SceneSystem.IsSceneLoaded(world, meta))
            {
                yield return null;
            }
        }
        

Je vois pas pourquoi la ça fonctionne mais du coup c'est tout bon pour moi, merci.
(╯°□°)╯︵ ┻━┻

Répondre

Revenir vers « Unity le logiciel »