Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 25.11.2009, 11:52   #1
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
ПИК ПИК ПИК

Тут такая дрянь. Создаю бота - АнимМеш. Чтобы его пикать и на нём была декаль нужно перебирать все его чилды. Мне это не охото делать . Создаю сферу (родитель АнимМеш) растягиваю её по размеру бота. Ставлю альфа для сферы=0. Пикмод= 2.
В неподвижном состоянии декаль лепится на ура к боту. Когда привожу его в движение , пикаю на него , а св*лочи декали пикаются в том месте куда я пикнул , но не движутся!!! Что делать ??? Вот часть кода----

levelrun=CreatePivot()
lpiv=CreatePivot(levelrun)

;HOLES AND SPARKS
hole=LoadSprite("data/Sprites/bullet_hole.bmp")
ScaleSprite hole,0.02,0.02
SpriteViewMode hole,2
EntityBlend hole,3
HideEntity hole

spark=LoadSprite("data/Sprites/blood.png")
ScaleSprite spark,0.025,0.025
EntityBlend spark,3
HideEntity spark

;END HOLES AND SPARKS

Function makehole(hole,holes)
hole=CopyEntity(hole,holes)
PositionEntity hole,PickedX(),PickedY(),PickedZ(),True
AlignToVector hole,-PickedNX(),-PickedNY(),-PickedNZ(),3
MoveEntity hole,0,0,-0.05
If CountChildren(holes)>200 Then FreeEntity GetChild(holes,1)
End Function

Function makespark(spark,sparks,count)
For i=2 To count
Local rv#=Rnd(-0.5,0.5)
spark=CopyEntity(spark,sparks)
PositionEntity spark,PickedX(),PickedY(),PickedZ(),True
AlignToVector spark,-PickedNX()+Rv,-PickedNY(),-PickedNZ()+Rv,3
TurnEntity spark,Rnd (20),0,Rnd (10)
Next
End Function

Function updatesparks(sparks)
Local i,life
For i=1 To CountChildren(sparks)
spark=GetChild(sparks,i)
life=EntityName(spark) : life=life+1 : NameEntity spark,life
MoveEntity spark,0,0,-0.8 : TranslateEntity spark,0,-life/5.0,0,True
;EntityColor spark,512/life,512/life,512/life
If life>1 Then FreeEntity spark : i=i-1
Next
End Function

holes = CreatePivot(levelrun) ; bullet hole list
sparks = CreatePivot(levelrun) ; sparks list
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Старый 25.11.2009, 13:47   #2
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: ПИК ПИК ПИК

наверно нужно парентить твой декаль в момент пика к сфере бота
(Offline)
 
Ответить с цитированием
Старый 25.11.2009, 15:57   #3
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: ПИК ПИК ПИК

Хм как же я сразу не подумал (попробую) ! А я когда загружаю декаль парентю к боту ) ИМХО
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Старый 25.11.2009, 17:03   #4
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: ПИК ПИК ПИК

Чушь какая-то

создай пивот, позиционируй его относительно модели в нужную точку, припареньть и поставь пикмоде на радиус. Задай соответствующий радиус по вертикали и горизонтали.

Будет работать на 2 порядка быстрее варианта со сферой
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Taugeshtu (25.11.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com