Dans ce script C# en dessous, je crée une liste de vecteurs.A chaque fois que j'appuie sur la touche I, je rajoute dans cette liste le vecteur (2,0,2).
Cette liste contient en premier vecteur nul.
Le second de cette liste (0,0,2) est généré au lancement du jeu, avant d'appuyer sur la touche I
problème:
au second appui,le second objet généré prend la position (10,0,6) au lieu de
vecteur nul+(0,0,2)+(2,0,2)=(2,0,4):la somme dans cette liste n'est pas respectée.
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class somme_position : MonoBehaviour
{
int p = 0;
public Mesh[] myMesh = new Mesh[10];
public GameObject Objet1;
Vector3 VSum = Vector3.zero;
List<GameObject> ObjectList;
List<Vector3> ListVecteurs;
void Start()
{
ObjectList = new List<GameObject>();
ObjectList.Add(Objet1);
ListVecteurs = new List<Vector3>();
ListVecteurs.Add(VSum);
Vector3 V1 = new Vector3(0,0,,2);
ListVecteurs.Add(V1);
ObjectList[0].transform.position = ListVecteurs[1];
}
void Update()
{
if (Input.GetKeyDown(KeyCode.I))
{
p++;
ObjectList.Add(Objet1);
ObjectList[p] = new GameObject("toto" + p);
ListVecteurs.Add(new Vector3(2, 0, 2));
[b] foreach (Vector3 v in ListVecteurs)
{
VSum += v;
}
[/b]
ObjectList[p].transform.position = VSum;[b]//pas bonne valeur
[/b]
ObjectList[p].AddComponent<MeshRenderer>();
ObjectList[p].AddComponent<MeshFilter>().mesh = myMesh[p - 1];
}
}
}
merci de votre aide