Simulateur de table’t avoir une solution élégante pour un jeu de cartes qui sont’t en forme prédéfinie. Ce guide montre comment faire votre propre deck de carte à l'aide de modèles personnalisés, un paquet d'actifs, et quelques scripts afin que vous puissiez faire des cartes sous la forme que vous voulez!
Clause de non-responsabilité
Ce guide nécessite une connaissance légèrement avancée du simulateur de table, Unité, Création de bundles d'actifs, et une certaine capacité de modélisation 3D légère. Ce n'est pas mon intention d'expliquer comment faire ces choses. Cela nécessite également un peu de script Lua, Mais il y a un exemple fourni de l'atelier qui contient la version commentée des scripts, Donc, le modifier pour vos besoins devrait être facile. L'intention de ce guide est de montrer comment utiliser ces choses pour créer un ensemble d'objets personnalisés pour imiter le comportement d'un ensemble de cartes et d'un deck.
introduction
Vous êtes-vous déjà retrouvé à faire un jeu avec des cartes de forme étrange, Et quand vous allez les faire, vous obtenez une bordure rectangulaire sur les bords? Inconvenant. Peut-être que vous avez importé des modèles personnalisés uniquement pour découvrir que vous pouvez’t les empiler soigneusement, les mélanger, et les traiter à vos joueurs. Ce guide vise à être le remède pour cela. Nous allons créer un bundle d'actifs qui a les fonctionnalités suivantes:
- Semble être une pile d'un modèle personnalisé
- Lorsque le modèle personnalisé correspondant est placé à l'intérieur ou supprimé, La pile semblera gagner ou perdre une copie de ce modèle
- Acceptez uniquement le modèle personnalisé correspondant
- Acceptez uniquement une quantité maximale du modèle personnalisé correspondant
- Toutes les caractéristiques d'un sac (mélanger, recherche, accord, etc.)
Essentiellement, nous faisons un sac qui semble être un jeu normal de cartes TTS.
Étape 1: Le modèle personnalisé
Créer un modèle 3D de votre carte dans Blender. Faites-le comme vous le souhaitez. Je crée généralement une carte personnalisée en important une image de la carte comme avion, Création d'un nouveau vert, puis l'extruder pour dessiner le contour. Ensuite, je le remplit pour créer un avion, puis extruder cet avion pour lui donner une certaine épaisseur. Il existe d'autres façons de le faire aussi. Ensuite, vous débrouillez le modèle et le texture. Encore, là’S Plus d'une façon de peau un chat ici. Vous pouvez soit créer une texture par carte, Ou vous pouvez faire un seul atlas de texture pour toutes les visages de la carte et faire plusieurs versions du modèle et déplacer la position UV du visage sur l'atlas. Je pense que soit assez valable, Mais je préfère faire une texture différente pour chaque carte et utiliser un seul modèle. N'oubliez pas de trianguler les visages.
Une fois que c'est fait, Exportez votre modèle en tant que .obj
Étape 2: Importation de vos cartes
Importer le modèle dans TTS. Cliquez sur les objets, puis composants > Coutume > Modèle. Sélectionnez votre OBJ dans le modèle / maillage, Et votre première texture en diffuse / image, Et votre obj à nouveau dans Collider si vous le souhaitez. Vraisemblablement, vous voulez que ce soit des cartes, Alors modifiez le matériau en carton dans l'onglet Matériel. Puis importez le modèle.
Si vous utilisez la même méthode de texturation que moi où vous avez un seul modèle et une texture unique pour chaque visage de carte, puis cliquez avec le bouton droit sur le modèle et choisissez le clone. Faites autant de clones du modèle que vous prévoyez d'avoir dans votre deck. Pour l'exemple de projet, j'utilise seulement cinq.
Cliquez avec le bouton droit sur chaque modèle et choisissez Custom. Remplacez le fichier diffus / image par les différentes textures de visage de carte que vous avez créées afin que toutes vos cartes soient représentées.
Enregistrez votre projet, puis retournez à Blender.
Étape 3: Création du modèle de jeu
Une fois que vous’redonner dans le mélangeur, avoir le modèle pour votre carte ouverte, et aller en mode objet. Regardez votre carte à partir de l'axe X ou Y. Puis cliquez avec le bouton droit dessus et sélectionnez des objets en double (Shift + D). Cliquez immédiatement avec le bouton droit pour garder le double dans la position d'origine.
Ensuite, utilisez l'outil de déplacement pour l'élever sur l'axe Z afin qu'il soit au-dessus du modèle d'origine. J'aime laisser un très petit écart entre eux pour les faire ressembler davantage à une pile de cartes dans le produit fini.
Répétez ceci pour chaque carte de votre deck afin que vous ayez ce nombre de groupes de cartes en maillage dans votre collection.
Cette fois, exportez le modèle comme un .fbx afin que vous mainteniez les groupes de maillage séparés. À ce stade, je préfère créer une variante de la texture de la carte qui rend le côté visage vide, Mais c'est entièrement à vous.
Étape 4: Configuration du jeu en unité
Ouvrez le projet de modding TTS dans l'unité. Créez un dossier pour votre modèle de deck et votre texture dans le dossier Assets. Placez votre .fbx et votre texture à l'intérieur de ce dossier.
Cliquez sur votre modèle, puis cliquez sur Extraire les matériaux dans l'onglet Matériaux dans l'inspecteur.
Ouvrez le matériau qui est apparu et faites glisser votre texture dans la boîte à côté de Albedo, puis cliquez sur la sélection des couleurs et définissez la couleur sur du blanc pur.
J'aime donner au deck une sorte d'effet lorsqu'il est vide pour qu'il soit toujours visible pour le joueur, mais il n'y a clairement pas de cartes dedans. Créer un nouveau matériau appelé vide. Choisissez Fade ou transparent pour le mode de rendu, Appliquez la texture à la carte d'albédo comme avant, puis cliquez sur la sélection des couleurs. Cette fois, réglez-le sur rouge, et déposez l'alpha dessus pour que vous puissiez voir à travers le matériau.
Faites glisser le .fbx dans votre hiérarchie. Il devrait déjà faire appliquer son matériel, Mais si ce n'est pas pour une raison quelconque, vous devrez l'appliquer. Développer l'objet. Sélectionnez tous les groupes de maillage qui sont révélés lorsque vous développez l'objet parent, puis faites glisser le matériau dans l'inspecteur où il dit élément 0 Sous le rendu de maillage.
Cliquez sur l'objet parent de votre modèle, puis cliquez sur Ajouter le composant. Ajouter un collision de boîte à l'objet. Cliquez sur le bouton étiqueté Collider Modifier et utilisez les poignées sur le collision pour la tirer à proximité et à l'objet. Je trouve cela plus facile à faire dans la vue isométrique (Vous pouvez l'activer en cliquant sur la vue sous la boussole, ce sera probablement “Faire un peu”).
À ce stade, faites glisser l'objet de votre hiérarchie dans votre dossier que vous avez créé pour votre modèle, texture, et des matériaux pour en créer un préfab. Cliquez sur le bouton Open Prefab dans l'inspecteur afin que vous modifiez exclusivement le préfab.
Naviguer vers la fenêtre > Animation > Animation pour faire apparaître la fenêtre d'animation. Assurez-vous que l'objet parent de votre modèle est sélectionné. Cliquez sur le bouton Créer dans la fenêtre d'animation, puis choisissez un emplacement pour enregistrer vos animations (Je préfère ajouter un dossier d'animations au dossier que je’m travaillant pour tout le reste pour que l'animation fichiers ne’t encombrer le dossier principal). Nommez votre première animation et enregistrez-la. (Une autre préférence est de le nommer après la quantité de cartes affichées en commençant par un deck complet. Dans ce cas, je l'ai nommé “5”)
Cliquez sur le bouton Ajouter une propriété dans la fenêtre d'animation et sélectionnez le premier maillage > Rendu de maillage > Activé.
Faites-le pour chaque maillage de votre modèle pour qu'il ressemble à ceci.
Appuyez sur Ctrl + A pour sélectionner tous puis Ctrl + C pour copier toutes les propriétés et les images clés. Cliquez sur la déroute qui a le nom de votre animation et cliquez sur Créer un nouveau clip. Enregistrer la nouvelle animation (Avec mon schéma de dénomination, la nouvelle animation s'appelle “4”).
Appuyez sur Ctrl + V pour coller les propriétés et les images clés de l'animation précédente. Cliquez sur la case à côté du rendu de maillage pour la carte la plus supérieure du jeu.
Déplacez le curseur dans la chronologie vers l'ensemble des images clés à la fin, puis désactivez la case à côté du rendu de Mash pour la carte la plus supérieure.
Sélectionnez tout et copiez à nouveau, et créer une nouvelle animation (Cette fois je l'ai appelé “3”). Collez dans les propriétés et les images clés et répétez le même processus qu'avant, Mais cette fois, désactivez le rendu de maillage sur la carte suivante.
Continuez à le faire jusqu'à ce que vous ayez fini de faire l'animation pour quand il n'y a qu'une seule carte. Copiez à nouveau vos propriétés et les images clés et créez une nouvelle animation (J'appelle le mien “0”). Collez dans vos propriétés et vos images clés, Mais cette fois, gardez la dernière carte activée. Cliquez à nouveau sur Ajouter la propriété et sélectionnez le maillage de la carte finale > Rendu de maillage > Référence du matériel.
Si nécessaire, Cliquez sur la flèche pour agrandir la nouvelle propriété afin que vous puissiez voir la vignette du matériel. Faites glisser et déposez votre matériel vide dans les premiers images clés de l'animation.
Appuyez sur Ctrl + S pour enregistrer votre préfab.
Étape 5: Ajout de composants et construire le pack d'actifs
Assurez-vous que l'objet parent du modèle est sélectionné et cliquez sur Ajouter le composant > Animation. Faites glisser le fichier d'animation que vous avez créé pour un deck complet dans le champ d'animation du composant. Sous les animations, changer la taille en quantité d'animations que vous avez (Dans mon cas 6), puis faites glisser chacune de vos animations dans les éléments qui apparaissent à partir du pont complet pour vider.
Cliquez sur Ajouter à nouveau le composant et cette fois, ajoutez des effets de bundle d'actifs TTS. Développez les effets de boucle dans ce composant et modifiez la taille pour être la quantité d'animations que vous avez.
Dans chaque élément, définissez un nom pour l'effet de boucle (Je l'appelle juste après l'animation), Développez la section Animateur, Faites glisser l'objet parent du modèle dans le composant animateur, et tapez le nom exact de l'animation pour cet état au nom de l'état. Je préfère faire ça depuis le pont complet vers le bas pour vider.
Appuyez sur Ctrl + S pour enregistrer à nouveau votre préfab. Cliquez sur le Prefab dans le gestionnaire de fichiers afin qu'il s'ouvre dans l'inspecteur.
En bas de la fenêtre d'aperçu de l'inspecteur, il devrait dire Assetbundle avec un menu déroulant. Cliquez et choisissez de nouveaux. Tapez un nom unique dans la zone de texte qui apparaît.
Faites un clic droit dans le gestionnaire de fichiers et choisissez Build AssetBundles. Attendez que cela se termine.
Étape 6: Configuration des choses dans TTS
À ce stade, vous êtes prêt à importer dans TTS. Retournez et sélectionnez des objets > Composants > Coutume > Atout. Parcourez où le faisceau d'actifs a été enregistré pour le champ principal. Ceux-ci sont sauvés dans le projet Unity dans un dossier appelé “Actifs”.
Sélectionnez votre bundle d'actifs, Réglez son type sur sac, et changer son matériel en carton.
À ce stade, vous pouvez cliquer avec le bouton droit sur votre forfait actif importé et parcourir les effets de boucle pour vous assurer que vos animations apparaissent correctement
Parfois, le matériau sur votre faisceau d'actifs peut apparaître un peu sombre, Vous devrez peut-être ajuster votre matériel dans l'unité, ou modifiez la teinte couleur en TTS sur vos cartes pour la faire correspondre. À toi de voir.
Étape 7: Script
Maintenant, vous avez un sac avec quelques animations, Mais nous devons scripter toutes les fonctionnalités. L'exemple d'atelier a une version commentée du script à l'intérieur, Alors veuillez vous référer à cela sur la façon de configurer le vôtre, Mais je couvrirai brièvement les fonctions ici.
Le script commence par “fonction onupdate()”, Cela fait du jeu un chèque à chaque trame. Ci-dessous, nous avons le bloc de code qui dicte quel effet de boucle devrait jouer pour chaque quantité d'objets dans le faisceau d'actifs.
La ligne “Si self.getquantity() == 0 alors” dit s'il y a 0 Articles dans le faisceau d'actifs, puis faites la ligne suivante.
La ligne suivante “self.assetbundle.playloopingEffect(5)” déclare jouer le 6ème effet de boucle si la quantité ci-dessus est trouvée dans le contenu du bundle d'actifs.
La ligne suivante “elseif self.getquantity() == 1 alors” déclare que s'il y a 1 L'article dans le bundle d'actifs puis effectuez l'action dans la ligne suivante.
La ligne suivante “self.assetbundle.playloopingEffect(4)” déclare jouer le 5ème effet de boucle si la quantité ci-dessus est trouvée dans le contenu du bundle d'actifs.
Cela continue jusqu'à ce que vous atteigniez un pont complet. Cela jouerait en boucle(0), ou le premier effet de boucle.
Si vous configurez vos effets de boucle dans l'unité afin qu'un deck complet utilise le premier effet de boucle, alors ce sera toujours en boucle(0) Dans votre script, Et le nombre compte car la quantité de cartes est diminuée.
La deuxième partie du script exécute un chèque chaque fois qu'un joueur essaie d'ajouter quelque chose au bundle d'actifs.
La première ligne “ si (obj.getvar(« objet ») == « À l'excarde » “ semble voir si la carte a un identifiant unique dans son script. “À l'excarde” Peut être ce que vous voulez, Mais cet identifiant exact doit être défini dans chacune de vos cartes.
La ligne suivante “et Self.getquantity() < 5)” vérifie si le bundle d'actifs contient moins que le nombre maximum de cartes. Changer le nombre 5 à la quantité maximale de cartes que vous avez dans votre deck.
La ligne suivante “puis retourner la vraie fin” Acceptera l'élément dans le faisceau d'actifs si les deux conditions sont remplies.
La dernière ligne “retourner faux” rejetera tous les articles qui ne’t REVAU.
Ouvrez ensuite l'éditeur de scripts sur l'une de vos cartes, et ajouter la ligne suivante:
“ObjectType = « À l'excarde » “. Excard est l'identifiant unique que le bundle d'actifs recherche lorsque quelqu'un essaie d'y ajouter un objet. Cela peut être tout ce que vous voulez tant qu'il correspond à ce qui était appelé dans le faisceau d'actifs’s script. Cette ligne doit être appliquée à toutes les cartes de votre deck.
À ce stade, vous devriez pouvoir sauver votre jeu, Enregistrer les scripts, Et tout devrait fonctionner! Allez-y et enregistrez votre objet et importez-le dans votre jeu!
C'est tout ce que nous partageons aujourd'hui pour cela Simulateur de table guide. Ce guide a été initialement créé et rédigé par Tête de hobbit. Si nous ne parvenons pas à mettre à jour ce guide, vous pouvez trouver la dernière mise à jour en suivant ceci lien.