|
3D-программирование Вопросы, касающиеся программирования 3D мира |
31.10.2005, 23:36
|
#76
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
ВАЩЕ КОЗЫРНО только тормозит-это возможно убрать?
|
(Offline)
|
|
01.11.2005, 06:55
|
#77
|
Бывалый
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений (для 102 пользователей)
|
Вот немного оптимизированная версия:
Global ark_blur_image, ark_blur_texture, ark_blur_texture1, ark_sw, ark_sh,spr2,spr3,spr4,spr5,glowcam,glowsize=256
Function CreateBlurImage(cam)
ark_sw = GraphicsWidth()
ark_sh = GraphicsHeight()
If GraphicsWidth()=1024 sprp#=.002
If GraphicsWidth()=800 sprp#=.0025
If GraphicsWidth()=640 sprp#=.003
;Create sprite
ark_blur_image = CreateMesh(cam)
Local sf = CreateSurface(ark_blur_image)
AddVertex sf, -1, 1, 0, 0, 0
AddVertex sf, 1, 1, 0, 1, 0
AddVertex sf, -1, -1, 0, 0, 1
AddVertex sf, 1, -1, 0, 1, 1
AddTriangle sf, 0, 1, 2
AddTriangle sf, 3, 2, 1
EntityFX ark_blur_image, 1
ScaleMesh ark_blur_image, 2048.0 / Float(ark_sw), 2048.0 / Float(ark_sw), 1
PositionEntity ark_blur_image, -sprp+0, sprp+0, 2.000
EntityOrder ark_blur_image, -2
EntityBlend ark_blur_image,1
ark_blur_image = ark_blur_image
;Create blur texture
ark_blur_texture = CreateTexture(ark_sw, ark_sw,256)
EntityTexture ark_blur_image, ark_blur_texture
TextureBlend ark_blur_texture,1
EntityAlpha ark_blur_image,0
HideEntity ark_blur_image
End Function
Function UpdateBlur(cam,power#)
If power#>0
EntityAlpha ark_blur_image,power#
ShowEntity ark_blur_image
CopyRect *ark_sw / 2 - 512, ark_sh / 2 - 512, 1024, 1024, 0, 0, BackBuffer(), TextureBuffer(ark_blur_texture)
Else
EntityAlpha ark_blur_image,power#
HideEntity ark_blur_image
EndIf
End Function
|
(Offline)
|
|
01.11.2005, 11:30
|
#78
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Пасибо
|
(Offline)
|
|
01.11.2005, 11:31
|
#79
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Чуваки, а кто знает как сделать анимированный спрайт(у меня типа взрыв лента из изображений)?
|
(Offline)
|
|
01.11.2005, 19:26
|
#80
|
|
в теории - создать спрайт и наложить на него anim texture сам непроверял - но видел в примерах
|
|
|
01.11.2005, 22:43
|
#81
|
|
Originally posted by ZanoZa@Nov 1 2005, 09:31 AM
Чуваки, а кто знает как сделать анимированный спрайт(у меня типа взрыв лента из изображений)?
|
Разбиваешь свою ленту изображений на отдельные файлы с последовательной нумерацией. Например, expl0.jpg, expl1.jpg и т.д.
Потом в Блице создаешь массив:
Dim Explosion(20);число в скобках - количество кадров
;Загружаешь в массив последовательно все кадры:
For i=0 To 20
Explosion(i)=LoadSprite("animation\expl"+i+".jpg")
ScaleSprite Explosion(i), .2, .2
HideEntity Explosion(i)
Next
;Далее в основном цикле пишешь:
If vIfExplode=1
If vExplFrame>0 Then HideEntity Explosion(vExplFrame-1)
PositionEntity Explosion(vExplFrame), x, y, z;вместо x, y и z подставляешь необходимые значения
ShowEntity Explosion(vExplFrame)
vExplFrame=vExplFrame+1
If vExplFrame>20 Then vExplFrame=0: vIfExplode=0
End if
И все. Теперь, когда должен отображаться взрыв, присваиваешь переменной vIfExplode значение 1.
|
|
|
01.11.2005, 23:44
|
#82
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
А не проще Sprite=CreateSprite(), ленту грузить в анимированную текстуру Texture=LoadAnimTexture(...), а потом на спрайт применять EntityTexture Sprite,Texture,Номер_Кадра ?
|
(Offline)
|
|
02.11.2005, 10:24
|
#84
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Originally posted by Diplomat@Nov 1 2005, 10:44 PM
А не проще Sprite=CreateSprite(), ленту грузить в анимированную текстуру Texture=LoadAnimTexture(...), а потом на спрайт применять EntityTexture Sprite,Texture,Номер_Кадра ?
|
Я так и делаю, но у меня отоброжает первый кадр, а как сделать чтобы-это двигалось?
|
(Offline)
|
|
02.11.2005, 11:54
|
#85
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
По многочисленным просьбам трудящихся повторяем:
EntityTexture Sprite,Texture,Номер_Кадра
|
P.S.
"-Доктор! У меня ноги чернеют!!
-А мыть не пробовали?
-Пробовал! Не помогает! Через полгода снова чернеют!!"
Всё к тому, что иногда полезно прочесть Хелп по предложенной тебе команде.
|
(Offline)
|
|
02.11.2005, 17:03
|
#86
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
И чё будет двигаться?
|
(Offline)
|
|
02.11.2005, 21:08
|
#87
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
2alcoSHoLiK
Извини, но твой вариант - просто страх:
1) есть стандартные функции для анимированной текстуры
2) разбивка ленты на отдельные файлы снижает качество испльзования места. Если так хочешь массив, так просто разрежь в памяти ленту на кусочки ( это не сложно : каждый кадр - квадрат с известной высотой ( высота картинки)
3) Сомневаюсь, что юзание массива более рационально по памяти
и т.д.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:59.
|