je suis actuellement en train de réaliser un script qui me permet d'avoir une minimap dans mon application Unity, avec une caméra Orthographic bloquée en vue du dessus (pour avoir une vision globale de ma map).
J'ai déjà codé plusieurs options, comme la gestion du zoom, ou encore le fait que ma caméra reste figée sur mon player pour le suivre dans son déplacement, ainsi qu'une gestion de la téléportation grâce au clic de la souris.
Mon problème est le suivant : je voudrais que ma caméra orthographic, en plus de suivre mon player dans son déplacement, ait également la même rotation (du genre : mon player effectue une rotation de 90 degrès sur la droite, donc ma caméra en fait de même ). Pour que la minimap soit toujours dans le sens de vision de mon player.
Voici mon code pour le moment :
Code : Tout sélectionner
void FixedUpdate() {
Minimap = GameObject.Find("Minimap");
if (Minimap) {axes = Minimap.GetComponent(typeof(Transform)) as Transform;}
local = GameObject.Find("LocalPlayer");
if (local) {axeslocal = local.GetComponent(typeof(Transform)) as Transform;}
vect = new Vector3(axeslocal.position.x, axes.position.y, axeslocal.position.z);
axes.position = vect;
axes.Rotate(axeslocal.rotation.x, axeslocal.rotation.y - axes.rotation.y, axeslocal.localEulerAngles.z, Space.World);
}
Une idée lumineuse?
EDIT : J'ai oublié de précisé que je programme en c#
EDIT2 : Problème réglé en faisant tout simplement ça :
Code : Tout sélectionner
void FixedUpdate() {
Minimap = GameObject.Find("Minimap");
if (Minimap) {axes = Minimap.GetComponent(typeof(Transform)) as Transform;}
local = GameObject.Find("LocalPlayer");
if (local) {axeslocal = local.GetComponent(typeof(Transform)) as Transform;}
vect = new Vector3(axeslocal.position.x, axes.position.y, axeslocal.position.z);
axes.position = vect;
axes.rotation = axeslocal.rotation;
axes.Rotate(90, 0, 0);
}