Создаю два массива вертексов, один - рабочий, другой - резервный, что хранит начальные значения:
- Код: Выделить всё
var mesh : Mesh;
var vertices : Vector3[];
var vertices_default : Vector3[];
потом копирую вертекдсату в оба массива:
- Код: Выделить всё
mesh = GetComponent(MeshFilter).mesh;
vertices_default = mesh.vertices;
vertices = mesh.vertices;
Далее, делаю в Апдейте кой чего с одним массивом, после которого меш "плывет" вправо:
- Код: Выделить всё
for ( i = 0; i < vertices.length; i++)
vertices[i].x += Time.deltaTime;
mesh.vertices = vertices;
Естесственно, с массивом дефолтных значений ничего не происходит и меш никуда не плывет, при:
- Код: Выделить всё
for ( i = 0; i < vertices.length; i++)
vertices[i].x += Time.deltaTime;
mesh.vertices = vertices_default;
- Код: Выделить всё
vertices = vertices_default;
А вот почему выражение выше, где бы оно ни стояло, превращает два массива в инстансы друг друга, когда изменение одного влечет за собой изменение второго? Это какая-то особенность, о которой я не знаю?
Можно ли возвратить дефолтные значения массиву, не прибегая к перебору его членов?