forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   ПИК ПИК ПИК (http://forum.boolean.name/showthread.php?t=10895)

Ganociy 25.11.2009 11:52

ПИК ПИК ПИК
 
Тут такая дрянь. Создаю бота - АнимМеш. Чтобы его пикать и на нём была декаль нужно перебирать все его чилды. Мне это не охото делать . Создаю сферу (родитель АнимМеш) растягиваю её по размеру бота. Ставлю альфа для сферы=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

Артем Валерьевич 25.11.2009 13:47

Ответ: ПИК ПИК ПИК
 
наверно нужно парентить твой декаль в момент пика к сфере бота

Ganociy 25.11.2009 15:57

Ответ: ПИК ПИК ПИК
 
Хм как же я сразу не подумал (попробую) ! А я когда загружаю декаль парентю к боту ) ИМХО

tormoz 25.11.2009 17:03

Ответ: ПИК ПИК ПИК
 
Чушь какая-то

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

Будет работать на 2 порядка быстрее варианта со сферой


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

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