[[Développement VR Unity]]
# Faire apparaitre des objets
Pour pouvoir faire apparaitre des objets, if faut créer un **prefab** qu'on instanciera dans la scène à chaque fois que le joueur appuiera sur un bouton.
Un **prefab** est un GameObject stocké avec toutes ses configurations, valeurs et enfants comme un asset dans le projet.
Tout d'abord nous allons créer un cube : **Clic droit dans la Hierarchy > 3D object > Cube**
Mettez sa position en XYZ à 0 et sa taille à 0.5 ensuite glissez déposez le cube depuis la **Hierarchy** vers un dossier **Prefab** que vous devez créer.
Le prefab est créé. Supprimez le cube dans la Hierarchy, il n'est plus utile.
Maintenant créez un point dans l'espace qui sera l'emplacement où le cube apparaitra.
Utilisez une GameObject vide et placez le sur la table : **Clic droit dans la Hierarchy > Create Empty** et renommez le.
Sur l'interface utilisateur créée précédemment, créez un bouton : **Clic droit sur le Canvas > UI > Button**, changez la taille de bouton pour qu'elle soit cohérente et changez le texte dessus.
![[Capture d'écran 2025-08-22 120048.png]]
Créez un script dans un dossier **Scripts** : **Clic droit > Create > Scripting > MonoBehaviour Script** et ajouter le script qui permet de faire apparaitre des objets :
``` c#
public GameObject objectToSpawn; //Le GameObject à instancier
public Transform spawnPoint; //L'endroit où le GO va apparaitre
public void SpawnObject() //Fonction à appeler lorsque le joueur clique sur le bouton
{
Instantiate(objectToSpawn, spawnPoint.position, Quaternion.identity);
}
```
Glissez déposez le script sur votre bouton, assignez le prefab précédemment créé dans **Object to Spawn**, et le gameObject vide qui représente l'endroit où apparaitra votre modèle dans **Spawn Point**.
Maintenant lorsque le joueur appuiera sur le bouton, un cube apparaitra au bon endroit.
**Ctrl+S**
[[12. Assembler les objets]]
---