Это не работает для встроенных сеток. Должен быть импортированным мешом, который я также сохраняю как Годо .mesh .
Справочные ссылки: Facebook , Инструмент данных сетки , Класс сетки
Я ошибочно указывал на Mesh класс вместо атрибута mesh , чтобы получить ссылку на сетку. И тест if должен пройти проверку, потому что «create_from_surface ()» возвращает ненулевое значение при возникновении ошибки.
extends MeshInstance
func _ready():
var themesh = mesh # Same as bellow, points to same object in memory
var themesh2 = self.get_mesh() # Same as above, points to same object in memory
print("Mesh surface count: " + str(themesh.get_surface_count()))
var mdt = MeshDataTool.new()
if mdt.create_from_surface(themesh, 0) == OK: # Check pass
print("Ok!!")
print(mdt.get_vertex_count())
else:
print("Fail...")
var aMeshVerts = []
for i in range(mdt.get_vertex_count()):
aMeshVerts.append(mdt.get_vertex(i)) # Storing the vertices positions
mdt.set_vertex(0, Vector3(1, 2, 1)) # Changing a vertice position
themesh.surface_remove(0)
mdt.commit_to_surface(themesh)
mdt.clear()