Как сделать текстуру с альфамаской.
Про просьбам трудящихся описываю подробно, как делать.
Итак, у нас есть две текстуры. Текстура диффузного рассеивания: Текстура альфаканала: И такая вот модель, на которую всё это безобразие надо надеть Начинаем с того, что совмещаем диффуз и альфу в один файл. Дело в том, что такие форматы, как jpeg, bmp и прочие форматы изображений, к которым мы привыкли, не держдат альфаканала. Собсно, это и не требуется, так как, трудно представить, куда его использовать например, для фотографий и прочих "обывательских" задач. Оправдано его использование на веб-страницах. Таков, например, формат PNG. Прозрачность, кроме того, присутствует и в GIF, но там пиксель может быть либо прозрачным, либо нет, да и Блитз его в качестве текстуры грузить не умеет, так что рассматривать я его не буду. Итак, у нас на выбор такие форматы, могущие хранить альфу: PNG, TGA, DDS Совмещать диффуз и альфу я буду при помощи Adobe Photoshop CS (но и более поздние версии подойдут) Начнём с того, что откроем наши картинки в фотошопе. TGA 1. Выбираем окошко с открытой картинкой альфаканала 2. Выбираем всё Select -> All (ctrl+A) 3. Копируем в буфер обмена Edit -> Copy (Ctrl + C) 4. Выбираем окошко с открытой картинкой диффуза. 5. Находим окошко Channels. Оно может быть либо отдельным окошком, либо в качестве одной из вкладок (как на скриншоте) Если вы не видите такого окошка, поставьте галочку Window -> Channels. Окошко должно появиться. 6. Нажимаем на кнопку New внизу окошка: 7. У вас появился новый канал Alpha 1, он весь чёрный. Именно сюда нужно и вставить альфаинформацию, которую мы ранее скопировали в буфер обмена. Делаем это: Edit -> Paste (Ctrl+V) 8. Сохраняем в формате TGA File -> Save As (Ctrl + Shift + S), выбираем имя файла и его формат. 9. Проследите, чтобы была нажата галка Alpha channels! 10. Дальнейшие параметры не меняйте, нажимайте ОК. 11. Готово! DDS Для того, чтобы сохранить текстуру в этот формат, вам нужен плугин для фотошопа для сохранения в DDS (см. в аттаче) Насколько мне известно, Фотошоп версии CS2 и выше уже имеет поддержку этого формата и плагин не нужен. Кроме того, текстура должна иметь размеры степения двойки: 32,64,128, 256, 512, 1024 и т.д., иначе сохранить не даст. 1. Выяснить, есть ли у вас в фотошопе поддержка DDS. Например, можно попытаться сохранить картинку и посмотреть, есть ли DDS в списке. 2. Если DDS в списке есть, то переходите сразу к пункту. Иначе открываем папку C:\Program Files\Adobe\Photoshop CS\Plug-Ins\File Formats или иную, зависит от того, где у вас установлен фотошоп и какова его версия. 3. Копируем туда файл dds.8bi (см. аттач) 4. Запускаем фотошоп, открываем наши картинки. 5. Проделываем пункты 1-7 как для TGA. 6. Сохраняем в DDS File -> Save As (Ctrl + Shift + S), выбираем имя файла и его формат. Проследите, чтобы была нажата галка Alpha channels! 7. Проверьте, чтобы все переключатели, отмеченные красным, стояли как на скриншоте: 8. У меня кнопка Save недоступнааа!!!111 Проверьте переключатель 2D Texture. 9. У меня он недоступеен!!!111 Проверьте размеры текстуры (нужны размеры степени двойки 32, 64, 128... ну ты понел) 10. А у меня... Проверьте ещё раз. 11. Готово! PNG Открываем картинки в фотошопе. 1. Выбираем окошко с открытой картинкой альфаканала 2. Выбираем всё Select -> All (ctrl+A) 3. Копируем в буфер обмена Edit -> Copy (Ctrl + C) 4. Выбираем окошко с открытой картинкой диффуза. 5. Находим окошко Layers. Оно может быть либо отдельным окошком, либо в качестве одной из вкладок (как на скриншоте) Если вы не видите таког окошка, поставьте галочку Window -> Layers. Окошко должно появиться. 6. В нём на строчке Background кликаем правой кнопкой мыши и выбираем Dublicate layer, нажимаем OK. 7. Появился новый слой. В окошке выбираем опять Background и кликаем на кнопке с мусоркой внизу окошка Layers, на вопрос отвечаем Yes. 8. Находим окошко Channels. Оно может быть либо отдельным окошком, либо в качестве одной из вкладок (как на скриншоте) Если вы не видите такого окошка, поставьте галочку Window -> Channels. Окошко должно появиться. 9. Нажимаем на кнопку New внизу окошка: 10. У вас появился новый канал Alpha 1, он весь чёрный. Именно сюда нужно и вставить альфаинформацию, которую мы ранее скопировали в буфер обмена. Делаем это: Edit -> Paste (Ctrl+V) 11. Нажимаем на кнопку Load channel as selection. 12. В окошке Channels выбираем строчку RGB. 13. Обращаем выделение Select -> Inverse selection (Ctrl+Shift+I) 14. Вычищаем Edit -> Clear (клавиша Delete) 15. Сохраняем в PNG 16. Дальнейшие параметры не меняем. 17. Готово! Сохранение в B3D. Понадобится установленный на Макс плугин B3D Pipeline (ссылка в названии). Как его устанавливать и прочее - смотрите по той же ссылке. 1. Открываем нужную модель в Максе. 2. Открываем редактор материалов, кликнув по кнопке: (клавиша M) 3. Выбираем первую свободную ячейку с серым шариком. Давим на кнопку Standard 4. Выбираем в списке B3D Brush. 5. Давим на самую верхнюю кнопку None 6. Выбираем Blitz3D Map 7. Давим на кнопку None: http://img404.imageshack.us/img404/6003/mapj.png 8. Указываем путь к файлу текстуры с альфаканалом (tga, png, dds) 9. Ставим галку Masked 10. Выделяем объект в окне просмотра. (кликаем на него или выделяем рамочкой) 11. В редакторе материалов применяем материал на него при помощи такой кнопки: Показать текстуру в окне просмотра (только диффуз) можно этой кнопкой: 12. Готово! При экспорте в b3d не забудьте указать галки Materials и Textures! Вот так выглядит модель при загрузке её командой LoadMesh: |
Ответ: Как сделать текстуру с альфамаской.
альтернативный вариант получения тексы с альфой (по крайней мере так делал я)): копируем диффуз на новый созданный имедж с альфой, затем Layers->Add Layer Mask->Reveal All, получаем маску (в layers появится справа от картинки самого слоя). Жмём Алт+ЛКМ по картинке маски и попадаем в её редактирование - пейстим сюда наше чб изображение маски.
Снова жмём Алт+ЛКМ по картинке слоя чтобы перейти обратно в его редактирование. |
Ответ: Как сделать текстуру с альфамаской.
поднимаю на всякий случай
|
Ответ: Как сделать текстуру с альфамаской.
Цитата:
К слову в jpeg тоже можно хранить альфа-канал, но конечно блиц такого не поддерживает. |
Ответ: Как сделать текстуру с альфамаской.
Про BMP не знал.
Про JPEG — это часть стандарта или самодеятельность? |
Ответ: Как сделать текстуру с альфамаской.
Цитата:
Там есть неиспользуемые в большинстве случаев чанки с маркерами APP#, если не ошибаюсь их 8 штук, первый иногда юзается для хранения метаданных. |
Re: Как сделать текстуру с альфамаской.
Вложений: 2
Про JPG и альфа канал. Есть два способа.
1) Хранить альфа слой в мета данных попиксельно - полная самодеятельность. Используется , например, в игре суперкорова. В аттаче jpg картинка, если открыть hex редактором (или хотя бы блокнотом) то последние 64х64 байтов - это альфа канал. В аттаче также соответствующая ей png с общепринятой альфой 2) Хранить информацию об альфе в виде векторной маски, также в метаданных. Используется реже, но используется и вроде как является принятым стандартом. Как правило в графических редакторах только. |
Ответ: Как сделать текстуру с альфамаской.
Попробовал все три способа, с png (с bmp тоже) не получилось. Лучше её просто с прозрачностью для альфы грузить.
TGA и dds отлично работают с альфой. Однако tga как маска, почему-то не работает (в хорсе всё пашет). DDS попробовал самым последним, т. к. грузил через 9-й макс, у него на семёрке dds плагин не работает. К счастью у меня установлен ещё 2008-й. DDS пашет на блице как альфа, так и маска, но надо в плагине при сохранение ставить не DXT3, а DXT5. Вывод: маска таким сделанная таким образом получается без чёрных пикселей. Прозрачность не везде заюзать можно, ибо противный туннельный эффект, проблему решил с помощью этой библиотеки, спокойно работает на последней версии блица. P. S. Библиотека выше нифига не помогает в случае с ашадовом. |
Часовой пояс GMT +4, время: 15:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot