J'ai fais un script pour appliquer une rotation selon la position de mon curseur. J'ai envie de reproduire l'effet du double curseur. ( Avoir un curseur central qui ne bouge pas et un autre qu'on peut déplacer. Quand je déplace la souris, le curseur central vient rejoindre le curseur déplaçable en faisant faire une rotation à mon gameobjects. )
Noir = curseur central
Rogue = curseur déplacable
J'ai essayé avec mon script de récupérer la différence entre les valeur x et y du vaisseaux et du curseur via WorldToScreenPoint mais rien n'y fait. Quand j'essaye d'appliquer ces valeur pour corriger la position du vaisseau ça part en vrille
Code : Tout sélectionner
Vector3 screenPos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0);
cursor.position = screenPos;
Vector3 worldScreen = Camera.main.WorldToScreenPoint(transform.position);
float yDist = worldScreen.y - cursor.position.y;
float xDist = worldScreen.x - cursor.position.x;
float mousexRot = mouseX * shipTurnSpeed;
float mouseyRot = mouseY * shipTurnSpeed;
Vector3 rot = transform.rotation.eulerAngles;
rot.x -= mouseyRot;
rot.y += mousexRot;
transform.rotation = Quaternion.Euler(rot);