Render.ru

Искажения на полюсах сферы

Salmarsh

Пользователь сайта
Рейтинг
4
#1
Доброго времени суток всем. Помогите пожалуйста советом, ссылкой, как затекстурировать сферу( делаю планеты для игры), чтобы они получались без искажений на полюсах. Что то типа стягивания. Применял модификатор uvw map и на стандартную сферу, и геосферу, и сглаженный куб. Результат один и тот же. Текстуру использую подготовленную в фотошопе с растягиванием к полюсам. Готовые текстуры планет с инета так же искажает. Весь интернет облазил в поисках ответа. Неужели проблема никак не решается?
 

Вложения

^_^

Знаток
Рейтинг
52
#2
1) сделай нормальную развёртку с помощью Unwrap uvw
2) и затекстурируй руками,или запеки текстуру со своей планеты, а потом перетекстурируй на полюсах.
 

Salmarsh

Пользователь сайта
Рейтинг
4
#3
А как создать такую развертку, чтобы равноугольная карта скачанная или сделаная ложилась без искажений? Я знаю что можно сделать развертку и отфотошопить. Но объем планет надо создать большой. В случае если бы нужна была бы одна, я так бы и сделал(подогнал бы в фотошопе). Но требуется порядка 50 планет. Или может есть готовые сферы с нужной разверткой на которую текстуры лягут ровно. Один выход я нашел, но он слишком громоздкий. Создается куб, делится на грани. Далее на каждую грань накладывается нужная проекция. но это не выход, т.к каждые из 6 картинок нужно отбампить и тд. Размер такого материала составит 50 мб. это очень много для нашего проекта. Проблема мне видится в этих треугольниках, за пределами которых текстура не захватывается. Пробовал двигать их и так и сяк.
Screenshot_1.png
 

Salmarsh

Пользователь сайта
Рейтинг
4
#5
Немного модернизировал твой вариант. Делается куб, применяется модификатор сферы.Делается, его развертка, соединяется крестом, растягивается на весь кластер.Потом равноугольная текстура любой удобной программой делится на 6 проекций. Соединяется в шопе или Cubemapgenom в ту же форму креста.И все. Есть идеи как еще можно оптимизировать у кого?
 

Вложения

Симпатии: ^_^

^_^

Знаток
Рейтинг
52
#6
Крутой вариант, для большого объёма вполне оптимальный, так кстати окружения делают.
разве что юви пространство слабо занято.
Я бы сделал швы на каждой грани, и сделал бы текстуру размером x на 6x, например 512 на 3072 (там 6 проекций подряд, всё очень чётко, пиксель в пиксель и занято всё пространство), как не крути начиная с какого-то близкого расстояния швы будут видны, хоть так хоть так. Но, если оптимизировать развёртку (в варианте который я предлагаю) минус только в том что швы будут видны все, а плюс (он гораздо значительнее) в том, что расстояние с которого будут видны швы, при том же размере текстуры будет ближе.

Когда будешь делать развёртку, включи привязку к пикселям.
 

Salmarsh

Пользователь сайта
Рейтинг
4
#7
Крутой вариант, для большого объёма вполне оптимальный, так кстати окружения делают.
разве что юви пространство слабо занято.
Я бы сделал швы на каждой грани, и сделал бы текстуру размером x на 6x, например 512 на 3072 (там 6 проекций подряд, всё очень чётко, пиксель в пиксель и занято всё пространство), как не крути начиная с какого-то близкого расстояния швы будут видны, хоть так хоть так. Но, если оптимизировать развёртку (в варианте который я предлагаю) минус только в том что швы будут видны все, а плюс (он гораздо значительнее) в том, что расстояние с которого будут видны швы, при том же размере текстуры будет ближе.

Когда будешь делать развёртку, включи привязку к пикселям.
Тогда получается текстурная развертка из ряда 6 картинок будет растянута по высоте, насколько я правильно понимаю.Можно немного по другому. Если делать текстуру например 3/2 из соответствующих граней 1 к 1, соединенных в две полосы получается неплохой результат. Правда белые полосы. Видно только 3 стыка. Получается если оставляешь совсем чуть чуть зазор, чтобы стык верхней и нижней полосы не наползал друг на друга, то проблема решается. Правда приходится преобразовывать текстуру, что забирает немного времени, но она уже итоговая, и из нее можно делать нужные карты. Пока за рабочий вариант. Может у кого еще появятся идеи как улучшить.
 

Вложения

^_^

Знаток
Рейтинг
52
#8
Тогда получается текстурная развертка из ряда 6 картинок будет растянута по высоте
Не совсем понимаю, о чём ты, ты же всё равно из каждой текстуры создаёшь:
Потом равноугольная текстура любой удобной программой делится на 6 проекций.
6 текстур.
Потом ты эти текстуры размещаешь как тебе угодно в том же фотошопе с привязкой одна к одной
можно и 3x на 2x, не важно... Может ты имеешь ввиду что текстура должна быть квадратной? Так по моему движки поддерживают и прямоугольные текстуры.
А в 3д максе делаешь модель и развёртку всего один раз.

Не совсем понимаю что за белые полосы, текстуру не нужно двигать, мне кажется проблема в развёртке. Если сделать правильно с привязкой к пикселям, то не должно быть никаких "наползаний". При условии что текстуры тоже чётко совмещены.
 

Salmarsh

Пользователь сайта
Рейтинг
4
#9
Не совсем понимаю что за белые полосы
На форуме подсказали что эффект называется ghosting, связанный с мимпами. В любой случае описанный способ помогает. Не нужно двигать текстуру, а нужно править саму развертку, отодвинув сами края полос чуть-чуть друг от друга.

P.S. В некоторых местах при сильном приближений становится видно место стыка. Пока так и не понял как убрать. Есть у кого идеи?
 

Вложения

Сверху