Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Palette problem when mask
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды
Valery
Please someone could give me a hint about the anti aliasing when using masks in 3D Max?

Let's say we open a model already done.



Then we prepare and apply a mask:



Now we get the right thing:



But when in Photoshop indexing, the mask applied a bunch of colors very close to the background:



Now all I can is remove all those colors in master palette one by one. But I never get a perfect result. Am I missing something obvious here?
Maestro
yes!
just simple turn off "blending over background" in "preferences" menu "rendering" folder
---
but yo already knows that laugh.gif
Valery
Yes I know that smile.gif But it does not fix the problem...the pics you see are with blending over background off.
Axolotl
Hi, so i've met this problem too. I solve this problem in my case, so i hope that it will work for all the similiar "color edge" problems.
So, in the Material Editor, in the properties rollout of texture applied to opacity (not the main texture) - go Bitmap Properties - Filtering - and set this filtering to "None".



Hope it will help.
Valery
No, it does not change, same problem:
Axolotl
That's a pity. In my problem it was like that (It also was a problem with the edge of a wing):

Filtering=Pyramidal:



Filtering=None:



Did you apply it to the properties of a mask map?

Maybe you will give a link to the problem model...maybe sombody will find a solution.
hippocamus
Ув.Героисты! Официальный язык форума - русский. Иноязычные участники могут писать по английски, но русскоязычным просьба дублировать ответ по-русски, а желательно и само иноязычное сообщение.
Axolotl
Ну, тут просто тема узкая, о конкретной проблеме. Да и проблема еще не решилась до конца. Но не вопрос, буду писать на обоих.
biggrin.gif
Valery
Sure, I already wrote in "ripped units" thread that Axolotl can write in russian only, I have no problems translating russian (except really difficult things).

Axolotl, try with this:

Manfacebird

Mask are inside, but you can make them yourself, maybe my masks are the problem. Tell me if you achieve better result. You will need nif importer.
Axolotl
Вот что получилось у меня:

Filter - Pyramidal:



Filter - None:



Хотя по самому краю действительно остается цвет не 0, 255, 255 а 0, 254, 254...странно.
Valery
This is how it looks you pic when processed in transparent options:
Def tool removed 0.255.255. The colors you see are close to 0.255.255 but NOT cyan. I would say the problem is not solved yet mellow.gif

Axolotl
Еще пока не решение, но может быть это поможет. (Эта проблема мне уже не раз вставила палки в колеса)
Также, мне кажется я понял почему так происходит (правда может и так все это знают rolleyes.gif ) Мне кажется опция Don't Antialiase Against Background работает, но учитывает она только край геомеории модели, а в данном случае это всего лишь прозрачность куска модели, и он подлец успешно мешает цвета с фоном.
Так вот, может это поможет решить проблему. Возможно нуно реyдерить беp антиалиазинга но в большом разрешении а потом уже ресайзить с правильным фильтром, в принципке результат почти тот-же. И возможно лучше рендерить в TGA, чтобы цвет фона сразу был прозрачным...но не тут то было, когда я попробовал уменьшить, фотошоп каналья сотворил почти ту-же пакость, он смиксил цвета с прозрачностью, сделав теперь уже полупрозрачную каемку. Но может я чего не знаю, и это всё таки можно побороть. Правда всё равно вручную это муторно каждую картинку обрабатывать, даже если получится без каемки смаштабировать, нужен какой то скрипт.


Now In English (I don't very trust Google Translate, especially when it's hard to explain for me even in my own language biggrin.gif )
Not yet a solution to a problem, but maybe some step to solve it (it is realy a nasty one, i've also met it many times).
First, i think i understand why it is happens (ehh..maybe you know it rolleyes.gif ). I think that option "Don't Antialiase against background" works well, but it works with the edge of the mech's geometry. But in this case this is not the edge, this is just the opacity over the model, so it antialiases with the color behind.
I have some clues, maybe it will help. Maybe we can render without antialiasing and filtering of opacity texture but in big resolution and then resize it with filter in photoshop, the result is almost the same. Also maybe it will be better to render in TGA, so the background wil be Alpha....but there is also problem, when i resize it it does almost the same thing. When it applies filter it mixes colors with alpha...ehhh...but maybe there is some trick with opacity that i don't know how to do in photoshop or gimp. And also even if there is the way to do it it is too hard to do it one by one manually, and needs some automation. Maybe script.
Axolotl
Возможно на пути к решению, сейчас разбираюсь с ImageMagick, она много чего умеет. В том числе обрабатывать много файлов.
Эх, надеюсь получится....экспериментирую с порогом альфа канала, может еще чего найду, но какие0то результтаты уже есть, но надо тестить. Сейчас уже времени нету, вечером еще поразбираю.
Etoprostoya
Использую чёрный фон и отключение антиалиасинга, лучше решения не придумал. Так я сделал несколько юнитов и не самых худших.
Maestro
Цитата(Axolotl @ 26 Oct 2010, 08:49) *
Возможно на пути к решению, сейчас разбираюсь с ImageMagick, она много чего умеет. В том числе обрабатывать много файлов.
Эх, надеюсь получится....экспериментирую с порогом альфа канала, может еще чего найду, но какие0то результтаты уже есть, но надо тестить. Сейчас уже времени нету, вечером еще поразбираю.


мне, в свое время, сильно помогала программа рендеринга и ее настройки, коим сейчас, увы, похвастать не могу.
имхо нужно эксперементировать именно с рендерингом.
Axolotl
В принципе, вроде получилось. Рендерил без антиалиазинга в 1350x1200 в TGA или PNG с альфа каналом (размер файлов даже меньше получается чем в BMP 450x400), рендерил на черном бэкграунде. Ставил в 3D Max опцию Super Black, чтобы избежать прозрачных пикселей на темных местах существа (она дополнительно в основных настройках может настраиваться)
В результате черный цвет ны выходных картинках был Альфа. Потом при помощи ImageMagick (очень мощная консольная программа для обработки изображений) уменьшал до 450x400 с фильтром (использовал либо Lanczos либо Blackman) еще пробовал чуть уменьшить у них Blur. Потом установил порог альфа канала (с разными значениями получается разный результат). Затем удалил альфа канал. Результат точно лучше чем у рендера без антиалиазинга, и может даже не хуже чем у рендеринга с фильтром.
И Самое Главное всё это описание выглядит замороченным, но ImageMagic прграмма консольная, и всё, что нужно это немного поэкспериментировать с параметрами, а потом запусить батник .bat (это я для гугля поясняю) и все эти операции он произведет автоматом сразу над всеми файлами.
И еще с индексированием палитры у него тоже много разных настроек, так-что эту операцию возможно тоже можно ему подсунуть.
pHOMM
У меня такое предложение, может просто Аксолотль не знаком с Вог-форумом, но, собственно, Валери знаком...(хотя ему там не особо удобно читать), так вот, Эфрит писал прогу для удаления, как он сам сказал, "муара", может она чем поможет при пост-обработке картинок из моделей, ссылка на пост http://wforum.heroes35.net/showthread.php?...=14550#pid14550
Valery
I can't download it from Efrit's link. Can someone please upload it somewhere else?
pHOMM
found it here http://mmgames.ru/files/hmm/3/soft/graphic/DP.rar enjoy ))
Axolotl
Цитата(pHOMM @ 27 Oct 2010, 08:38) *
У меня такое предложение, может просто Аксолотль не знаком с Вог-форумом, но, собственно, Валери знаком...(хотя ему там не особо удобно читать), так вот, Эфрит писал прогу для удаления, как он сам сказал, "муара", может она чем поможет при пост-обработке картинок из моделей, ссылка на пост http://wforum.heroes35.net/showthread.php?...=14550#pid14550


Ну спасибо блин. Где ты раньше то был? biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif А то столько времени уже потраченно на поиск решения. Даже нашелся альтернативный метод, ну может и к лучшему, так как в нем есть некоторые преимущества.

Так-как этот метод не избавляет нас от другой стороны проблемы, может не очень большой но всё-же, антиалиасинг смешивает цвета в местах прозрачности текстуры не только наружу, меняя цвет фона, но и внутрь смешивая цвет края с цветом фона. Поэтому если цвет фона будет сильно отличаться, сам край модели тоже подкрасится, а его удалять нам не нужно. Поэтому способ антиалиасинга с альфой всё таки более качественный, так-как при нем антиалиасинг сдвигает крайние пиксели фона в сторону Opacity а крайние пиксели модели в сторну Transparency, затрагивая только Альфа канал, но не трогая RGB. Потом мы просто выставляем порог альфа Канала на определенное значение выше которого все пиксели вновь становятся полностью Opaque а меньше него полностью Transparent. Получаем практически исходную картинку, ничего не теряя, но при этом получаем нормальный антиалиасинг внутри модели.

P.S. Я еще не во всём азобрался с ImageMagick, но если нужно, потом могу написать подробнее и написать текст самого Bat файла, для обработки картинок.
Etoprostoya
Думаю, что нужно. Пиши.
Axolotl
Цитата(etoprostoya @ 27 Oct 2010, 14:43) *
Думаю, что нужно. Пиши.


Ага, еще потестирую немного сперва. Кстати один пункт в прцессе с ImageMagick, возможно можно будет даже упустить.
Возможно можно сразу рендерить 450x400 с антиалиасингом, и отключив ту самую галочку Don't Antialiase Against Background biggrin.gif (да уж) тогда 3D Max тоже делает антиалиазинг с альфой, но сохранять уже нужно в Tga или возможно Png.
Но нужно тестировать, насколько мы действительно можем убрать лишее не убрав нужного biggrin.gif .

P.S. Самое плохое во всей этой (и не только это проблеме), что мы заморачиваемся с тем, как зделать картинку хуже, но насколько возможно лучше (звучит странно фраза, но так и есть). Когда же наконец появится умелец который сделает для Героев поддержку 32-bit цветов, полупрозрачность, и нормальное разрешение (1280 или 1124 мне кажется в даныый момент наиболее оптимальными)...ну или хотя бы часть их этого. Можно было бы делать намного красивее.
Maestro
Цитата(Axolotl @ 27 Oct 2010, 14:58) *
Когда же наконец появится умелец который сделает для Героев поддержку 32-bit цветов, полупрозрачность, и нормальное разрешение (1280 или 1124 мне кажется в даныый момент наиболее оптимальными)...ну или хотя бы часть их этого. Можно было бы делать намного красивее.


дык он уже есть. сделано дополнение для ЭРЫ, что позволяет использовать ПНГ картинки с альфой.
но для замены монстров еще никто не дошел, т.к. пропадает момент автопостроения теней и рамок выделения. ну да, тени можно и в ПНГ нарисовать с прозрачностью 50%, но как быть с рамочкамы выделения - никто не придумал. хотя и без рамочек вполне можно обойтись.
hippocamus
А в чём с рамочками проблема? Рамочки должны быть в 2 ситуациях: стоит и кривляется.
Рамочка жёлтая меняется на голубую, когда хотят кастовать магию. Проставить нужный цвет (нейтральный, по умолчанию жёлтый) - думаю, он и в 32бит будет успешно меняться на голубой.
Тогда первым делом - делать полупрозрачных призраков и элементалей!
Axolotl
Цитата(Maestro @ 27 Oct 2010, 14:29) *
Цитата(Axolotl @ 27 Oct 2010, 14:58) *
Когда же наконец появится умелец который сделает для Героев поддержку 32-bit цветов, полупрозрачность, и нормальное разрешение (1280 или 1124 мне кажется в даныый момент наиболее оптимальными)...ну или хотя бы часть их этого. Можно было бы делать намного красивее.


дык он уже есть. сделано дополнение для ЭРЫ, что позволяет использовать ПНГ картинки с альфой.
но для замены монстров еще никто не дошел, т.к. пропадает момент автопостроения теней и рамок выделения. ну да, тени можно и в ПНГ нарисовать с прозрачностью 50%, но как быть с рамочкамы выделения - никто не придумал. хотя и без рамочек вполне можно обойтись.


Никто не придумал про рамочки? shum_lol.gif shum_lol.gif shum_lol.gif Я знаю как быть с цветными рамочками, антиалиазинг на цветном фоне нам в помощь (хоть какая-то от этого бага польза будет), это ты прямо в тему написал.....шучу...просто правда, последние несколько дней занимался проблемой борьбы с цветной каемкой biggrin.gif biggrin.gif
hippocamus
Да сделать-то ты их сделаешь...
Ты добейся, чтобы жёлтая менялась на голубую при атаке или магии.
Axolotl
Цитата(hippocamus @ 28 Oct 2010, 01:25) *
Да сделать-то ты их сделаешь...
Ты добейся, чтобы жёлтая менялась на голубую при атаке или магии.


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

P.S. Кстати, если проблему удастся побороть идеально, можно будет пользоваться Mental Ray Renderer, он иногда намного лучше результат выдает (намного медленнее правда biggrin.gif )
Maestro
Цитата(hippocamus @ 28 Oct 2010, 00:49) *
А в чём с рамочками проблема? Рамочки должны быть в 2 ситуациях: стоит и кривляется.
Рамочка жёлтая меняется на голубую, когда хотят кастовать магию. Проставить нужный цвет (нейтральный, по умолчанию жёлтый) - думаю, он и в 32бит будет успешно меняться на голубой.
Тогда первым делом - делать полупрозрачных призраков и элементалей!


а теперь сам подумай и ответь на эти вопросы:
1) сейчас для деф файлов все борятся с муаром размытия контура. мол, муар портит границы монстра.
2) рамочки и обводки рисуются по факту твердого контура монстра, т.е. границы пикселей фона и твердого тела.
3) в частности муар - рамочки обводки будут рисоваться вокруг него.
---
4) в полупрозрачном монстре, с качественной и мягкой отмывочкой и плавной границей, тот же полупрозрачный призрак у которого балахон плавно переходит в прозрачный, - как понять, где кончается грань твердого тела и начинается прозрачный фон? как отсеять муар от самого существа так, чтобы рамочка рисовалась именно по факту самого монстра, а не за 3-7 пикселей от него, где и фон на 90% уже прозрачный что глазу не видно разницы, а прога бы улавила, что пока не 100% и рамку рисовать не нужно?
---
вот это-то понять нельзя на трезвую голову, а научить прогу тому, что не понял человек нельзя!
---
правда есть у меня идейка одна...
можно нарисовать желтое свечение искусственно в самих ПНГ. мол, когда действие активируется - мы видим ровную (но увы, не мерцающую) желтую рамку-свечение.
но есть и свой минус - монстры без рамки могут покривляться - но так же будут подсвечены желтой рамкой!
---
есть рациональные предложения? у меня кончились laugh.gif
(удалить рамки вообще и добавить очередность хода, как в 5х героях)
Axolotl
Пока что тесты показали хороший результат



Гиф правда без альфа канала, но вот если что Def http://sharebee.com/205a3c79 (это не Def для вставления в герои, там всего одно движение) в Def хорошо видно, что никаких лишних пикселей нету. Весь его рваный, и лохмотья на руках, плащ это была текстура с прозрачностью.

Мало того, данный результат был сделан при помощи Mental Ray Renderer поверх черного бэкграунда + Super Black опция c
сохранением в TGA 450x400.

Далее я обработал в ImageMagick простым батником (.bat) сразу все файлы:

convert *.tga -channel Alpha -threshold 50%% -background black -alpha background -alpha off -colors 256 Out%%d.bmp
Всё!!! На выходе у меня готовые для DefTool картинки, без лишних пикселей biggrin.gif biggrin.gif biggrin.gif

Параметр threshhold - это порог альфа канала, влияет на то какие лишние пиксели уберутся, а какие нет. Но тут всё намного проще чем с убиранием цвета, обычно нормальный результат при значении ближе к среднему, но можно поэкспериментировать.

Background - это цвет в который мы превратим следующей коммандой Альфа канал (там можно и точные значения цвета указывать, есть описание)

colors 256 - это я просто перевожу в 8bit. (ImageMagick - умеет также собирать палитру уникальных цветов с разных файлов, сохранять ее, а потом применять ее при индексации, так-что эту задачу тоже можно дать ей, и тогда будет полная автоматизация этой части процесса но надо еще потестировать эту ее опцию, потом напишу)

Если будете писать из command Line, а не из Bat файла, то %% нужно заменить на просто %
Если путь к папке ImageMagick не прописан, нужно вместо Convert писать полный путь.

----------------------------------

Можно пойти и первым путем, который я описывал, рендерить в большом разрешении без антиалиазинга например 1350 на 1200 а потом уменьшать в том же Image Magick добавив в тот же .bat после Convert еще такие параметры
-filter Lanczos -define filter:blur=1.0 -resize 450x400

Фильтр можно выбирать, параметром Blur управлять. По умолчанию Blur 1.0, но в некоторых случаях его лучше сделать меньше
например 0.50 или 0.75.

-------------------------------------

Еще там можно довольно гибко управлять масками для названий загружаемых и выходных файлов, с данной командой он создаст файлы Out1, Out2, Out3......
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.