Child игнорирует изменения в положении трансформации Parent во время выполнения.Как исправить? - PullRequest
0 голосов
/ 24 июня 2019

У меня есть сферы, создаваемые как дети GameObject.Я хочу, чтобы эти сферы, чтобы следовать позиция GameObject.

1002 * Проблема в том, эти сферах упорно остаются в месте, где они были порождены в, и отказываются менять свою позицию по любому Transform изменения позиции в инспекторе во время выполнения.
spheres = new GameObject[mesh.vertexCount]; //create gameobject array, size of mesh vertex count

for (int i = 0; i < mesh.vertexCount; i++)
{
    matrices1pos[i] = matrices1[i].position;
    spheres[i] = Instantiate(spherePrefab, matrices1[i].position, Quaternion.identity);
    spheres[i].transform.SetParent(GO2.transform);
}

Я даже пытался добавить код:

spheres[i].transform.localPosition = Vector3.zero;

, но это не заставляет сферы реагировать на изменения положения родителей.

Между прочим, местоположение, в котором появляются Сферы, является местоположением GameObject (называемого MeshChanger), в котором работает скрипт.Изменение положения MeshChanger преобразования во время выполнения также не имеет никакого эффекта.

edit: Решено!см. ответ ниже

1 Ответ

0 голосов
/ 24 июня 2019

Я понял это. Мне нужно было использовать local Position. =]

spheres[i].transform.SetParent(GO2.transform);
spheres[i].transform.localPosition = Vector3.Lerp(matrices1pos[i], matrices2[i].position, t);
...