Dans la première partie, nous avons vu comment créer un environnement 3D dans Unity, puis ajouter des contrôles de première personne et une caméra, ainsi que la possibilité de filmer. Si tout va bien, vous constaterez que le processus était étonnamment simple, même si nous sommes encore loin d'avoir terminé!
Je veux dire, quiconque a entendu parler d'un jeu de tir à la première personne où vous ne pouvez pas viser de haut en bas? C'est n'importe quoi!
La solution à ce problème est cependant simple (désolé de vous laisser pendre!). Tout ce que vous avez à faire est de cliquer sur votre FPSController dans la hiérarchie. Cela va maintenant montrer aux enfants, qui sont maintenant votre FirstPersonCharacter et votre Gun. Tout va passer du FPSController au FirstPersonCharacter. Ce dernier est le point de caméra, qui est la "tête" de facto de notre personnage.
Hit play et vous serez en mesure de regarder à gauche et à droite et de haut en bas. Et si vous tirez un coup de feu, la balle volera vers le haut ou vers le bas en fonction de l'angle du pistolet - souvenez-vous qu'elle est apparue au centre précis du pistolet et avec son orientation précise.
Ajout de cibles
Maintenant, nous pouvons viser correctement, ce dont nous avons besoin à côté de quelque chose à tirer! Alors, créons nous-mêmes des cibles. Pour ce faire, créez simplement un autre GameObject en utilisant la forme que vous jugerez appropriée. Un cercle plat a probablement le plus de sens, mais comment en créer un?
Une solution simple consisterait à utiliser un cylindre puis à modifier les dimensions. Allez dans GameObject> Objet 3D> Cylindre, puis déposez-le dans votre scène.
C'est juste devenir plat, c'est juste au milieu de la pièce. J'ai créé deux autres matériaux - un rouge et un blanc - et les ai utilisés respectivement pour colorer les cercles extérieur et intérieur. Le résultat est quelque chose qui ressemble à une cible et ne nécessite aucune modélisation 3D. Vous êtes au milieu de cette inspection pour la bague extérieure.
Nous faisons cela parce que nous ne savons pas comment le faire . Pour créer un script et appelez-le «TargetBoom» (assurez-vous de créer le script dans votre dossier Scripts et vos matériaux dans le dossier Matériaux ...). Entrez le code suivant:
Classe publique TargetBoom: MonoBehaviour {public GameObject explode; // Utiliser ceci pour l'initialisation void Start () {} // Update est appelé une fois par image void Update () {} void OnTriggerEnter (Collider other) {Instantiate (exploser, gameObject.transform.position, gameObject.transform.rotation); Destroy (objet de jeu); Détruire (autre); }}
L'événement 'onTriggerEnter' est ici, quand quelque chose interagit avec le déclencheur, Dans notre cas, nous détruisons à la fois la cible et la balle, mais pas avant l’instanciation d’une explosion (de la même manière que nous avons instancié la balle). Un jeu de plateforme 2D dans Unity. Pour en savoir plus sur la réalisation de celui-ci, consultez la section Création d’un jeu de plateforme 2D dans Unity. post (voir la section intitulée «Ajout de gore»).
Vous devez maintenant créer votre effet de particule et le déposer dans le logement approprié de votre inspecteur - vous devez savoir comment faire tout cela maintenant. Si vous vérifiez cette publication, vous devriez découvrir comment ajouter un effet sonore explosif à la collision.
Cela devrait ressembler à ceci lorsque vous aurez terminé (sans effet sonore optionnel):
Maintenant, copiez et collez autant que vous le souhaitez vos cibles sur l’écran et profitez de la pratique des cibles!
J'ai donc emprunté à l'article 2D platformer. Si vous voulez les faire bouger à gauche et à droite.
Classe publique ObjectMove: MonoBehaviour {public float amounttomovex; vitesse de flottement publique; courant float privé; courant float privé; int privé face; void Start () {currentposx = gameObject.transform.position.x; en face = 0; } void Update () {if (en face == 1 && gameObject.transform.position.x currentposx) {en face = 1; } if (en face == 0) {transform.Translate (Vector2.right * speed * Time.deltaTime); } else if (face == 1) {transform.Translate (-Vector2.right * speed * Time.deltaTime); }}}
Bien sûr, cela ne ferait pas un saut énorme de les cibler sur les ennemis en les essaimant sur le joueur et de nous tuer en collision! Pour l'instant, essayez de tirer sur les cibles et voyez ce qui se passe ...
Ajouter une entrée mobile
Il est maintenant temps d'ajouter une entrée mobile afin que nous puissions réellement contrôler cette chose sans souris ni clavier. Heureusement, c'est à nouveau assez facile grâce à des scripts prêts à l'emploi dans les fichiers que nous avons déjà importés.
Avec un peu de chance, vous devriez avoir un script appelé 'MobileSingleStick Controll'. Vous recherchez simplement 'MobileSingle ...' dans la fenêtre de votre projet. Maintenant, il suffit de le glisser et de le déposer n'importe où dans votre hiérarchie pour créer automatiquement un bouton et une molette de défilement. Appuyez sur 'Play' et vous pouvez le tester sur votre PC en utilisant votre écran tactile (si vous en avez un) ou en appuyant sur la touche 'Échap', puis en utilisant la souris pour essayer de faire glisser le bouton de la manette de commande. Vous constaterez que ce joystick vous permet de parcourir l’écran pendant que le bouton gère les sauts.
Assez simple! Sauf que pour le moment, vous ne pouvez pas regarder autour de vous, nous devons donc résoudre ce problème. Copiez simplement le premier joystick, puis collez-le dans le même objet parent. Il suffit maintenant de changer les noms des axes horizontal et vertical en "Souris X" et "Souris Y" respectivement. Cela signifie que le contrôle agira comme une souris plutôt que comme un curseur.
Vous voudrez augmenter la taille. N'oubliez pas d'utiliser l'option "ancre" dans l'inspecteur pour ancrer vos contrôles par rapport aux coins inférieurs de l'écran. J'ai aussi fait mon bouton de saut turquoise (ouais, c'est assez moche) et je l'ai mis en haut à droite. Il est plus facile de taper lorsque vous courez et ça a l'air un peu mieux que d'être un long bouton blanc. Vous pouvez ajouter une texture de votre choix plus tard. Voici ce qu'il vous restera:
Vous constaterez que taper ou cliquer n'importe où sur l'écran fait feu le personnage. En effet, le premier contact avec l'écran est interprété comme un clic gauche. Ce n'est pas une solution très élégante à nos besoins. Alors allons-y…
Jouer sur mobile
Il ne nous reste plus qu'à tester ce jeu sur notre appareil mobile!
Pour ce faire, allez dans Fichier> Paramètres de construction, puis assurez-vous de faire glisser votre scène dans la fenêtre intitulée «Scènes dans la construction». Ceci est important, il veut simplement en faire votre produit final. Lorsque vous dites «Plate-forme», vous souhaitez sélectionner «Android» et où il est indiqué «Compression de la texture», choisissez «ECT». Cet appareil n'utilise pas de transparence dans vos textures.
Cliquez sur l'option en bas à gauche qui dit 'Paramètres du joueur' et vous pourrez apporter d'autres modifications à l'inspecteur. Vous devez créer votre clé privée sous "Paramètres de publication" et l'utiliser pour créer un nom de package. Sous "Résolution et présentation", vous pouvez supprimer la prise en charge de l'orientation portrait (parce que c'est bizarre pour un tireur 3D). Vous pouvez donc choisir votre niveau d'API minimum.
Maintenant, appuyez simplement sur «Construire et exécuter» avec votre appareil Android et il devrait créer et installer votre application! S'il vous demande où se trouve votre SDK Android, pointez-le simplement dans le bon dossier.
Une fois installé, jouez un peu et voyez ce que vous en pensez. Vous voudrez peut-être bien faire les choses. Mais de toute façon, vous avez maintenant un jeu de tir à la première personne sur un téléphone avec des commandes tactiles réactives! Il s’agit bien des «os d’ours» d’un jeu, mais en y ajoutant quelques ennemis.
Niveau 2!
J'ai mentionné quelque chose à propos de l'environnement, alors terminez-le, jetons-y un coup d'œil.
Pour commencer, j'ai créé une structure ressemblant à une porte plate. Ce sera à la fin de notre niveau. J'en fais un déclencheur et j'ajoute un nouveau script appelé 'Gateway' pour nous envoyer au prochain niveau. Ce script ressemble à ceci:
Classe publique Gateway: MonoBehaviour {// Utilisez ceci pour l'initialisation void Start () {} // La mise à jour est appelée une fois par image void Update () {} void OnTriggerEnter (Collider other) {if (other.tag == "Player") {Application.LoadLevel ("level2"); }}}
Ce script veut être à la porte et maintenant, quand le joueur entre en contact avec lui, Unity veut charger la scène appelée 'level2'. Assurez-vous donc que FPSController est marqué avec 'Player' (vous trouverez cette option si vous la sélectionnez et regardez dans l'inspecteur).
Nous devons donc définir notre «niveau2». Le moyen le plus simple consiste à sélectionner la scène que nous avons déjà créée dans le dossier «Scènes», puis à sélectionner Édition> Dupliquer pour en faire une copie exacte. Renommez la nouvelle scène 'level2' et ajoutez-la aux paramètres de construction, comme vous l'avez fait précédemment. Une fois que tout cela est fait, supprimez tous les éléments de niveau (vos cubes, cibles, etc.) de la scène et préparez-vous à construire le nouveau niveau à partir de zéro.
Cette fois, vous allez cependant insérer un "terrain" au lieu d'un avion dans le menu des objets 3D. Ce qui est amusant, c’est que cela vous permet d’installer des montagnes, des collines, des nids de poule et plus encore - et même de planter des arbres!
Avant que nous puissions faire quoi que ce soit, vous devrez le refaire. Cette fois, vous voulez choisir «Environnement» ( Actifs> Importer un paquet> Environnement ) et cela vous donnera des éléments tels que des textures et des modèles 3D que vous serez libre d'utiliser. Il s’agit notamment d’arbres, de gazon et d’autres objets environnementaux plus génériques sur lesquels vous pouvez jouer.
Maintenant, sélectionnez le terrain dans la scène et vous pourrez faire tout ce que l'inspecteur a. Vous pouvez «peindre» sur différentes textures ou formations de montagne, placer des arbres (ou tout autre type de modèle 3D), etc. J'ai créé quelque chose d'extra-terrestre avec une combinaison de ...
conclusion
Et avec ça, je vous laisse jouer. Une réalité, avec un minimum de tracas et de codage. Mon conseil, comme toujours, serait de commencer par quelque chose de relativement simple que vous pouvez terminer. De cette façon, vous aurez de plus en plus de chances de terminer votre projet et de télécharger le Google Play Store. Assurez-vous de partager vos créations dans les commentaires!