L'unité est une plate-forme incroyable et elle continue de croître. Comme beaucoup d'autres développeurs de jeux, je suis passé à Unity comme plate-forme principale de développement de jeux. Bien qu'Unity soit l’un des programmes de développement de jeux les plus conviviaux que j’ai eu le plaisir d’utiliser, il n’est pas exempt de problèmes de croissance. J'ai travaillé à surmonter et à documenter ces essais, et dans cet article, je vais partager mon expérience.
Articles SimilairesL'inspecteur de l'unité est l'endroit où vous verrez toutes les informations sur l'objet sélectionné dans la vue de la scène..
Si vous créez un cube puis le sélectionnez, l'inspecteur affichera son Transformer composant, qui affichera le X
, y
, et z
propriétés de la position, de la rotation et de l'échelle dudit cube. Si vous avez créé un ennemi plus complexe, sa sélection affiche toutes les informations relatives à cet objet, ce qui peut inclure un nombre quelconque de composants que vous avez associés à cet objet..
Il y a un problème: pour qu'une propriété soit visible dans l'inspecteur, elle doit être rendue publique dans le script auquel cette propriété appartient: si vous voulez voir le fireSpeed
variable d'un composant attaché à votre objet, puis fireSpeed
doit être déclaré comme une variable publique.
C’est là que le véritable pouvoir de l’inspecteur entre en jeu et qu’il faut encore apprendre une autre astuce. Toute propriété visible dans l'inspecteur peut être modifiée pour cet objet. Si votre script définit une valeur par défaut pour une propriété via un code, il est très important de savoir que la valeur de l'inspecteur le remplacera. Cela signifie que si le fireSpeed
la variable avait une valeur par défaut de 4
, et vous le configurez pour 8
dans l'inspecteur, puis le fireSpeed
variable pour cet objet restera comme 8
, même si vous modifiez la valeur en 4
dans le script et enregistrez-le.
(Notez que le fait de définir la variable sur une étendue autre que public, c'est-à-dire privée ou protégée, rétablira la propriété sur la valeur du script et masquera la valeur à l'inspecteur.)
La dernière astuce à retenir est que les valeurs éditées dans l'inspecteur dans la vue de la scène lorsque le jeu ne tourne pas seront sauvegardées, alors que les valeurs modifiées dans l'inspecteur pendant le jeu. est Si vous exécutez des modifications en direct (oui, vous pouvez modifier en direct des variables tout en testant!), leur valeur reviendra à la fin du test du projet..
Ces quelques points clés ne sont pas trop complexes, mais il est très important de vous en souvenir, car ne pas être au courant de tout cela peut conduire à un débogage très déroutant..
Les préfabriqués sont l'un des aspects les plus importants d'Unity, mais ils peuvent être un peu déroutants au début, car ils ont quelques problèmes mineurs qui ne sont pas tout à fait évidents au premier abord..
Un préfabriqué est essentiellement une définition prédéfinie d'un objet, un plan directeur, à toutes fins pratiques, un peu comme une classe dans la programmation orientée objet. Les préfabriqués peuvent être composés d’un nombre illimité d’objets, de graphiques, de composants, etc. Elles sont mieux utilisées lorsque vous voulez beaucoup d'instances d'un objet et que vous souhaitez peut-être de légères modifications de cet objet spécifique..
Si vous avez plusieurs préfabriqués dans votre scène et apportez une modification à la définition de préfabriqué, toutes les instances de ce préfabriqué seront mises à jour. Sinon, si vous apportez des mises à jour à une instance spécifique, appuyez sur Appliquer, toutes les instances du préfabriqué (ainsi que sa définition principale) seront mises à jour avec la configuration de cette instance spécifique. Si vous avez modifié des variables d’inspecteur ou d’autres propriétés sur une instance de préfabriqué, vous pouvez appuyer sur Revenir rétablir cette instance avec la même configuration que la définition de préfabriqué.
L'une des premières choses avec lesquelles j'ai eu du mal à travailler dans Unity, même après avoir visionné une tonne de vidéos de tutoriel, était de savoir comment naviguer dans l'espace visuel 3D dans l'éditeur. J'étais certes débutant et novice dans les déplacements dans l'espace 3D sans être verrouillé par un personnage (comme dans un jeu à la première ou à la troisième personne), mais je trouvais toujours le mouvement un peu étrange et compliqué..
Ce n'est pas mal du tout une fois que vous y êtes habitué, mais il aurait été formidable d'avoir un peu plus de direction lorsque je suis intervenu pour la première fois. Voici donc quelques commandes utiles pour naviguer correctement dans l'espace 3D de l'éditeur:
Que vous fassiez un jeu en 2D ou en 3D, vous voudrez vous familiariser avec le fameux axe z. De nombreuses classes et fonctions utiliseront l’axe des z, et bien que vous ne souhaitiez pas modifier la position d’un objet sur cet axe, vous devrez en prendre conscience et connaître le rôle qu’il joue dans diverses fonctions..
L’aspect le plus courant de l’axe des z, qui ne peut vraiment être évité, est son utilisation dans le Vecteur3
classe. Chaque objet dans Unity a un Transformer
composant, qui contient les informations relatives à la rotation, à la position et à toutes les données associées. En unité, transformation.position
est un Vecteur3
, qui contient les coordonnées x, y et z de l'objet.
Donc, même si votre jeu est en 2D, vous devrez travailler avec le Vecteur3
classe, et vous devrez donc être conscient de ce paramètre. La chose la plus facile à faire, dans ce cas, est de définir le z
paramètre à 0
, ou pour le mettre à la actuel valeur z en le lisant transform.position.z
.
Comme je l’ai indiqué ci-dessus, toutes les informations relatives aux mouvements sont stockées dans un répertoire. Transformer
composant. Ah, mais vous ne pouvez pas simplement écrire au transformer.position
Vecteur3
-du moins pas en C #. Au lieu de cela, vous devez créer un nouveau Vecteur3
, définir les valeurs de votre Vecteur3
(X
, y
, et z
), puis définissez transformer.position
à votre nouveau Vecteur3
, comme suit:
// Nous ne pouvons pas écrire dans transform.position, nous avons donc créé un nouveau Vector3: Vector3 newPosition; newPosition = new Vector3 (theX, theY, theZ); // Définit transform.position sur l'objet newPosition Vector3. transform.position = newPosition;
Bien que cela ne soit pas vraiment compliqué, cela ajoutera certainement à la pile de choses qui vous feront trébucher si vous n'êtes pas au courant.!
Globalement, rien de ce qui précède n’est particulièrement avancé ni très technique; c'est simplement un tas d'informations que les débutants d'Unity manquent souvent en apprenant. Tout le monde peut comprendre tout cela en fin de compte, mais cela peut prendre d'innombrables heures de débogage, de recherche sur Google et d'expérimentations, et cela n'est pas nécessaire..
J'ai visionné chaque vidéo de tutoriel sur le site d'Unity, et même s'il est juste de dire que je n'ai pas absorbé tout Du premier coup d’information, une grande partie de ce qui précède n’est tout simplement pas mentionnée, ou n’est pas suffisamment étudiée pour la faire ressortir. Il a fallu un certain temps pour apprendre tout ce que j'ai appris, et j'espère que cette liste d'informations compilée accélérera la courbe d'apprentissage des futurs débutants au développement d'Unity..
Quelles douleurs de croissance avez-vous rencontrées lors de l'apprentissage d'Unity??