Étape 8: Canons et balles
Armes à feu
Nous allons essayer cette arme :
https://www.assetstore.Unity3D.com/#/content/10332
Faites glisser dans le préfabriqué DartGun du pistolet à gaz comprimé > préfabriqué > DartGun à la scène.
Un préfabriqué est comme une classe, mais sous forme de « objet ». C’est la copie avec bonnes valeurs par défaut que vous pouvez utiliser pour tous vos différents niveaux.
Mettre DartGun dans le lecteur > caméra principale
Position/rotation DartGun (joueur > Main caméra > DartGun) selon les valeurs ci-dessous :
Position/rotation interne DartGun (joueur > Main caméra > DartGun > DartGun) selon les valeurs ci-dessous :
Nous allons créer et tirer quelques balles !
Créer la sphère de GameObject > créer d’autres > sphère
Renommez l’objet Bullet
Ajouter un nouveau RigidBody à l’objet de la balle.
Cliquez sur Ajouter un composant > physique > RigidBody
Décochez la case utiliser gravité
Détection de Collision Set à continu
Définissez l’échelle de la transformation de la sphère à 0.2, 0.2, 0.2
Nous allons créer un nouveau javascript Script nommé « Bullet ».
/ / La vitesse de la balle se déplace
varSpeed:float =. 4 ;Le nombre de secondes avant que la balle est automatiquement détruit
varSecondsUntilDestroy:float = 10 ;privatevarstartTime:float ;
{functionStart()}
startTime=Time.time ;
}{functionFixedUpdate()}
Aller de l’avant
this.gameObject.transform.position += Speed*this.gameObject.transform.forward ;
Si la balle a existé en tant que SecondsUntilDestroy, détruisez-la
Si (Time.time-startTime > = SecondsUntilDestroy) {}
Destroy(this.gameObject) ;
}
}
functionOnCollisionEnter(collision:Collision) {}
Retirer la balle du monde
Destroy(this.gameObject) ;
}
Faites glisser et déposez le script de balle depuis la fenêtre de projet (actifs > Scripts) à l’objet Bullet dans la fenêtre de la hiérarchie.
Enfin, nous allons faire la balle dans un préfabriqué et supprimez-le de la scène.
Créer un préfabriqué de la balle en faisant glisser l’objet Bullet dans la fenêtre de projet aux actifs > constructions préfabriquées dans la fenêtre de la hiérarchie.
Nous allons créer un nouveau javascript Script appelé « Gun ».
/ / This is le préfabriqué de la balle la volonté être instancié lorsque le joueur clique sur
Il doit être défini sur un objet dans l’éditeur
varBullet:GameObject ;Tirer une balle
{functionFire()}
Créer une nouvelle balle pointant dans la même direction que l’arme à feu
varnewBullet:GameObject=Instantiate(Bullet,transform.position,transform.rotation) ;
}{functionUpdate()}
Le feu si l’utilisateur clique sur le bouton gauche de la souris
{if(Input.GetButtonDown("Fire1"))}
Fire() ;
}
}
Faites glisser et déposez le script de pistolet dans la fenêtre projet (actifs > Scripts) à l’objet de pistolet dans la fenêtre de la hiérarchie.
Glissez et déposez la balle préfabriquées dans le script de pistolet où il est dit « Aucun (objet de jeu) ».
N’oubliez pas de toujours appliquer les modifications à la construction préfabriquée en accédant à l’objet de la scène > fenêtre Inspecteur > préfabriqué > appliquer.
Assurons-nous que le joueur n’est pas tirer dessu !
Couches > modifier les couches
Créer la couche de Bullet
Créer joueur couche
Sélectionnez l’objet Bullet et définissez sa couche à Bullet.
Sélectionnez le lecteur et la valeur couche de joueur.
Dire oui à l’évolution des enfants.
Edition > Réglages du projet > physique
Décochez la case Bullet/joueur et la balle/Bullet