Объявление
public void Clear(bool keepVertexLayout = true);Параметры
keepVertexLayout | Истинно, если существующий макет данных сетки должен быть сохранен. |
Описание
Удаляет все данные вершин и все индексы треугольников.
Эту функцию следует вызывать перед перестроением массива треугольников.
// Convert any GameObject into a single triangle
using UnityEngine;
public class meshClear : MonoBehaviour
{
private bool once = false;
void Update()
{
if (Time.time > 2.0f)
{
convertMesh();
}
}
void convertMesh()
{
if (once)
return;
Mesh mesh = GetComponent<MeshFilter>().mesh;
// Clears all the data that the mesh currently has
mesh.Clear();
// create 3 vertices for the triangle
mesh.vertices = new Vector3[] {new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0)};
mesh.uv = new Vector2[] {new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1)};
mesh.triangles = new int[] {0, 1, 2};
once = true;
}
}
Поведение этой функции по умолчанию сохраняет существующий макет вершин: например, если сетка имеет касательные векторы и цвета вершин, то касательные и цвета будут частью данных сетки после того, как вы заполните новые данные вершин. Если вы хотите полностью очистить сетку и начать с пустой компоновки вершин, передайте значение false для параметра keepVertexLayout
. Кроме того, назначение пустого массива любому компоненту сетки также удалит его из компоновки вершин.