La première chose que vous remarquerez est le titre compliqué et déroutant. Alors laissez-moi vous expliquer cela. J'essaie de faire un jeu 2D dans un espace 3D en utilisant Unity. Et j'utilise un personnage 3D en tant que joueur. Cela ressemble à ce que:Faire un objet 3D ressembler à un point dans un espace 2D
Comme vous pouvez le voir l'arrière-plan (Une carte Google) est en deux dimensions. Alors que le joueur est un objet 3D étendu sur le sol (il semble juste qu'il est debout).
Cela fonctionne très bien jusqu'à présent. Mais je veux que le personnage 3D ressemble à un point sur la carte d'arrière-plan.
Par exemple:
Et deux autres exemples:
Le cercle noir représente la position engagée. Donc, je n'ai absolument aucune idée si theres un moyen de le faire, ou même si c'est possible de le faire.
J'ai essayé le code suivant, mais qui ne tourne mon personnage sur un autre axe:
Vector3 targetDir = tapped.position - transform.position;
float step = speed * Time.deltaTime;
Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, step, 0.0F);
transform.rotation = Quaternion.LookRotation(newDir);
est-il même un moyen d'y parvenir? Im actuellement hors des idées ... Je serais très heureux pour toute aide que je peux obtenir!
Juste 0 y de la direction de la cible. – George
@DreamsOfElectricSheep Merci pour votre réponse rapide! Mais ça ne marche pas. Le joueur "Laisse" sur le sol tout le temps pour créer l'illusion qu'il marcherait dessus. Quand je mets y à zéro, il se trouve soudainement vraiment au sol O.o – genaray
Je pense que si vous changez y et z il devrait montrer cet effet. Si votre direction de cible est (1,0,1) faites-lui face (1,1,0) à la place. – yes