подскажите как получить список вершин при столкновении с объектом
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision collision)
{
if ((collision.gameObject.name == "Sphere") || (collision.gameObject.name == "Rocket_left(Clone)"))
{
foreach (ContactPoint cp in collision.contacts)
{
print(cp.point); // Получаю список точек столкновения но это видимо точки коллайдера
}
}
Test(collision.contacts);
}
void Test(ContactPoint[] cps)
{
Mesh mesh = this.GetComponent<MeshFilter>().mesh;
if (baseVertices == null)
{
baseVertices = mesh.vertices;
}
Vector3[] vertices = new Vector3[baseVertices.Length];
foreach (ContactPoint cp in cps)
{
print(cp.point);
}
//В итогде тут совершенно другие точки отличные от точек стокновения
...
}
{
if ((collision.gameObject.name == "Sphere") || (collision.gameObject.name == "Rocket_left(Clone)"))
{
foreach (ContactPoint cp in collision.contacts)
{
print(cp.point); // Получаю список точек столкновения но это видимо точки коллайдера
}
}
Test(collision.contacts);
}
void Test(ContactPoint[] cps)
{
Mesh mesh = this.GetComponent<MeshFilter>().mesh;
if (baseVertices == null)
{
baseVertices = mesh.vertices;
}
Vector3[] vertices = new Vector3[baseVertices.Length];
foreach (ContactPoint cp in cps)
{
print(cp.point);
}
//В итогде тут совершенно другие точки отличные от точек стокновения
...
}
Как точки столкновения найти в меше обьекта ? Просто вроде точки столновения глобальные имеют координаты а вершины модели локальные...