Grand débutant sur Unity mais papi développeur, j'aimerais avoir un avis éclairé sur une architecture.
Nous avons dans la scène un terrain de 1000 x 1000.
Celui-ci est entouré de 8 autres de même taille.
A chaque passage d'un terrain à un autre, on charge les terrains manquant et on destroye les terrains en surplus :
Les personnages (MLAPI) ont une Camera à 1000/ 800 unités de vision.
L'un va à droite et traverse la "frontière" :
Il récupère les caractéristiques des terrains à charger par le serveur pour son client.
légende :
--------
x personnage
[] terrain
" à instancier (charger)
! à destroyer (détruire)
Code : Tout sélectionner
Origine : Passage de "frontières" :
[][ ][] [!][][ ]["]
[][x][] => [!][][x]["]
[][ ][] [!][][ ]["]
Est-ce une une bonne stratégie, une bonne pratique (ou je me coupe les cheveux en 4 et faire une scène gigantesque marche tout seul par "magie" avec Unity ?), la plateforme finale étant Windows, Linux, MacOs ?
---
Prefab ? Venant d'un monde où tout est sql, les préfabs ont du mal à rentrer dans ma cervelle.
Afin d'instancier des "Trucs" sur mon terrain ma stratégie est la suivante :
Je créer une class c_Objet avec des variables par exemple pointDeVieMax et pointDeVieActuel,
modifiable par l'inspecteur (ou scripts) et quelques méthodes partagées à tous mes objets.
Tous mes préfabs "Objets" ont le script c_Objet (j'ai un c_Objet qui héritent du préfab ??).
Lors de la lecture des infos du serveur (retournant les noms des prefabs "à spwaner", leurs positions, les caracs modifiables (pointDeVieActuel par exemple),
J'instance mes objets par préfabs sur les terrains a charger et je les met dans un dico (ou autre conteneur).
Est-ce une bonne pratique ?
Merci par avance.
Mes mots ne sont pas forcément précis, ne pas hésiter à me corriger
Au plaisir d'échanger avec vous !