Afficher le texte sur l'objet tactile dans Unity
Bienvenue dans ce didacticiel Unity, dans lequel vous apprendrez à faire apparaître du texte lorsque vous touchez un objet dans votre jeu. Cette simple interaction peut ajouter un élément immersif à votre projet. Ce didacticiel fonctionnera à la fois sur mobile et sur ordinateur.
Étape 1: Créer un projet Unity
Si vous ne l'avez pas encore fait, commencez par ouvrir Unity et créez un nouveau projet 3D. Assurez-vous que les ressources nécessaires sont installées pour votre environnement de développement préféré.
Étape 2: Importer un objet 3D
Importez un objet 3D dans votre scène qui représente l'objet avec lequel les joueurs interagiront. Cela peut être un cube, une sphère ou tout autre objet adapté à votre jeu.
Étape 3: ajouter un collisionneur
Attachez un composant collisionneur à votre objet 3D. Cela lui permettra de détecter quand d'autres objets interagissent avec lui. Les types de collisionneurs courants incluent Box Collider, Sphere Collider ou Mesh Collider, selon la forme de votre objet.
Étape 4: Créer un canevas et du texte
Créez un UI Canvas en cliquant avec le bouton droit dans la hiérarchie des scènes, en sélectionnant UI, puis Canvas. À l’intérieur du canevas, ajoutez un composant Texte qui affichera votre message.
Étape 5: Définir le canevas sur l'espace mondial
Modifiez le mode de rendu du composant Canvas en 'World Space'. Cela permet au canevas d’exister dans l’espace 3D de votre jeu.
Étape 6: Positionner le canevas
Ajustez la position du canevas pour qu'il s'aligne avec votre objet 3D. Cela garantit que le texte apparaît à proximité de l'objet lorsqu'il est déclenché.
Étape 7: écrire le script
Écrivez un script qui détectera quand le joueur interagit avec l'objet. Lorsqu'une interaction se produit, activez le canevas et définissez le contenu du composant Texte. Vérifiez l'exemple de script ci-dessous:
'ObjectInteraction.cs'
using UnityEngine;
using UnityEngine.UI;
public class ObjectInteraction : MonoBehaviour
{
public GameObject canvas;
public Text displayText;
private void Start()
{
canvas.SetActive(false);
}
private void Update()
{
// Use inline conditional to determine input position based on platform
Vector3 inputPosition = (Input.touchCount > 0) ? Input.GetTouch(0).position : (Vector3)Input.mousePosition;
// Raycast to determine if the touch or click hits the object
Ray ray = Camera.main.ScreenPointToRay(inputPosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit) && hit.collider.gameObject == gameObject)
{
// Activate the canvas and set the text
canvas.SetActive(true);
displayText.text = "Your message here!";
}
}
}
Étape 8: Ajouter un script à l'objet
Attachez un script C# à votre objet 3D, qui gérera la logique d'interaction et attribuera toutes les variables nécessaires.
Étape 9: Testez votre jeu
Exécutez votre jeu et testez l'interaction. Le texte doit apparaître lorsque vous cliquez ou touchez l'objet désigné.