Utiliser 2D Tilemap Extras pour créer des tuiles animées
Environnement de vérification
- Windows
-
- Fenêtres 11
- Éditeur Unity
-
- 2021.3.3f1
- Package système d’entrée
-
- 1.3.0
Conditions préalables à cette astuce
Les paramètres suivants ont été définis à l’avance comme prémisse pour la description de cette astuce.
Quelles sont les conditions préalables à cette astuce ?
À propos de l’emprunt de matériel cartographique
Il est emprunté au site suivant. Une seule ligne au-dessus est utilisée.
A propos des vignettes animées
Lorsque vous jouez à un jeu qui utilise des jetons de carte, Même si vous vous arrêtez sur place, vous verrez souvent des puces de carte animées telles que le flux de la cascade en mouvement et le scintillement du feu. Bien que les méthodes d’implémentation puissent différer, celles-ci sont réalisées dans Unity grâce à des tuiles d’animation.
De nombreuses animations dans MapChips semblent se déplacer en basculant entre plusieurs MapTips à intervalles réguliers. Il y a aussi ceux qui sont animés par traitement pixel par pixel, et ceux qui sont animés par des coordonnées de texture changeantes. L’animation que nous allons faire cette fois sera obtenue en changeant la puce de la carte.
Préparer des info-bulles pour les mosaïques animées
Cette fois, nous allons préparer les puces de carte suivantes et animer le mouvement des vagues en changeant les puces de carte.
Fractionnement de MapChips pour les tuiles animées
Après avoir créé le projet, placez le MapChip que vous venez de créer dans le projet et divisez-le. Le travail ici est le même que l’explication pour le tilemap, donc je ne publierai que l’image.
Vous n’avez pas encore besoin de l’ajouter à la palette de mosaïques.
Ajout d’une vignette animée
Sélectionnez Créer une vignette animée -> 2D -> -> dans le projet pour l’ajouter.
Le nom peut être n’importe quoi. Vous n’utiliserez ce nom nulle part ailleurs.
Sélectionnez la vignette animée que vous avez créée pour basculer l’inspecteur. Déposez l’info-carte divisée en ce cadre rectangulaire.
Vous pouvez déposer des tuiles individuellement, mais si vous supprimez la source fractionnée, vous pouvez enregistrer les MapChips divisées en masse.
Ajoutez un maptip et il ressemblera à l’image. Sinon, c’est la fin de la création de la tuile animée.
Ajouter à la palette de vignettes
Créez une palette de vignettes. S’il n’y a pas d’onglet Palette de tuiles, affichez-le à partir de « Fenêtre -> 2D -> Palette de tuiles » dans le menu. Le nom de la palette peut être n’importe quoi. Si vous avez besoin de plus d’une palette lors de la création de votre jeu, gardez-le facile à comprendre.
Les paramètres de palette de vignettes sont créés dans un nouveau dossier SeaPalette du dossier Scenes. Le nom et l’emplacement du dossier sont arbitraires.
Une fois que vous avez créé votre palette de tuiles, ajoutez des info-bulles. Dans un tilemap normal, nous avons placé un maptip fractionné, mais cette fois, nous placerons la tuile animée.
Une fois placée, une seule puce est affichée, mais dans le cas des tuiles animées, c’est tout ce dont vous avez besoin.
Placement d’info-bulles (tuiles animées)
Ajoutez un tilemap à la hiérarchie comme vous le feriez pour un tilemap.
Sélectionnez Tilemap pour afficher une grille dans la vue.
Plaçons une carte ici. Sélectionnez une vignette d’animation dans la palette.
Placez-le dans la vue. Il ne semble pas différent des puces de carte ordinaires.
Si vous ne le déplacez pas réellement, il ne sera pas animé, alors exécutons-le.
Si vous l’exécutez, vous pouvez voir que le maptip est commuté et animé toutes les 1 seconde. De cette façon, il est facile d’implémenter l’animation MapTip avec seulement des fonctions étendues sans créer de programme.
Autres paramètres
Modifier la vitesse d’animation
Par défaut, l’intervalle de commutation MapTip est de 1 seconde. Par exemple, si vous souhaitez modifier cette règle toutes les 0,5 seconde :
Lorsque vous sélectionnez un Tilemap ajouté à la hiérarchie, le composant Tilemap de l’inspecteur a un « Taux de mise à jour de l’animation » que vous pouvez modifier ici.
Ce nombre est le nombre de « combien de fois basculer en 1 seconde », donc si vous basculez en 0,5 seconde, vous basculerez deux fois en 1 seconde, alors définissez « 2 ».
Essayez de l’exécuter et voyez si la vitesse d’animation change.
Randomiser le temps d’animation pour chaque puce de carte
Il est préférable d’avoir le même intervalle d’animation pour les puces adjacentes telles que le bord de mer ou le flux d’une cascade, mais vous pouvez modifier le temps d’animation pour chaque objet, comme le scintillement du feu. Dans ce cas, vous pouvez randomiser l’heure ou modifier la position de départ.
Sélectionnez la vignette animée et regardez au bas de l’inspecteur pour afficher certains paramètres.
La vitesse minimale et la vitesse maximale peuvent être spécifiées comme limites supérieure et inférieure du nombre de feuilles à commuter par seconde. Les MapTips placés s’animeront avec l’un de ces nombres aléatoires, donc si vous placez plusieurs cartes, elles s’animeront chacune à une vitesse différente.
Par exemple, si vous exécutez Minimum as 1 et Maximum as 2, vous pouvez voir qu’ils s’animeront à une vitesse aléatoire.
Soit dit en passant, comme il est déterminé au hasard au niveau décimal, il est peu probable que ce soit la même vitesse.
« Start Time » et « Start Frame » spécifient la position de l’info-carte de départ de l’animation, mais je ne pense pas qu’ils soient beaucoup utilisés. « Type de collisionneur » est une histoire de traitement différente, donc je vais l’omettre.
Définir la durée d’animation pour chaque type de MapTip
Par exemple, vous pouvez changer le mouvement des vagues toutes les 1 seconde, mais vous voulez le flux de la cascade toutes les 0,5 secondes. Cela peut être réglé comme décrit précédemment, « Vitesse minimale » et « Vitesse maximale ». Si vous définissez Minimum et Maximum sur des valeurs différentes, elles seront aléatoires, donc par exemple, si vous voulez définir la vitesse de commutation à 0,5 seconde, si vous définissez Minimum et Maximum sur 2, ils seront tous doublés.