Страница 2 из 2

Re: Извлечение текстур из атласа [РЕШЕНО]

СообщениеДобавлено: 29 мар 2017, 23:50
MANMANA

Re: Извлечение текстур из атласа

СообщениеДобавлено: 30 мар 2017, 12:18
LordWerewolf
LordWerewolf писал(а):
DbIMok писал(а):Тестовый примерчик
Изображение


Что-то не выходит у меня каменный цветок... ( выдает ошибку: "Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.")
Как исправить? Что ни так?

вот что сейчас получается:
Изображение

слева -
модель Изображение + текстура Изображение

а справа - модель Изображение + текстура Изображение + Ваш код

Re: Извлечение текстур из атласа

СообщениеДобавлено: 30 мар 2017, 12:47
DbIMok
Код расчитан на простой конкретный объект quad. Если объект сложный, то его uv координаты устанавливаются в 3d редакторе сразу из атласа. Либо, если он был затекстурен отдельной текстуркой, которая затем помещена в атлас, одновременно должны быть пересчитаны и координаты на модели. Т.е. вам нужно или переделать все правильно или автоматически пересчитать uv для каждого вертекса модели из расчета, что 0,0 теперь равно 0.25,0.75 а 1,1 равно 0.5,1

Re: Извлечение текстур из атласа

СообщениеДобавлено: 30 мар 2017, 14:38
LordWerewolf
DbIMok писал(а):Код расчитан на простой конкретный объект quad. Если объект сложный, то его uv координаты устанавливаются в 3d редакторе сразу из атласа. Либо, если он был затекстурен отдельной текстуркой, которая затем помещена в атлас, одновременно должны быть пересчитаны и координаты на модели. Т.е. вам нужно или переделать все правильно или автоматически пересчитать uv для каждого вертекса модели из расчета, что 0,0 теперь равно 0.25,0.75 а 1,1 равно 0.5,1


Я Вас правильно понял: нужно в 3д редакторе сделать развертку сразу на атлас а не на отдельную текстуру? Блин, не думал, что работа с атласом текстур такая замороченная.
А с помощью чего пересчитываются новые координаты в Юньке?

Вообще это того стоит, атласы использовать? У меня проект под WebGL, а там есть строгое ограничение памяти. Стоит ли загружать весь атлас с 16 текстурами в память, если из 16 будет использованно лишь 1-2 ?

Re: Извлечение текстур из атласа

СообщениеДобавлено: 30 мар 2017, 15:48
DbIMok
LordWerewolf писал(а):А с помощью чего пересчитываются новые координаты в Юньке?

с помощью того инструмента, что делает атлас. либо вы можете сделать это скриптом сами, указав координаты текстуры в атласе
LordWerewolf писал(а):стоит, атласы использовать?

зависит от количества объектов с одинаковым материалом. если их несколько штук, то особой разницы нет. если десятки/сотни/тысячи то выигрыш может быть существенный
LordWerewolf писал(а):если из 16 будет использованно лишь 1-2 ?

не обязательно использовать 4х4, можно и 1х2

Re: Извлечение текстур из атласа

СообщениеДобавлено: 30 мар 2017, 18:36
LordWerewolf
DbIMok писал(а):с помощью того инструмента, что делает атлас. либо вы можете сделать это скриптом сами, указав координаты текстуры в атласе

Так я и не врубился, как указывать координаты. Атлас в фотошопе собираю и не помню там таких инструментов ... ~x(
DbIMok писал(а):зависит от количества объектов с одинаковым материалом. если их несколько штук, то особой разницы нет. если десятки/сотни/тысячи то выигрыш может быть существенный

Как бы вы поступили в подобном примере? Возьмем конструктор лего. Он состоит из сотен а то и тысяч разных блоков. У каждого своя текстура. Тоесть сотни или тысячи материалов получается. И не известно что построит пользователь. Он может построить целый замок из тысячи одинаковых блоков, а может робота из сотен разных блоков. В первом случае атлас конечно выгоден, пара материалов с парой атласов на целый замок. А во втором выгода уже спорная... тоесть заранее не известно сколько и каких объектов будет на сцене.

Re: Извлечение текстур из атласа

СообщениеДобавлено: 31 мар 2017, 00:05
MANMANA
LordWerewolf писал(а):
DbIMok писал(а):с помощью того инструмента, что делает атлас. либо вы можете сделать это скриптом сами, указав координаты текстуры в атласе

Так я и не врубился, как указывать координаты. Атлас в фотошопе собираю и не помню там таких инструментов ... ~x(

Texture2D.PackTextures
Create and save a Atlas texture with scripting
...

Re: Извлечение текстур из атласа

СообщениеДобавлено: 31 мар 2017, 09:49
LordWerewolf
MANMANA писал(а):
LordWerewolf писал(а):
DbIMok писал(а):с помощью того инструмента, что делает атлас. либо вы можете сделать это скриптом сами, указав координаты текстуры в атласе

Так я и не врубился, как указывать координаты. Атлас в фотошопе собираю и не помню там таких инструментов ... ~x(

Texture2D.PackTextures
Create and save a Atlas texture with scripting
...


Спасибо, очень кстати :)

Re: Извлечение текстур из атласа

СообщениеДобавлено: 31 мар 2017, 16:00
DbIMok
для пересчета моделей можно использовать что-то типа https://goo.gl/IXjLdb только забакапьте проект/модельки чтобы не попортить

Re: Извлечение текстур из атласа

СообщениеДобавлено: 01 апр 2017, 12:43
LordWerewolf
DbIMok писал(а):для пересчета моделей можно использовать что-то типа https://goo.gl/IXjLdb только забакапьте проект/модельки чтобы не попортить


Как интересно... Спасибо, буду эксперементировать :ympeace: