forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Выстрел (вспышка) (http://forum.boolean.name/showthread.php?t=3817)

Xander 04.07.2007 14:05

Выстрел (вспышка)
 
Допустим у меня грузится обьект танк.

PositionEntity Tank, 10,10,10

Дуло у танка вместе с самим танком, тобишь не отдельное...

Вопрос - как узнать координату дула и нарисовать туда выстрел, учитывая, что танк может вращатся на 360 градсов?

IGR 04.07.2007 14:12

Re: Выстрел (вспышка)
 
можна методом тупого подбора !!
PositionEntity vistrel,число,число,число
только выстрел должен быть
ЕntityParent vistrel,Tank
когда танк будет вращатся и двигаться выстрел всегда будет в нужной точке по отношению к танку !!

Xander 04.07.2007 14:15

Re: Выстрел (вспышка)
 
О! Спасибо =)

moka 04.07.2007 18:02

Re: Выстрел (вспышка)
 
Есть отличный способ, если будет большое разнообразие танков, это в 3д редакторе создавать объект с именем например "dulo_1", далее в коде для каждого танка искать это дуло по имени, это перебор всех детей модели:
For n=1 to CountChildren(Mesh)
Child=GetChild(n)
If EntityName(Child)="dulo_1"
CreateVistrel(Mesh,EntityX(Child,1),EntityY(Child, 1),EntityZ(Child,1))
Endif
Next

Функцию CreateVistrel(Entity,x#,y#,z#), придётся создать, которая будет в классе где все танки, для текущего танка создавать пивот, привязывать его к нему, и двигать на указанные координаты, и при поворотах будет всё Ок! ;)

Это при загрузки так нада будет делать.


Часовой пояс GMT +4, время: 06:06.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot