Unity travaillant avec des préfabriqués

Les préfabriqués sont des ressources spéciales qui permettent aux développeurs de stocker des GameObjects avec leurs composants et d'autres données dans des modèles configurables, qui peuvent être réutilisés ultérieurement entre les scènes et d'autres projets, ou instanciés via un script, sans avoir besoin de configurez-les à nouveau.

Cas où les préfabriqués sont utiles:

  • Environnement Actifs (arbres, buissons, rochers, etc.)
  • PNJ (personnages non-joueurs)
  • Projectiles
  • Instances de joueur
  • Tous les objets qui doivent être réutilisés dans le jeu

Exemple d'utilisation

Lorsque vous faites glisser et déposez des modèles directement sur la scène, ils sont souvent générés avec certains problèmes, tels que:

  • Textures manquantes
  • Mauvaise échelle
  • Mauvaise rotation

Modèle d'arbre avec matériau par défaut

Les problèmes ci-dessus peuvent être facilement résolus dans la scène (attribution du ou des matériaux corrects, modification de l'échelle/rotation, etc.):

Modèle d'arbre avec un matériau correct

Cependant, si vous envisagez d'utiliser le modèle à plusieurs reprises et/ou dans diverses scènes, répéter les étapes ci-dessus deviendra rapidement une tâche fastidieuse, nous pouvons donc à la place enregistrer le modèle dans un préfabriqué.

Comment créer un préfabriqué

  • Pour créer un préfabriqué dans Unity, faites simplement glisser et déposez l'objet de la vue Scène dans la vue Projet.

Unity 3D Créer un préfabriqué

  • Une fois le préfabriqué créé, il peut être déposé dans n'importe quelle scène, créant ainsi une copie exacte:

Vue du projet préfabriqué Unity

Modification des préfabriqués

L'édition de Prefabs existants se fait de 2 manières: en les modifiant dans l'éditeur de Prefab ou en les modifiant dans la Scene.

Modification dans l'éditeur de préfab

  • Sélectionnez le préfabriqué dans la vue Projet, puis dans la vue Inspecteur, cliquez sur "Open Prefab"

  • Le Prefab sera ouvert dans l'éditeur, où vous pourrez le modifier.

  • Lorsque vous avez terminé la modification, cliquez sur la flèche de retour dans la vue hiérarchique pour quitter l'édition et enregistrer les modifications.

Unity 3D Save Prefab Changes (Méthode 1)

Modifier dans la scène

  • Déposez le préfabriqué dans la vue Scène, puis modifiez-le ici.

  • Dans mon cas, j'ai ajouté un autre objet à la hiérarchie (notez le symbole (+) près de l'icône)
  • Lors de la modification des préfabriqués dans la scène, les modifications ne sont pas enregistrées automatiquement, à la place, vous devez sélectionner manuellement l'objet racine du préfabriqué, et dans la vue Inspecteur, cliquez sur "Overrides" puis cliquez sur "Apply All" pour enregistrer les modifications ou "Revert All" pour annuler les modifications.

  • Certaines actions ne sont pas prises en charge lors de la modification de Prefab directement dans la scène, par exemple, si vous devez restructurer la hiérarchie, le message "Cannot restructure Prefab instance" s'affichera et des options pour "Open Prefab" ou "Cancel".

Pour restructurer l'instance Prefab, cliquez sur 'Open Prefab' ou faites un clic droit sur le préfabriqué dans la vue Hiérarchie, puis cliquez sur Préfabriqué -> Décompresser ou Préfab -> Décompresser complètement.

Le déballage de Prefab supprimera son association avec le Prefab principal, le rendant ainsi entièrement modifiable dans la scène.

Pour enregistrer le préfabriqué décompressé, sélectionnez le dossier où se trouve le préfabriqué d'origine, puis faites glisser et déposez l'objet modifié de la vue hiérarchique dans ce préfabriqué.

Unity 3D Save Prefab Changes (Méthode 2)

Parfois, si les changements sont trop drastiques, un message de confirmation vous sera présenté.

Assurez-vous de bien vérifier que vous modifiez le bon préfabriqué, puis cliquez sur "Replace Anyway" pour finaliser l'action ou sur "Ne pas remplacer" pour annuler l'action.

Message de confirmation de remplacement du préfabriqué Unity 3D

Le nouveau Prefab est maintenant enregistré et prêt à être utilisé.

Articles suggérés
Comment peindre des arbres sur un terrain dans Unity
Utilisation des ensembles d'actifs dans Unity
Comment importer des animations dans Unity
Comparaison des environnements de développement 2D et 3D dans Unity
API de script Unity et Unity Pro
Choisir la Skybox adaptée à votre environnement dans Unity
Stratégies pour protéger les jeux Unity contre le piratage