Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Полупрозрачность в Героях и Антиалиасинг Оригинальных Существ
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды
Страницы: 1, 2
Axolotl
Тут возникла небольшая дискуссия о том, что если бы кто-то сделал поддержку полупрозрачности в Героях, то как быть с оригинальными существами, которые не имеют полупрозрачности и антиалиасинга, особенно был акцент на элементалях и подобных существах. И то, что они контрастировали бы с новыми существами имеющими антиалиасинг.

В следствии чего я решил провести парочку экспериментов...

Напомню, что лично мое мнение по поводу геройской попиксельной "дырявой" полупрозрачности, таково, что не очень то на самом деле идет стилю геройских существ такой эффект. Такой эффект мог бы смотреться и сочетаться с контрастным пиксельартом, особенно 8-ми битным (т.к. таковой уже имеет контрастные зернистые градиенты), но не особо он сочетается с плавными 3д-шными троечными существами и объектами, не говоря уже об алиасинге (угловатых краях без сглаживания) который уж точно никому еще красиво не делал (за исключением сознательного кубизма аля Minecraft разве-что)))

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

Во вторых - там довольно много параметров, т.е. не обязательно именно так, т.е. можно уменьшить или увеличить как радиус, так и значение полупрозрачности каемки, а также еще несколько параметров, которыми можно рулить. Естественно, тут параметры специально для элементаля, т.к. он огненный. Для плотных существ, нужны параметры помягче.

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

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


Естественно, это пакетная обработка, т.е. не будут стоять месяцы-годы, чтобы улучшить всех оригинальных существ таким образом. Все можно сделать довольно быстро.

Да, еще...в теории возможно писать сложные параметры для создания таких эффектов, например делать разную полупрозрачность у разных частей существа (если они достаточно сильно различаются по цветам) например, чтобы сделать у архангела огонь на мече более подвергнутый эффекту, а само тело менее....не говоря уже о возможности ручной доработки, в каких-то особых случаях.
В общем, надеюсь, что убедил в том, что оригинальные существа выиграют от такого плагина не меньше, чем новые.
hippocamus
Чтобы сравнить, нужно, например, сделать анимацию, скажем, Крестоносец (существо заведомо без "мягкости" анимации, так?) бьёт вот такого Огненного элементаля. Не будет ли ощущения коллажа?
Axolotl
Цитата(hippocamus @ 18 Dec 2013, 16:01) *
Чтобы сравнить, нужно, например, сделать анимацию, скажем, Крестоносец (существо заведомо без "мягкости" анимации, так?) бьёт вот такого Огненного элементаля. Не будет ли ощущения коллажа?


Да с чего бы?))) Крестоносец (как и все остальные) тоже будет обработан, только не так сильно, т.е обычный антиалиасинг будет к нему применен (т.е. просто смягчится грубая лесенка его краев), метод который десятки лет используют в графике (и во времена героев тоже, но тогда железо не позволяло реалтайм такое миксить)
Выглядеть все будет точно лучше, ощущение коллажей как раз есть сейчас. Это давно отработанный способ, он точно лучше.
Я же как-то показывал антиалиасинг на примере простом
Слева без антиалиасинга (как есть сечас) и справа сним (как должно быть и стать).
hippocamus
Ну, лучше, да.
Axolotl
Еще пара тестов...
Опять же...пока еще экспериментирую с параметрами, ищу идеальный (или близко к тому) вариант

Слева-направо - Оригинал и два варианта с немного разными параметрами
feanor
Кстати, а попробуйте кто-нибудь подцепить альфу к Хоте и проверить полупрозрачность на поле боя там?
GarretDRazor
С элементалем не могу однозначно сказать, а вот джину точно идет.
Orzie
Цитата(GarretDRazor @ 19 Dec 2013, 01:33) *
С элементалем не могу однозначно сказать, а вот джину точно идет.

Противоположное мнение.
Day7
Элементаль - 3ий (как-то, правда, тускловат он по сравнению с остальными)
Джинн - 3ий

Отлично выглядит. В случае элементаля, мы видим, что исправляет графический баг "неживого" огня, когда появлялись дырки около его груди и колена.
Axolotl
Цитата(Day7 @ 19 Dec 2013, 11:15) *
Элементаль - 3ий (как-то, правда, тускловат он по сравнению с остальными)


У третьего элементаля такие же настройки как и у второго, только еще добавлена ради эксперимента общая прозрачность, кажется процентов на 20%, т.е. сквозь него фон просвечивает. (Но вообще у меня в планах эксперимент, сделать ему саму тушку не прозрачной, а попытаться настороить, чтобы именно вокруг пламя только было немного прозрачным.)

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

Но вообще, таких существ для которых нужно искать для каждого свой подход, достаточно мало, остальным же, телесным, скорее всего по одному шаблону достаточно будет сделать. Там им многого и не надо, просто сделать косметический антиалиасинг краев, чтобы форма читалась и зазубренность убрать.
ArtisanDen
А это реализуемо? Так то я руками научился геройскую прозрачность делать с помощью специальных кистей. Если же можно прикрутить прозрачность, могу при наличии инструкций помочь всех существ обновить.
Axolotl
Цитата(ArtisanDen @ 19 Dec 2013, 13:55) *
А это реализуемо? Так то я руками научился геройскую прозрачность делать с помощью специальных кистей. Если же можно прикрутить прозрачность, могу при наличии инструкций помочь всех существ обновить.


Что именно реализуемо? То, что я уже показал? Или сама полупрозрачность в героях? Или что ты имеешь в виду, не очень понял.
ArtisanDen
А самой игре конечно же. В бою, на карте и т.д
Axolotl
Цитата(ArtisanDen @ 19 Dec 2013, 14:29) *
А самой игре конечно же. В бою, на карте и т.д



По нормальному? Нет. Все тот-же полурабочий плагин.
....Самая первая строчка первого поста)))
Цитата
Тут возникла небольшая дискуссия о том, что если бы кто-то сделал поддержку полупрозрачности в Героях, то..


Т.е. это этакий мотиватор для тех, кто в теории мог бы подобное осуществить, может если граф. возможности для новых существ им не очень интересны, то вот такая перспектива может и мотивирует взяться за это.
nosferatu
Элементаль второй, джинн третий лучше.
Арысь-Поле
С моей точки зрения, элементалю лучше всего подходит третий вариант (даже если логически посудить, существо, состоящее из чистого огня, по своей природе, скорее всего, бестелесное), а вот джинн лучше выглядит во втором варианте. Небольшое количество "чётких" искр оставляет вихрь живым, тогда как в третьем варианте чрезмерная размытость превращает в совсем уж дым или кисель.
Axolotl
Ну вообще, варианты это пока еще не то, чтобы какое-то голосование....там вообще вариантов куча, т.к. процесс хоть и не сложный, но достаточно комплексный, я даже пока не особо запоминаю, где какие параметры использованы были. Варианты, это я так, для примера наглядного показал, что гибкость настроек имеется.
А так, я пока пытаюсь вообще понять весь этот процесс более детально чтобы далее ориентироваться, кому и как лучше сделать, уже более интуитивно. Как все пойму, разберусь и как будет возможность проверять эти варианты в игре, так можно будет уже и варианты итоговые рассматривать. А то, что сейчас - не стоит рассматривать более чем тесты набросочные.
Но уже и они показывают, что с ними лучше чем без них.
totkotoriy
Цитата(feanor @ 19 Dec 2013, 00:41) *
Кстати, а попробуйте кто-нибудь подцепить альфу к Хоте и проверить полупрозрачность на поле боя там?

Я пробовал, с Хотой все ништяк работает, таких глюков нет... Я ж говорил недавно, что для альфы нужен патч, такой же, как для "движка поля боя" в Хоте...

Цитата(Axolotl @ 19 Dec 2013, 13:47) *
Ну вообще, варианты это пока еще не то, чтобы какое-то голосование....там вообще вариантов куча, т.к. процесс хоть и не сложный, но достаточно комплексный, я даже пока не особо запоминаю, где какие параметры использованы были. Варианты, это я так, для примера наглядного показал, что гибкость настроек имеется.
А так, я пока пытаюсь вообще понять весь этот процесс более детально чтобы далее ориентироваться, кому и как лучше сделать, уже более интуитивно. Как все пойму, разберусь и как будет возможность проверять эти варианты в игре, так можно будет уже и варианты итоговые рассматривать. А то, что сейчас - не стоит рассматривать более чем тесты набросочные.
Но уже и они показывают, что с ними лучше чем без них.

Можно было бы тупо написать в фотошопе макрос для переделки кадров существ с антиалиасингом, не знаю, конечно, сколько это памяти съест, может и целый гиг, т.к. png формат сжатый, а в памяти будет не сжатый... но думаю ничего страшного не произойдет, просто нельзя будет запустить на старых компах.
Axolotl
Цитата(totkotoriy @ 21 Dec 2013, 14:37) *
Можно было бы тупо написать в фотошопе макрос для переделки кадров существ с антиалиасингом, не знаю, конечно, сколько это памяти съест, может и целый гиг, т.к. png формат сжатый, а в памяти будет не сжатый... но думаю ничего страшного не произойдет, просто нельзя будет запустить на старых компах.


Ау, есть тут кто?

Я же написал, что все это пакетная обработка. Естественно я это автоматом делаю, хоть и не в Фотошопе. У меня там весьма комплексный, многоступенчатый скрипт по этому поводу в данный момент. И про то, что если кто сделает поддержку - то обработать всех существ займет не так много времени, даже если с ручной доработкой каких-то узких проблемных моментов. Я бы взялся.

Цитата
Я пробовал, с Хотой все ништяк работает, таких глюков нет... Я ж говорил недавно, что для альфы нужен патч, такой же, как для "движка поля боя" в Хоте...


Еще же есть проблема обводки и эффектов окаменения, клона и.т.п
ArtisanDen
Цитата
Я пробовал, с Хотой все ништяк работает, таких глюков нет... Я ж говорил недавно, что для альфы нужен патч, такой же, как для "движка поля боя" в Хоте...

Ну так давайте! Я тогда на следующей неделе займусь обработкой существ
Axolotl
Так а что по обводке, и эффектам?...это не то, чтобы несущественная проблема.

а также, что по поводу

Цитата
Я ж говорил недавно, что для альфы нужен патч, такой же, как для "движка поля боя" в Хоте...


я не совсем пойму, что за патч имеется в виду...
hippocamus
Ну а что, обводка должна быть с антиалиасингом, да. Без полупрозрачности (хотя может, наверное, быть и полупрозрачной, но однородной).
Axolotl
Цитата(hippocamus @ 21 Dec 2013, 17:35) *
Ну а что, обводка должна быть с антиалиасингом, да. Без полупрозрачности (хотя может, наверное, быть и полупрозрачной, но однородной).

ПРоблема обводки несколько я бы сказал более комплексная...
ArtisanDen
А можно обводку заменить на какую нибудь подсветку например? Те полностью заменить этот эффект на что то более визуально подходящее
Axolotl
Цитата(ArtisanDen @ 21 Dec 2013, 17:40) *
А можно обводку заменить на какую нибудь подсветку например?


Да много вариантов придумывали (как-то в теме ВЦМИ пару раз этот вопрос понимался и обсуждалось это детально)...но какой-бы вариант не взять, кто-то его должен осуществить с програмной стороны.
hippocamus
Цитата(ArtisanDen @ 21 Dec 2013, 14:40) *
А можно обводку заменить на какую нибудь подсветку например? Те полностью заменить этот эффект на что то более визуально подходящее

Трудно. Она ведь бывает жёлтая и голубая. А в дефе только жёлтая. Там идёт подмена в палитре этого цвета, из-за этого 2 варианта, и мерцание.
Axolotl
вот тут, нашел одно из обсуждений....

http://forum.df2.ru/index.php?showtopic=13...st&p=509022
но кажется потом еще эта тема поднималась

и да, все таки, что за патч? Я там раньше спешно, дописал, но этого наверное уже не заметили

Цитата
Я ж говорил недавно, что для альфы нужен патч, такой же, как для "движка поля боя" в Хоте...


не совсем понял о каком патче речь?
Sav
Да нет никакого патча. Просто в Хоте переделана практически вся анимация в бою, и в частности исправлены её недочёты, некоторые из которых, по-видимому, критичны для полупрозрачности.
Axolotl
Цитата(Sav @ 21 Dec 2013, 18:00) *
Да нет никакого патча. Просто в Хоте переделана практически вся анимация в бою, и в частности исправлены её недочёты, некоторые из которых, по-видимому, критичны для полупрозрачности.


А предположить, понять в каком месте это может быть проблема сильно заморочено?

Я так понимаю, что можно же с разных концов подойти, исправлять эти штуки в Героях и наоборот обходить их в самом альфа плагине, то может если известно будет, что именно за момент в коде Героев вызывает конфликт, то может несложно будет или подправить конкретно это место в Героях или модифицировать сам плагин.
hippocamus
Axolotl
Ну вот, ты хочешь ХотУ распотрошить и взять оттуда что тебе нужно, вместо того чтобы её использовать. ((
Axolotl
Цитата(hippocamus @ 21 Dec 2013, 20:27) *
Axolotl
Ну вот, ты хочешь ХотУ распотрошить и взять оттуда что тебе нужно, вместо того чтобы её использовать. ((


Ну, вообще-то я тут гораздо больше даю, чем беру....(Да и не только же я в этом мире существую)
А причины не использования вроде несколько другие же...да и не потрошить Хоту я прошу (если это так называть), а спрашиваю инфу, что может известно в каком конкретно месте кода героев конфликт возникает. Ну у меня несколько видимо иные представления о мододельстве, если уже даже информация так оценивается....мда

P.S. Просто, если имеется два кода, c одним из которых возникает ошибка, а c другим плагин работает - то я хоть и не программист, но логически могу предположить, что практическим тыком, или анализом можно понять в каком месте трабл.
Vade Parvis
Цитата
Ну у меня несколько видимо иные представления о мододельстве, если уже даже информация так оценивается....мда
Я думаю, Гиппо просто сильно не так тебя понял.

Плюс — у меня нет уверенности, что это было сказано всерьёз.
hippocamus
Просто Аксолотль говорил, что ХотА как платформа его не устраивает. Но здесь преимущества неоспоримы, почему бы не сделать то, что ты хочешь - в ХотЕ, а потом уже думать о портировании?
feanor
Цитата
Ну вот, ты хочешь ХотУ распотрошить и взять оттуда что тебе нужно, вместо того чтобы её использовать. ((
Вы говорите так, как будто это что-то ненормальное.
Axolotl
Цитата(hippocamus @ 21 Dec 2013, 20:44) *
Просто Аксолотль говорил, что ХотА как платформа его не устраивает. Но здесь преимущества неоспоримы, почему бы не сделать то, что ты хочешь - в ХотЕ, а потом уже думать о портировании?


Какой-то странный подход. В чем преимущества то? Ну будет очередная полезность, которую невозможно будет использовать.
Ну а портирование - о нем не думать надо, а решение какое-то от ответственных за это людей, хотя бы на уровне именно, что решения.
Т.е. какой смысл думать о портировании потом (потом мне тут особенно нравится)) - если вопрос портирования например не ставится вообще, а от меня допустим не зависит.
Да, если например Сав, Бараторч скажет, давай возьмемся, ты делай то, что от тебя зависит, а я то, что от меня - а результат, потом все им воспользуются, то да, запросто, хоть завтра начнем.
feanor
Так. А можно в студию последнюю альфу (она опять утонула потерялась) и полупрозрачное существо к ней?

Added: желательно вызывающее баги.
feanor
Так. Самое узкое место тут не баги и даже не производительность, а внезапно память.

alpha.dll хранит каждое загруженное изображение как 32-bit bitmap; все изображения из replace грузятся при старте и не выгружаются до закрытия игры. Утечек нету, но от этого не легче: при таких запросах все обработанные существа будут жрать этак гигабайт с лишним - и это еще минимальная оценка!

Нужно либо синхронизировать загрузку-выгрузку кадров с геройскими функциями, либо извращаться как-то еще.
totkotoriy
Цитата(Axolotl @ 21 Dec 2013, 12:08) *
Еще же есть проблема обводки и эффектов окаменения, клона и.т.п

А... да... вот еще.. точно.. забыл...

А с обводкой все в порядке, просто желтый цвет альфа плагин не заменяет (может только добавить полупрозрачности к нему) и все работает как обычно.
totkotoriy
Протестировал битву почти со всеми полупрозрачными существами, скорость упала раза в 2-3 (у меня пень 5й).

По прикидкам на кадры одного существа сожрало 50мб, умножаем на 200 существ получаем 10Гб!!!))) жопа.....
Честно говоря я и не хотел для всех существ это использовать... максимум для 10-ти, хотя даже и с одним существом такое может произойти если будет много отрядов как на скрине.
+ еще цвета теней не заменяются, так что придется менять самому с соответствующими цветами и прозрачностью, но это не так страшно.
SerAlexandr
Чорд, мои глаза...
nosferatu
А мне понравились прозрачные ледяные элементали.
Для кого такой эффект еще бы пригодился: алмазные големы, кристальные драконы, призрачные драконы, призраки/приведения. + отдельные части у некоторых юнитов, вроде свечения меча у ангелов.
Axolotl
Я как понял, это был навскидочный по быстрому эксперимент для проверки нагрузки проца, а не визуальный.
feanor
Цитата
По прикидкам на кадры одного существа сожрало 50мб, умножаем на 200 существ получаем 10Гб!!!))) жопа.....
Обрежь прозрачные части у кадров.

Алсо, ты последние исходники выкладывал? Может быть, попробую сделать что-нибудь с производительностью.
hippocamus
Цитата(feanor @ 22 Dec 2013, 13:16) *
Цитата
По прикидкам на кадры одного существа сожрало 50мб, умножаем на 200 существ получаем 10Гб!!!))) жопа.....
Обрежь прозрачные части у кадров.
Ну, пусть 2,5 гектара будет. Оправдано?
Просто не нужно всех юнитов конвертить, а только призрачных, полупрозрачных, светящихся.
totkotoriy
Цитата(hippocamus @ 22 Dec 2013, 16:36) *
Ну, пусть 2,5 гектара будет. Оправдано?
Просто не нужно всех юнитов конвертить, а только призрачных, полупрозрачных, светящихся.

Ну тут же про антиалиасинг всех существ говорили....

Про эффекты на поле боя (жажда крови, окаменение и т.д.) может нужно где-то позднее хук в последовательности отрисовки брать? Может за одно и глюки с пропажей альфа слоя исчезнут.
И еще я вставил автоопределение разрешения экрана для HD мода, работает, но только в полноэкранном режиме... а в оконном нет, наверное надо брать размеры окна, а не экрана.
И вообще может что то с потоками сделать...
Вроде последний код:
feanor
Так. А можно проект c пнглибой, а не сырой код?

Цитата
И вообще может что то с потоками сделать...
Ну как минимум - не надо вычислять смешение для чисто прозрачных и непрозрачных пикселей.
Попробовать заменить /256 на >>8, если компилятор это автоматом не сделал.
hippocamus
Цитата(totkotoriy @ 22 Dec 2013, 17:31) *
Ну тут же про антиалиасинг всех существ говорили....
Ну, вот не всех значит. Хороша ложка к обеду.
Axolotl
Цитата(hippocamus @ 23 Dec 2013, 05:37) *
Цитата(totkotoriy @ 22 Dec 2013, 17:31) *
Ну тут же про антиалиасинг всех существ говорили....
Ну, вот не всех значит. Хороша ложка к обеду.


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

Касательно проблемы - Те решения которые предлагаешь, делать только нескольким призрачным, это не совсем правильно само по себе, ввиду того, что вышеуказанная проблема с которой эта тема началась останется, т.е то, что одни существа будут плавными, другие будут зубчатыми.
Второе - суть проблемы, это не какое-то реальное физическое ограничение вообще, а просто "дыра"в коде (ну или как это лучше назвать), зачем отталкиваться от этой дыры? Существуют же решения - как в виде подгрузки-выгрузки, так и каком-то оптимизированном хранении в памяти. Тем более, что все равно это не единственная проблема, т.е. без вмешательства кодера в любом случае не обойтись.
totkotoriy
proj
hippocamus
Это для ХотЫ альфа?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.