Aller au contenu principal

Cacher des GameObjects à la caméra de jeu ou à la Scene view

Cache-cache

On veut parfois afficher ou cacher des GameObjects sans vraiment les désactiver dans la hiérarchie. Cet article présente deux méthodes intégrées à Unity pour :

  • cacher/afficher des GameObjects en jeu, tout en les gardant visibles dans la Scene view,
  • cacher/afficher des GameObjects dans la Scene view, tout en les gardant visibles en jeu.

Cacher des GameObjects à la caméra principale​

D’abord, créez un Layer nommé EditorOnly. Allez dans l’onglet Layers et créez un nouveau layer. Appliquez ensuite ce layer à tous les GameObjects à cacher à la caméra de jeu.

C’est là que la magie opère : sélectionnez votre caméra principale, et désactivez le layer EditorOnly dans son Culling Mask.

Retirer le layer EditorOnly du Culling Mask de la caméra

Admirez le résultat ci-dessous :

Cacher des GameObjects dans la Scene view​

Il y a deux façons de cacher des GameObjects dans la Scene view d’Unity.

Cacher tout un layer​

Le menu déroulant Layers de la Scene view

D’abord, vous pouvez cacher tout un layer. Remarquez le petit œil icône d’œil à côté de chaque layer. Cliquez dessus pour cacher ou afficher tous les GameObjects de ce layer.

Au passage, vous pouvez aussi verrouiller des layers, pour empêcher leur sélection dans la Scene view.

Cacher des GameObjects individuellement (Unity 2019+)​

Les boutons de visibilité dans la hiérarchie depuis Unity 2019

La seconde méthode demande une version récente d’Unity. Depuis Unity 2019, on peut aussi cacher chaque GameObject individuellement, en cliquant sur le petit œil à côté de chaque GameObject dans la hiérarchie.

info

Si certains GameObjects ne sont jamais affichés en jeu, vous pouvez aussi leur mettre le tag EditorOnly (un tag, pas un layer) pour simplement les retirer du build. Plus d’infos dans mon article Composants EditorOnly et actions au moment du build.

Voir aussi​