[blitz]
Function ConvertCorpseToSparks(C.corpse)
For g=1 To CountChildren (C\mesh) ;G - номер Чилда
For i=1 To CountSurfaces (GetChild (C\mesh,g)) ; I - номер сюрфейса
For j=0 To CountVertices (GetSurface (GetChild (C\mesh,g), i)) - 1 ;О - номер вершины
CreateSpark(VertexX(GetSurface (GetChild (C\mesh,g), i),j),VertexY(GetSurface (GetChild (C\mesh,g), i),j),VertexZ(GetSurface (GetChild (C\mesh,g), i),j))
Next
Next
Next
FreeEntity C\Mesh ; удаляем меш трупика
Delete C ; и удаляем элемент типа
End Function[/blitz]
Собсно, когда NPC помирает, вычисляю координаты каждой точки его меша, и помещаю туда спрайт затем удаляю меш.
Каким-то необъяснимым образом спрайты вместо того чтобы скрыть труп появились в начале координат, дык ещё и не в нужной позе анимации (анимация у меня b3d).
Если с координатами всё понятно - прибавим к координатам спрайта координаты убитого НПС и "фосфорное свечение" встанет на место, но как быть с анимацией??
Жду ответов.
З.Ы. Если кто то скажет, мол, нефиг делать спрайты изо всех 5000 вершин, это будет тормозить, то пока что не в этом дело, возможно я не буду каждый вертекс тыкать... Надо пока разобраться с анимацией.
