Стыки тайлов

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Стыки тайлов

Сообщение Order 03 апр 2012, 09:21

Здравствуйте, есть проблема с отображением тайлов.

Когда текстуры были отдельно, стыки плашек были не видны.
Как только сделал атлас AtlasTileSurface.PackTextures(Tex, 0, 1024, false);
с краев тайлов появились следы соседних текстур.

Сделал AtlasTileSurface.PackTextures(Tex, 1, 1024, false); и Tex[i].wrapMode = TextureWrapMode.Clamp;
С края тайла -1 пиксель прозрачные.

поставил атласу Atlas.filterMode = FilterMode.Point;
отображаться стало нормально, но при удалении или движении камеры "перспектива" видны швы.
В окне редактора так же видно, при определенном расстоянии.

Скрытый текст:
Изображение
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Стыки тайлов

Сообщение waruiyume 03 апр 2012, 10:04

Это из-за MipMap, лечится небольшим зазором между отдельными частями текстуры и "размазыванием" крайних пикселей, на прозрачную часть картинки.
http://www.unity3d.ru/distribution/viewtopic.php?f=105&t=7672
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Стыки тайлов

Сообщение Order 03 апр 2012, 11:04

генерацию MipMap отключал, текстуры зациклены, мне нужно чтобы все сливалось.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Стыки тайлов

Сообщение raul82 03 апр 2012, 11:32

это скорее всего из за билинейной/ трилинейной фиьтрации
вот как бы описанный метод вверху, сделать на лету?
5 годиков 7 месяцев
Аватара пользователя
raul82
Старожил
 
Сообщения: 506
Зарегистрирован: 21 янв 2011, 17:48
Откуда: Алматы

Re: Стыки тайлов

Сообщение Order 03 апр 2012, 11:47

Какой метод ?

Вопрос частично решился,

Если сделать AtlasTileSurface.PackTextures(Tex, 0, 1024, false); и Atlas.filterMode = FilterMode.Point;
то стыки не видно :)

Видно небольшие косяки при быстром перемещении камеры, но с этим можно смириться уже.
Осталось протестировать на айфоне.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Стыки тайлов

Сообщение raul82 03 апр 2012, 11:58

Order писал(а):Какой метод ?

Вопрос частично решился,

Если сделать AtlasTileSurface.PackTextures(Tex, 0, 1024, false); и Atlas.filterMode = FilterMode.Point;
то стыки не видно :)

Видно небольшие косяки при быстром перемещении камеры, но с этим можно смириться уже.
Осталось протестировать на айфоне.

то что написал варьйоми.

FilterMode.Point ставят если 1 юнит=1пикселю, иначе качество гуано(да и вообще FilterMode.Point гуано) имхо
сравните картинку в юнити и в фотошопе-можно увидеть разницу.
5 годиков 7 месяцев
Аватара пользователя
raul82
Старожил
 
Сообщения: 506
Зарегистрирован: 21 янв 2011, 17:48
Откуда: Алматы

Re: Стыки тайлов

Сообщение gnoblin 03 апр 2012, 17:10

можно выводить графику без потери качества по-сравнению с фотошопом.

point есть смысл ставить если камера не двигается,
а так вообще ставим билинейную фильтрацию, сдвигаем спрайты на полпикселя и получаем идеальную картинку - при движении спрайтов или камеры косяков не заметно.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стыки тайлов

Сообщение gnoblin 03 апр 2012, 17:13

а зачем запекать одинаковые тайлящиеся текстуры в атлас? (или я не понял как выглядит атлас...)

выводить мешики пиксель в пиксель можно и для перспективной камеры.

если ты планируешь зумить камеру, то мипмапы тебе скорее всего понадобятся
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стыки тайлов

Сообщение Order 04 апр 2012, 05:27

про пол пикселя подробнее, расстояние между спрайтами уменьшить ? чтобы не было видно рамки из прозрачных пикселей ? или uv координаты ?
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Стыки тайлов

Сообщение raul82 04 апр 2012, 06:36

еще б узнать как в том же максе текстуры пиксель в пиксель укладывать :) чтоб потом можно было сдвигать их на пол пикселя
5 годиков 7 месяцев
Аватара пользователя
raul82
Старожил
 
Сообщения: 506
Зарегистрирован: 21 янв 2011, 17:48
Откуда: Алматы

Re: Стыки тайлов

Сообщение gnoblin 04 апр 2012, 14:26

Order писал(а):про пол пикселя подробнее, расстояние между спрайтами уменьшить ? чтобы не было видно рамки из прозрачных пикселей ? или uv координаты ?

можно просто всю сцену сдвинуть на полпикселя, можно двигать ув координаты (обычный сдвиг в пространстве вроде легче осуществить :) )

(про рамку из прозрачных пикселей не понял)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Стыки тайлов

Сообщение waruiyume 04 апр 2012, 17:55

Решил опробовать способ с "размазыванием"- не торт: издалека стыки почти незаметны, а вблизи видны, в виде резких переходов (то-же самое, кстати, будет и без атласа, если поставить текстурам TextureWrapMode.Clamp).
Скрытый текст:
Слева- атлас, справа- мультиматериал.
wsad, мышь
HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://dl.dropbox.com/u/23279033/tile.unity3d&w=640&h=480&t=true&preview=1' height='"+(480+30)+"' width='640' frameborder='0' scrolling='no'></iframe>"); </script>


Исходник. Осторожно говнокод!

А у вас продвинулось?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Стыки тайлов

Сообщение Woolf 04 апр 2012, 22:30

Есть два метода решения этой проблемы - простой и правильный.

Простой - текстуры не вплотную ставить, а через некий зазор, чтобы при построении мипмапов тексели соседних текстур не влияли друг на друга. Будете иметь проблемы с расчётом координат текстуры в атласе.
Правильный - построить мипмапы самому и "запилить" их в DDS формат. Юнити такой способ понимает.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Стыки тайлов

Сообщение waruiyume 05 апр 2012, 00:00

А что делать с резким переходом? Он возникает и без атласа, если поставить wrap mode clamp.
Скрытый текст:
Изображение
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Стыки тайлов

Сообщение gnoblin 05 апр 2012, 00:12

waruiyume писал(а):А что делать с резким переходом, он возникает и без атласа, если поставить wrap mode clamp?
Скрытый текст:
Изображение


использовать repeat?
наверное я не совсем понял что мы пытаемся сделать :D
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

След.

Вернуться в Почемучка

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19