Форум » FPS CREATOR ГЛАВНЫЙ РАЗДЕЛ » Делаем свои Decals (деколи) » Ответить

Делаем свои Decals (деколи)

TesarracT: В данном примере это будет отсвет (гало, блик, glow) от фонаря (лампы). Будем делать простой, неанимированый decal Сначала нарисуем непосредственно сам decal 1024*1024 Внимание! "рисунок" должен быть абсолютно на чёрном фоне и иметь соотношение сторон 4*4! Вот пример: ------------------------------------------------------------------------ Кроме того, деколь изготавливается с применением так называемого альфа-канала. Вот как делается альфа канал (смотрим пошагово на рисунках-объяснениях) : 1. 2. 3. 4. 5. 6. 7. 1. Сохраняем нашу деколь в формате *dds в папку files\gamecore\decals\mydecal\decal.dds 2. В эту же папку кладём текстовый файл decalspec со след. содержимым: ;decal spec ;DECAL across = 4 down = 4 offsety = 0 scale = 100 3. Идём files\entity bank\generic\decals\ И создаём в ней (блокнотом) файл *fpe со следующим содержимым: ;header desc = Mydecal ;ai aiinit = appear1.fpi aimain = decal.fpi aidestroy = disappear1.fpi Примечания: скрипты fpi можно назначать на Ваше усмотрение, в зависимости от задач. ;orientation model = particles.x textured = particles_d.tga transparency = 0 defaultheight = 0.5 soundset = здесь обращение к звуку (если нужен) ;identity details strength = 0 isimmobile = 1 ismarker = 4 ;decals decalmax = 1 decal0 = mydecal Проверяем! ;-)

Ответов - 89, стр: 1 2 3 All

TesarracT: Открыл тему снова... Так вот. У кого-то получалось сделать рабочую деколь больше чем 4 на 4 ?? Есть же такая фигня: ;DECAL across = 4 down = 4 offsety = 0 scale = 100 Почему же значения больше 4х не работают? (у меня по крайней мере)

Evil Genius: Они работают, увеличиваешь размер самой деколи, но толку- вся деколь проигрывается за 0.5сек, и добавленные кадры при просмотре не замечаются

TesarracT: Evil Genius Так может, они и не работают?? У меня не получилось сделать больше 4 на 4... деколь получалась искаженная (вроде)


Evil Genius: "1 клетка = 256Х256 => 6 на 6 =1536Х1536" -я по такому принципу делал, хотел сделать ДОЛГИЙ ЯДЕРНЫЙ ВЗРЫВ.... но обломался, т.к : вся деколь проигрывается за 0.5сек он у меня все кадры анимации проигрывал, даже при замедлении fps, искажений не заметил

TesarracT: Evil Genius а.... ВОН ты как сделал... Хм... может для долгого надо 8 на 8 минимум?

Evil Genius: TesarracT пишет: Хм... может для долгого надо 8 на 8 минимум? хм... ну не знаю, время мроигрывания деколи 4-4, от 6-6 не изменилось, рядом ставил, на тестовом ур-не

Боберр: Просто нужно скрипт декали изменить(у креатора есть команда уменьшения кадров))

TesarracT: Боберр В скрипте деколей нет такой переменной

Боберр: В скрипте деколей нет. Но ее можно добавить))

TesarracT: Боберр Какие есть мысли?

Боберр: Написать скрипт))

ZbVld: Боберр пишет: Написать скрипт)) Мда... мысли как обычно стандартные... Что ни есть хорошо...

Боберр: Я напишу))...или попробую написать))...в любом случае все будет тип-топ))

ZbVld: Ну давай... давай... топ-топ-топ...

X-CORE: А ВЫ НЕ СЛЫШАЛИ О ПРОГЕ DECAL MAKER? Если нужно достану там правда создается анимированый декаль из 16 картинок насколько я помню

Ghost_Russia: X-CORE пишет: DECAL MAKER DECAL MAKER он делает только деколь 4х4 но зато легко

X-CORE: А , ладно Ghost_Russia уже ссылку дал да, это он и есть

ZbVld: Фигня это а не прога. Тупо слепливает в одну картинку 16 уже заготовленых ранее - тупо. Проще и быстрее всё сделать в фотошопе.

TesarracT: X-CORE пишет: А ВЫ НЕ СЛЫШАЛИ О ПРОГЕ DECAL MAKER? А вы не читали тему "Возможности фпс креатор", в которой я предупреждал еще полгода назад - не скачивайте эту дрянь? В скрипте деколи есть строчка decalmax = ставил туда значение 2 и прописывал вторую деколь ниже (думал, может друг за другом деколи будут показаны) - бесполезно. Мда, вопрос остаётся в силе: Как заставить работать деколь "долгую", гораздо больше чем 4*4 ?

Боберр: А декаль чего тебе нужна?

TesarracT: Боберр Хоть чего. Меня интересует как заставить работать деколь "долгую", гораздо больше чем 4*4 ?

VOLK: А почему нельзя делать на белом фоне?А то у я как назло все картинки крови сделал на белом =( Вот:

ZbVld: VOLK пишет: А то у я как назло все картинки крови сделал на белом =( Проблема вся в том, что ты её не делал, а скачал на http://www.cgtextures.com

Terminator:

TesarracT: VOLK Ну так ты сделай для неё альфа-канал и будет тебе счастье))

Terminator: Белый фон не пойдет. В каком-то из модельпаков кровь на белом фоне есть - применяется для разбрызгивания по стенам от персов. Я одного перса расстрелял возле стены и на стене все заляпалось кровью - с беспонтовыми белесыми краями.

warr11r: Альфа-каналом все надо делать. Вот в Пейнтдотнет есть параметр Чуствительность, уверен, где-то в Фотошопе тоже такой есть - можно выделить исключительно красный без перехода на розовый и заальфаканалить.

TesarracT: Я всё пытаюсь сделать деколи с большим кол-вом кадров. И вот что я наэкспериментировал: Короче, праметр across = 4 down = 4 НЕ показывает количество делимых вдоль-поперёк кадров. Этот параметр показывает, на сколько частей будет разделена ваша картинка деколи вдоль и поперёк!!! Т.е., если мы выставим параметр по умолчанию = 4, то наша деколь "разрежется" на 4 части по бокам и на 4 части вверху-внизу, НЕЗАВИСИМО от кол-ва кадров. Если же изменить параметр на = 2, то, соответственно, получим соответственный результат. Если выставить =1, то деколь не будет разрезана совсем, т.е., нам будет показываться статичная картинка, на которой будут уменьшены в ОДИН все кадры, но мы её просто не увидим. Продолжаю эксперименты, скоро выясню что к чему и отпишу сюда. Выяснил: как не крути, какие значения не выставляй - деколь тупо покажет нам только 16 кадров и всё.

warr11r: TesarracT пишет: Выяснил: как не крути, какие значения не выставляй - деколь тупо покажет нам только 16 кадров и всё. Опять, блин, ограничения.

TesarracT: warr11r А вот как мы с Никитосом вчера в аське посовещались - и вот что придумали насчёт этого: Надо нарисовать несколько деколей в продолжение. А потом уже писать такой скрипт, который проиграет их одну за другой!! Единственное, что будет сложно (кроме самого скрипта), - это точно поставить несколько деколей на одно место. Но, быть может возможно вызывать просто другую деколь на место первой тем же скриптом...

Evil Genius: Там в файле ентити (деколи) можно прописать несколько деколей, скрипт дам на выполнение поочерёдного проигрывания их, если надо ;decals decalmax = 5 decal0 = mydecal decal1 = mydecal1 decal2 = mydecal2 decal3 = mydecal3 decal4 = mydecal4

warr11r: Evil Genius пишет: Там в файле ентити (деколи) можно прописать несколько деколей, скрипт дам на выполнение поочерёдного проигрывания их, если надо Ага. Если попробовать создать папки с названиями mydecal, mydecal1, mydecal2, mydecal3, mydecal4, кинуть в каждую файл с последующими фазами деколи, то ведь должно заработать. Хотя TesarracT отписывал, что у него ничего не получилось, можно было бы еще попытаться.

TesarracT: Evil Genius Мы вчера уже сами делали так. Результат - ноль. Тупо играется 1 деколь.

Evil Genius: каким скриптом? проигрывали

TesarracT: Evil Genius Я добавлял в конце decal0= decal1= decal2= и.т.д. и.т.п. Вот попробуй сам, увидишь, что не прокатывает... или я может, что не так делал...

Evil Genius: надо скрипт иметь подходящий

TesarracT: Evil Genius Думаешь, такое реально скриптом сделать?

Evil Genius: не думаю, а знаю, при выстреле из оружия проигрывается же деколь искр, а потом дыма

TesarracT: Evil Genius оппа... точно... а не привязаны ли деколи дыма и искр к разным вещам? Когда стреляешь в перса, тоже вначале проигрывается текстура брызг, а потом крови. Но на стандартных деколях это не работает! =( Сейчас посмотрел скрипт томмигана - ничего подобного: ;Decals decalmax = 1 decal0 = glowzone Значит, дым берётся из чего-то другого... мы на ложном пути...

Evil Genius: Ладно, приду попробую, но ето точно можно сделать

Никита: TesarracT пишет: Значит, дым берётся из чего-то другого... мы на ложном пути... Так там же дым и искры всё в одной деколи, по этому и одна строчка

Evil Genius: TesarracT пишет: Надо нарисовать несколько деколей в продолжение. А потом уже писать такой скрипт, который проиграет их одну за другой!! Единственное, что будет сложно (кроме самого скрипта), - это точно поставить несколько деколей на одно место. Да, я ошибся, ток так зя

TesarracT: Evil Genius ??? Что такое "зя"? )) Хм... инересно, а можно написать такой скрипт, который проиграет их одну за другой..?. И где он будет находится тогда... мда... ничего больше что-то не могу придумать. И ещё про персов так и не решили... к чему там действительно 2 деколи? И как они проигрываются. Враз что ли?...

Evil Genius: короче забудь всё, что я там напостил, нужно сделать скрипт, но как пока не придумал, надо ставить несколько деколей на одном месте, и поочерёдно их проигрывать "зя" значит "можно"

TesarracT: Evil Genius Ну вот, я тоже про это же... Тогда, если что, потом в твоём раделе спец. тему про это создадим, чтоб тут не оффтопить.

Evil Genius: получилось мнгократную деколь замутить, но ентитёй, т.е. деколь в ентютю пихаем, и там уж по средствам активации

TesarracT: Evil Genius Во на выдумки горазд русский народ)) Вот об этом я не подумал) Интересно, может, опишешь процесс, как это энтитей сделать, а то я что-то до конца не могу себе это представить.

Evil Genius: хорошо, вместе со скриптом сделаю

TesarracT: Evil Genius т.е., получается, что скрипт деколи мы прописываем в fpe энтити, а там по активации (метод убил - родил следующую)? И энтитя что ли тогда прозрачная должна быть)?

Evil Genius: модель прозрачной сделать можно, но я сделал как-бы повторяющююся деколь, но исправить ето очень легко ща торт испеку и будет вам счастье

TesarracT: Evil Genius Блин, заинтриговал! Ладно, жду описания! )) А что, простыми деколями так и не получилось? Кстати, всю ночь штудировал англоязычный форум и нашёл что: деколь ограничена только 16 кадрами.

Evil Genius: Короче вот: Создаём *.fpe файл с такими цыферками ;header desc = 1 ;ai aiinit = appear1.fpi aimain = aidestroy = disappear1.fpi ;spawn spawnmax = 0 spawndelay = 0 spawnqty = 0 ;orientation model = путь к модельке(маленькому квадратику например) offx = 0 offy = 0 offz = 0 rotx = 0 roty = 0 rotz = 0 scale = 100 fixnewy = 0 defaultstatic = 0 materialindex = 4 collisionmode = 1 strength = 0 isimmobile = 1 soundset = soundset1 = ;visualinfo textured = путь к прозрачной текстуре effect = castshadow = 0 ;decals decalmax = 1 decal0 = имя деколи делаем таких файлов несколько, с разными именами(имя также меняем в строчке desc =имя ) и деколями ставим в креатор и назначаем первой деколи(кот. проиграеться самой первой) етот скрипт ;Artificial Intelligence Script ;Header desc = Decal start(by Evil Genius) :state=0:rundecal=0,state=1,timerstart :state=1,timergreater=300:state=2,activateifused=1,activate=0 :state=2,activated=1:state=3,rundecal=0,timerstart :state=3,timergreater=300:state=2,activateifused=1,activate=0 ;End of Script и пишем в поле "если использован" компонента(нажимаем ПКМ на нём) название след. деколи. второй деколи ставим етот скрипт ;Artificial Intelligence Script ;Header desc = Decal Loop(By Evil Genius) ;Triggers :state=0,activated=1:rundecal=0,state=1,timerstart :state=1,timergreater=300:state=0,activateifused=1,activate=0 ;End of Script и в поле "если использован" пишем название первой деколи(если надо поставить ещё деколий, то тоже с етим скриптом, и также вводим названия) чтобы все деколи проигрались один раз, просто в последней декольке ничего не пишем в строке "если использован" И обязательно выставить в строчке "активен всегда - ДА" ВСЕХ деколей

TesarracT: Оки, буду пробовать на досуге. Только, как я понял, надо все деколи ставить точно подгонять на одно место, или нет?

Evil Genius: да, ну всмысле меш подогнать и деколь также встанет

TesarracT: Evil Genius Ну так меш-то у нас один будет, или сколько деколей, столько и мешей??

Evil Genius: сколько деколей, столько и мешей, ведь файл *.fpe разный на каждую деколь, если не вписать меш, то *.fpe работать НЕ будет

TesarracT: Evil Genius Понятно.... мда... трудно будет их в точности совместить все один в один...) Вопрос: А зачем нам в ентити скрипте materialindex = 4 collisionmode = 1 ?

Evil Genius: materialindex = 4 - пишется во всех энтятях(материал какой) collisionmode = 1 - тип колизий, тоже обязателен(иначе иногда ошибку выдает)

TesarracT: Evil Genius пишет: collisionmode = 1 Но ведь это же полигональные коллизии! А как же проходить тогда, например, через деколь огня или дыма?! Кстати, ты не проверял, деколь-то хоть вертится вслед за главным героем?

Evil Genius: проверял, крутится, чтоб проходить сквозь меш деколи, надо вписать после значений, на новой строчке :always:colloff

TesarracT: Evil Genius А, ну точно, я баран, я ж забыл, что модель-то динамической же надо делать... А текстуру деколи динамическая модель не подсвечивает ярко? (как текстуры на динамических предметах) p.s. Мы с тобой вдвоём в этой теме))

Evil Genius: Вот ето незнаю, надо посмотреть

TesarracT: Ну и как? А то я всё на работе, никак не могу добраться до домашнего компа, чтоб потестить....

Evil Genius: Что как? я тестил, всё работает Прям невтерпёж

TesarracT: Evil Genius Да я про яркость увеличенную....

Evil Genius: А, незнаю, скорее всего(

TesarracT: Evil Genius это хреново... Ну ничего, я может, сегодня перед сном потестирую твой способ, потом отпишу. Правда, ты уже спать будешь и прочитаешь только утром уже...

Evil Genius: давай, тесть, а то очень интересно, у когонить получиться

TesarracT: Evil Genius пишет: timergreater=300 Кстати, вот это зачем в скрипте деколи? Почему именно 300? Или деколь у всех играет за одно и то же постоянное время? Короче, стал пробовать, тестить по твоему примеру. Так вот: деколь у меня стала видна только тогда, когда я в модели в main прописал путь до скрипта decal. Вот только тогда деколь за показывалась. А так я её просто не видел. Кроме того, звука, который прописан в деколи - нет. В рядом стоящей деколи без модели - звук играет. Не знаю, не будет ли косяков, если назначить звуки в скрипт самой модели... но... Может и не придётся, потому что, костёр, например, слыхать по всему уровню при прописки звука в деколи. А вот если звуковой зоной, то звук тогда пропадает, если ты из неё выходишь. Но есть и хорошая новость - деколь в модели - не ярче! Т.е. совершенно обычным, как и положено ей освещением и цветом. А это радует! Я ставил модель с деколью и рядом саму деколь и сравнивал - разницы нет! И это классно. Сейчас пойду, нарисую огонь деколей на 5)) Чтобы было интереснее и легче экспериментить. Мы на верном пути, я думаю! Это будет классное достижение, если мы научимся это делать и научим остальных!

Evil Genius: Странно, у меня всё работает, да она играет за одно время, значит ты чет не так сделал могу дать лэвл со стандартными деколями

TesarracT: Evil Genius Нет, пока не надо, я ещё тестировать буду)) Ещё не нарисовал 5 своих деколей. Вот нарисую - тогда уж точно затестирую!

Evil Genius: Давай) буду ждать!

TesarracT: Evil Genius А ты уверен, что деколь играет именно за время = 300?

Evil Genius: вобще, если пощитать, то за 430 , но получаеться маленький промежуток между проигрыванием, и снизил время

TesarracT: Evil Genius ок, будем проверять. Пока времени в обрез, так и не могу затестить толком. Как только - так сразу отпишу!

X-CORE: Вот и у меня руки дошли до декалей. И вот сразу же вопрос: у меня декаль при проверке дёргается как в судорогах я думаю это из-за неравного расстояния между кадрами и стенками. Как вы расстояние так точно отмеряете? Я тупой , я делаю так: беру декаль (один кадр) 256х256 добавляю в Pattern а затем заливаю им картинку 1024х1024...и всё равно...

TesarracT: X-CORE Я делал так: сначала изготавливал 16 шт. 256-256, а потом 4 аккуратно загонял в 512-512. Потом 4 512-х загонял в 1024) Получалось ровно.

Никита: Вот, смотри. Например у нас деколь огня (больше чем 16 кадров. Например 64 кадра нам нужно чтобы проиграть деколь. Получается из 64 кадров получатся 4 деколи с 16-ю кажрами) Берём 1-ую деколь с 16-ю кадрами, так? В скрипте указываем, чтобы она проигралась 1 раз, за сколько ты говорил времени деколь проигрывается? 0.1 секунда? Следовательно вторую деколь ставим на таймер 0.1 секунд (timergreater=100) и после этого запускается следущаю деколь, со следущими 16-ю кадрами. Также она проигрывается один раз. Аналогично с 3-ей и 4-ой деколью тоже самое. 3-ю деколь ставим тоже на таймер, но только не 0.1 секунд, а на 0.2. Понимаешь почему? БЛин объяснить как-то не получается. Надо на видео это как-нибудь показать. Вообщем, сделай деколь из 64 кадров. Т.е. теже кадры только их нужно разделить на 4 деколи т.е по 16. Например в первой деколи первые 16 кадров от тех 64-х, затем вторые 16 кадров от тех 64-х. (16-32) и т.д., а я постараюсь детально показать на видео.

TesarracT: Никита Я понимаю почему так. Я просто хочу сказать, что если есть параллельный скрипт, который тоже использует таймер - косячить всё будет.

Никита: Косячить ничего не будет. Я уже проводил подобный опыт деколей с таймером

Никита: Вот этот самый опыт

TesarracT: Никита пишет: Косячить ничего не будет. Я уже проводил подобный опыт деколей с таймером А параллельно еще какой-нибудь скрипт с таймером выполнялся? (например, уровень на время) ?

Никита: Нет. Используется триггер-зона и скрипты деколей. Параллельности никакой нет

TesarracT: Никита Да блин, Никита, я тебе про Фому, ты мне про Ерёму... Я еще раз попытаюсь... Если будет использоваться скрипт деколей с таймером, и, допустим, скрипт прохождения этого же уровня (в котором деколи с таймером) на время , т.е. тоже с таймером - таймеры будут косячить и скрипты работать не будут!

Tweek: TesarracT попробуй сделать Stalker decals mod, он вместе с bulletgoles mod вообще круто выгдлядеть будет

TesarracT: Tweek Что-то я в Сталкере деколей не видал...

Tweek: вот из stalker texture pack

TesarracT: Tweek Это фигня. Всё, не флуди здесь. Есть же тема про мой мод? Вот туда и пиши по моду.

TesarracT: Уф, всё короче! Наконец-то я научился как грамотно делать чёткие анимированные деколи!!! Хоть дыма, хоть огня! Еще вот экспортировать анимацию бы научиться... и будет ваще супер-пупер-мега-класс :))



полная версия страницы