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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 07.08.2006, 15:09   #1
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Декали (дыры от пуль, кровь...)

Здарова!!! Вот уже где то 2 месяца у меня это проблема! Уже несколько раз на форумах была эта тема, но я так и непонял двух вещей!
1) Если рисовать декаль (дырку от пули) на текстуре, то как сделать что бы она не ресовалась по 100 раз, т.е. только единожды когда текстура повтаряется!
2) Если делать спрайтами (т.е. определять то место где колизит пуля со стеной и там создавать спрайт...), то как сделать что бы та часть спрайта каторая свисает не рисовалась (т.е. допустим когда в край стены стреляешь....)

Пожалуйста помогите!!! Если кто-то вопроса непонял, я попробую обьяснить еще раз. Спасибо!!!
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 15:28   #2
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Re: Декали (дыры от пуль, кровь...)

хммм... насколько я помню текстуры там можно накладывать в разные слои... затекстурировать объект... и наложить в другой слой большую текстуру, чтоб она не повторялась и на ней рисовать дырки... (поправьте меня если я в чем ошибся)

(как вариант замутить неповторяющююся текстуру...)

а со спрайтами наверное не получится... хотя можно повыкручиваться, создать клетчатую модель спрайта, и рисовать только клетки которые будут соприкосаться со стеной... но это теория... думаю врядли на практике получится...

__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 15:50   #3
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

SubZero Сасибо тебе конечно!!! Но ты можешь обьяснить поподробнее про текстуру??? Немнога непонял. А спрайты я небуду нарное юзать так как тормозовая штука )))
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 15:53   #4
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

SubZero P.S. а как сделать что бы текстура (2-ая) не повторялась, и как воопще применять это к *b3d мешам? (ScaleTexture texture,TextureWidht(),TextureHeight()????
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 16:11   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Декали (дыры от пуль, кровь...)

Декали всегда делались спрайтами.
Делай меньше размер спрайта. Незабывай его выранивать по нормали колиизии + минмальный сдвиг вперёд
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 18:58   #6
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

декали всегда делались спрайтами
а как же тогда боротся с тем что бы они не свисали при попадании в край стены? метод сетки мне ненравится, очень памяти надо много!
(Offline)
 
Ответить с цитированием
Старый 07.08.2006, 19:17   #7
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Декали (дыры от пуль, кровь...)

1 вариант - делаешь унврап развертку на 2 слой уровня, накладываешь пустую текстуру с тщательно подогнанными координатами (очень сложно, но теоретически реально) потом рисуешь в эту текстуру (расчитав предварительно в какое место рисовать)
Преимущества - следы будут на любом месте уровня, независимо от углов и тд.
Недостатки - очень трудоемко и сложно реализовать

2 вариант: созаешь 100 - 200 квадов с наложенной текстурой декали в составе одного меша. При попадании, изменением координат вершин квада ставишь его в нужное место , а изменением альфы вертексов - проявляешь.
При превышении количества "заготовок", просто берешь переставляешь самый первый.
Для проверки выхода за угол можно написать спец функцию и сдвигать квад. чтобы не вылазил.
Преимущества - хорошее быстродействие (всего 400-500 треугольников), легкость реализации.
Недостатки - некоторая "неточность" следов, одинаковый внешний вид
__________________
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 00:23   #8
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

tormaz спасибо за инфо, но ПОЖАЛУЙСТА скажите мне, КАКОЙ ЛУЧШЕ СПОСОБ? Какой способ менее тормозной а какой более производительней!!! Что бы я точно знал над чем мудится!
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 00:25   #9
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

tormoz а помойму в халфе первом чтото подобное да?!
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 02:55   #10
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Декали (дыры от пуль, кровь...)

В шуттерах как правило используют первый способ.
Нужен уровень. смоделенный по определенным правилам (только не спрашивайте - каким, я так этот саособ до ума и не довел, моделить не умею настолько хорошо)
Использовал второй - шустро бегает.
Функция определения "края" объекта - самое сложное тут.
__________________
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 07:43   #11
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

Блин, юзаю второй способ!!! че то невыходит!!!!! Квады ето я так понял плоский меш формы прямоугольника так? И куда их лепить, сразу в картостройке сделать? Мляяяя!!! tormoz если я тебе еще ненадоел, то можешь разжувать еще раз второй метод!!! Если можно то попроще! А то я воще дырявый блин, нех... недоганяю!!! А штука мине оч нужная, в бущем оч пригадится!!! Pleaseeeee!!!!!

P.S. Взаимно помогу всем кто поможет ( и помог) с Музыкой и Звуком для игр!!! (я Музыкант... )) ) Кому надо обращайтесь!!!
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 12:13   #12
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Декали (дыры от пуль, кровь...)

2Tormoz:
Недостатки - некоторая "неточность" следов, одинаковый внешний вид
Одинаковость однотипных декалей как раз решается. Ничто не мешает сделать текстуру для квадов с несколькими нарисованными "в рядок" декалями и смещать текстурные координаты вертексов так, чтоб каждый следующий квад получал свою часть текстуры с соответствующей декалью. А кроме сдвига, можно практиковать еще и поворот UV координат вокруг условного центра текстурных координат квада... а менять "размеры" квада при позиционировании - вообще проще простого.

2New: Меш квадов создается в Блице повертексно.
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 17:39   #13
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

Diplomat ну а как ето повертексно??!!! Это что, нужно делать меш (AddVertex, AddTriangle... и т.д.) в виде сетки и рааставлять там где может быть столкновение???!!! или как??!!! Если так то расставлять не сразу а когда произойдет столкновение в координатах CollX,CollY и т.д.??!!!?? Блин че то непойму!! тогдаже можно юзать терраин...!!
Или просто я непойму четакое квадра...!!!...
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 17:46   #14
New
Оператор ЭВМ
 
Регистрация: 26.07.2006
Сообщений: 41
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Декали (дыры от пуль, кровь...)

Вот нашел функцию создания квада:

Function CreateQuad()
    sprite=CreateMesh()
    he=CreateBrush(255,255,255)
    v=CreateSurface(sprite,he)
    FreeBrush he
    AddVertex ( v,-3,3,0,1,0)  ; top left 0,1;1,0
    AddVertex ( v,3,3,0,0,0)   ; top right 1,1;1,1
    AddVertex ( v,-3,-3,0,1,1) ; bottom left 0,0;,0,0
    AddVertex ( v,3,-3,0,0,1)  ; bottom right 1,0;0,1
    AddTriangle( v,0,1,2)
    AddTriangle( v,3,2,1)
    FlipMesh(sprite)
    HideEntity(sprite)
    Return sprite
End Function
... Что мне дальше с ней делать???
(Offline)
 
Ответить с цитированием
Старый 08.08.2006, 19:48   #15
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Декали (дыры от пуль, кровь...)

Мдя.
Судя по всему тебе весь код писать придеться
Увы. нет времени.
Алгоритм тебе дали.
Объединяй все созданные квады в один меш. создавай тип в виртуальными квадами.
А потом высчитывай положение каждого вертекса.
Математика.
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как зделать кровь в игре ? Антихрист 3D-программирование 18 25.12.2007 14:22
Декали : проекция текстуры на полигон (?) Черный крыс 3D-программирование 3 10.11.2007 20:06
Собираем кровь!!! Halk-DS Юмор 61 03.12.2006 03:10
Делали LEVEL EDITOR? Stalnoy_Gvozd' 3D-программирование 22 27.11.2006 18:04
Дыры от ПУЛЬ !!! ЛысыЙ_Чук-Иванчук 3D-программирование 17 03.11.2006 21:49


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


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