J'aimerais déplacer un cube dans une grille magnétique de dimensions 6x6 constituée de petite plans de 0.16f de largeur.
Pour cela j'utilise le code suivant:
void Update() { var position = new Vector3( Mathf.Round(Cube.transform.position.x / 1.6f) * 1.6f, Mathf.Round(Cube.transform.position.y / 1.6f) * 1.6f, Mathf.Round(Cube.transform.position.z / 1.6f) * 1.6f); Cube.transform.position = position; }Le problème c'est que le rectangle se magnétise mal, en effet il se centre dans la grille horizontalement en laissant un écart de 0.8f (la moitié de 1.6f à gauche et à droite, voir image ci-dessous).
La moitié de 1.6f divisée par 2 des deux cotés (0.8f).
Pour cela je crée une grille magnétique de 0.8f (voir code ci-dessous).
Et là ca marche.
void Update() { var position = new Vector3( Mathf.Round(Cube.transform.position.x / 0.8f) * 0.8f, Mathf.Round(Cube.transform.position.y / 0.8f) * 0.8f, Mathf.Round(Cube.transform.position.z / 0.8f) * 0.8f); Cube.transform.position = position; }Moi, ce que je cherche, c'est de faire une magnétisation avec un écart de 1.6f sans problème de centrage (comme si la magnétisation était de 0.8f).
Merci pour votre aide.
A+