Проблема с текстурой

Ошибки и баги Unity3D

Проблема с текстурой

Сообщение Agasper 15 фев 2011, 12:47

Есть ландшафт сделанный из плоскостей (аля Майнкрафт). Текстура одна на всех. Для каждой плоскости задается UV на текстуре.
Под ногами персонажа все выглядит отлично, но чем дальше, тем больше появлается артефактов.

Так выглядит текстура:
http://img254.imageshack.us/img254/3403/cubemap.png

серое, это под будущие кубики

Так выглядят артефакты:
Изображение

Зеленый цвет присутствует потому что соседняя текстура зеленая, на зеленом ландшафте видны желтые артефакты.

Что помогает от них избавиться:
1. Выключение антиалиасинга + выключение мипмапов
2. Выключение антиалиасинга + установка material.mainTexture.mipMapBias = -5;

Что пробовал:
* Менять размер текстуры. Сокращал до 1*1 пиксель на 1 сторону, все равно разводы зеленые
* Играться со ВСЕМИ настройками Texture Importer (фильтрация, мипмапы, и т.д.). Максимум все сводится к тому что разводов нет, но рябит в глазах от излишней четкости.
* Создавать свою текстуру .dds
* Написать свой шейдер, в котором меняются детальная текстура и обычная. Лечит от мипмапов, но при включенном антиалиасинге все возвращается.

Если кто-то знает куда копать, подскажите, без АА выглядит все убого :-\
_www.agasper.net
CEO Solar Games Ltd.
Наши игры: _www.solar-games.net
Agasper
UNIт
 
Сообщения: 69
Зарегистрирован: 13 фев 2011, 20:20
Откуда: Ростов-на-Дону
  • Сайт

Re: Проблема с текстурой

Сообщение discouraged_one 15 фев 2011, 13:13

Внимание думаем - у вас есть атлас текстур (который вы небось еще в unity же и пакуете - вообще п**ц - оно не работает 8)) И теперь вы просите мип-мапы сверху. Догадались? Генерация мип-мапов вообще ничего не знает про ваш атлас - оно бежит по картинке берет блок и уменьшеает (грубо говоря) - вот у вас получается что далеко - mipmap-bleeding (добавьте сюда еще и фильтрацию - вообще хорошо будет).
Так что попробуйте не использовать атлас а кучу текстур наложенных по одной с mip-maps и anisotropic filtering - должно быть счастье
Unity Technologies
Аватара пользователя
discouraged_one
Unity Technologies
 
Сообщения: 197
Зарегистрирован: 19 май 2010, 15:56

Re: Проблема с текстурой

Сообщение Agasper 15 фев 2011, 13:17

Нет это не атлас. Эту текстуру я делаю сам в фотошопе. Анизотропная фильтрация - максимум, но она особо не влияет на артефакты выше.
_www.agasper.net
CEO Solar Games Ltd.
Наши игры: _www.solar-games.net
Agasper
UNIт
 
Сообщения: 69
Зарегистрирован: 13 фев 2011, 20:20
Откуда: Ростов-на-Дону
  • Сайт

Re: Проблема с текстурой

Сообщение discouraged_one 15 фев 2011, 13:25

Текстура одна на всех

Это и называется атлас
Посмотрите на вашу dds - там всё это видно.
Единственный вариант - это сделать padding и обрезать mip-maps снизу - но я не знаю умеет ли это unity. Короче, ваша проблема никакого отношения к unity не имеет ;-)
Unity Technologies
Аватара пользователя
discouraged_one
Unity Technologies
 
Сообщения: 197
Зарегистрирован: 19 май 2010, 15:56

Re: Проблема с текстурой

Сообщение Agasper 15 фев 2011, 13:29

Ладно с мипмапами проблему решу (выключу и сделаю шейдером). Как быть насчет того что при включенном АА опять зелень выступает. Кроме паддинга тут ничего не поможет ?
_www.agasper.net
CEO Solar Games Ltd.
Наши игры: _www.solar-games.net
Agasper
UNIт
 
Сообщения: 69
Зарегистрирован: 13 фев 2011, 20:20
Откуда: Ростов-на-Дону
  • Сайт

Re: Проблема с текстурой

Сообщение discouraged_one 15 фев 2011, 13:39

Шейдером? Это как 8)
Вы вообще поняли в чем проблема? (я не издеваюсь). Когда вы используте MSAA оно фактически не пиксель выдает из шейдера а n фрагментов (типа пиксели рядом) - хотя эффект всё равно странный, не спорю.
Но ввы попробуйте (пока еще с кубиками эксперементируете) - сделать всем свою отдельную текстуру (для вашего примера хватит 3-х) - посмотрите как всё хорошо будет 8)
Unity Technologies
Аватара пользователя
discouraged_one
Unity Technologies
 
Сообщения: 197
Зарегистрирован: 19 май 2010, 15:56

Re: Проблема с текстурой

Сообщение Battle Angel Alita 15 фев 2011, 17:38

>Если кто-то знает куда копать, подскажите, без АА выглядит все убого
Антиалиясинг тут не при чём
1. делай мип-мапы в ручную
2. делай паддинг между текстурами хотя-бы пикселя четыре
Мозг рака
Изображение
Аватара пользователя
Battle Angel Alita
UNIверсал
 
Сообщения: 476
Зарегистрирован: 25 ноя 2009, 14:52

Re: Проблема с текстурой

Сообщение Paul Siberdt 15 фев 2011, 17:47

А что мешает создать дюжину отдельных текстур и горя не знать?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Проблема с текстурой

Сообщение Agasper 15 фев 2011, 18:58

1. мипмапы вручную не помогает
2. не совсем понимаю в чем проблема
3. с отдельной текстурой никак, потому что все что вы видите на скриншоте является одним объектом и на нем один материал с одной текстурой.
_www.agasper.net
CEO Solar Games Ltd.
Наши игры: _www.solar-games.net
Agasper
UNIт
 
Сообщения: 69
Зарегистрирован: 13 фев 2011, 20:20
Откуда: Ростов-на-Дону
  • Сайт

Re: Проблема с текстурой

Сообщение discouraged_one 15 фев 2011, 19:15

2. не совсем понимаю в чем проблема
3. с отдельной текстурой никак, потому что все что вы видите на скриншоте является одним объектом.

Я не понимаю вы ищите проблему или решение.

Читайте как работают мип-мапы, и как работают мип-мапы с текстурными атласами. И будет вам счастье.
Unity Technologies
Аватара пользователя
discouraged_one
Unity Technologies
 
Сообщения: 197
Зарегистрирован: 19 май 2010, 15:56

Re: Проблема с текстурой

Сообщение Agasper 15 фев 2011, 19:23

Я ищу решение :)
Да фик с мипмапами, я их выключить могу. Меня АА больше беспокоит. Я просто не могу понять зачем он берет цвет соседнего пикселя если в UV четко прописаны координаты [curved_hands]
_www.agasper.net
CEO Solar Games Ltd.
Наши игры: _www.solar-games.net
Agasper
UNIт
 
Сообщения: 69
Зарегистрирован: 13 фев 2011, 20:20
Откуда: Ростов-на-Дону
  • Сайт

Re: Проблема с текстурой

Сообщение discouraged_one 15 фев 2011, 19:26

http://en.wikipedia.org/wiki/Multisample_anti-aliasing
. If the pixel center is outside the triangle, shading inputs are extrapolated. Extrapolation can be avoided by using centroid sampling, where the shading inputs are sampled at the covered multisample location nearest to the pixel center, but may result in non-uniform screen space sampling near edges
говорил же читать 8) [ну ладно не упомянул про aa - но это ж не повод]
Unity Technologies
Аватара пользователя
discouraged_one
Unity Technologies
 
Сообщения: 197
Зарегистрирован: 19 май 2010, 15:56

Re: Проблема с текстурой

Сообщение Neodrop 15 фев 2011, 19:47

Вам же уже посоветовали. Сделайте дистанцию между вашими текстурами побольше. На несколько пикселей. Точнее, сами текстуры несколько избыточными. Для UV берите меньше квадрат, чем тот, что забит в атлас. Таким образом, при генерации мипмап, у вас не будет смешивания, которое происходит из-за интерполяции цветов ближних пикселей на малых ступенях мипмапа.
Тьфу.. Надеюсь, понятно объяснил? А то рисовать мне несподручно.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Глюки

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 2