единство поймите меня sh после масштабирования - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь получить масштабированные вершины из me sh после масштабирования gameObject. GameObject будет напечатан в редакторе с масштабом, но если я напечатаю вершины меня sh, они не будут масштабированы.

gameObject.transform.localScale *= 10;
_mesh = gameObject.GetComponent<MeshFilter>().mesh;
//mesh.recalculateAllStuff if it is not done before get the mesh
for (int i = 0; i < _mesh.vertexCount; i++)
{
print(_mesh.vertices) //Not right scale
}

Мне интересно, как это работает.

1 Ответ

1 голос
/ 21 апреля 2020

Я думаю, что это сработает, если вы хотите масштабировать точки, локальные по отношению к мировой позиции:

var scale = 12f;

gameObject.transform.localScale *= scale;
_mesh = gameObject.GetComponent<MeshFilter>().mesh;
for (int i = 0; i < _mesh.vertexCount; i++)
{

    print(transform.TransformPoint(_mesh.vertices[i]));
}

Если вы хотите относительные масштабированные точки, попробуйте умножить компоненты _me sh .vertices [i] на компоненты вектора локального масштаба - используя Vector3.Scale:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...