Показать сообщение отдельно
Старый 20.09.2007, 17:42   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений
(для 15,676 пользователей)
Глюки VertexX и иже с ними.



[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 вершин, это будет тормозить, то пока что не в этом дело, возможно я не буду каждый вертекс тыкать... Надо пока разобраться с анимацией.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием