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

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

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

Сообщение LordWerewolf 29 мар 2017, 16:55

И снова здрям, товарищи! Кто сможет помочь кодом?
Есть атлас 2048*2048 с текстурами по 512px (510 рх + border по 1 рх).
Изображение
Нужно функция на (c#) , которая будет доставать вторую текстуру из верхнего ряда.
А разбирая ваш код, я смогу понять, как извлекать другие текстуры из других атласов.
Спасибо.
Последний раз редактировалось LordWerewolf 30 мар 2017, 11:59, всего редактировалось 2 раз(а).
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение DbIMok 29 мар 2017, 17:07

что такое "доставать"? настройте UV координаты у меша и будет отрисован нужный кусочек. если вам для других целей, то https://docs.unity3d.com/ScriptReferenc ... ixels.html
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 17:37

DbIMok писал(а):что такое "доставать"? настройте UV координаты у меша и будет отрисован нужный кусочек. если вам для других целей, то https://docs.unity3d.com/ScriptReferenc ... ixels.html


Ну в смысле, если в материале стоит этот атлас, как ему указать, что именно эту текстуру именно для этой модели использовать? Как и где это настраивать?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение seaman 29 мар 2017, 17:48

Как и где это настраивать?

В программе моделирования. Когда делаете развертку.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

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

Сообщение DbIMok 29 мар 2017, 17:52

правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 18:07

seaman писал(а):
Как и где это настраивать?

В программе моделирования. Когда делаете развертку.


Так модель уже развернута и текстура на ней лежат как надо, когда она отдельно. Но если она в атласе, нужно настроить координаты в атласе, чтобы именно она отражалась а ни какая либо другая.
Как в юньке координаты просчитать и указать?
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение LordWerewolf 29 мар 2017, 18:10

DbIMok писал(а):либо кодом https://docs.unity3d.com/ScriptReference/Mesh.html

нет, мне кажется Вы куда -то не туда меня посылаете :))
Мне нужно найти координаты нужной текстуры в атласе. С помощью scale и offset`a это делается как-то.
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение DbIMok 29 мар 2017, 19:24

Тестовый примерчик
Изображение
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 20:39

DbIMok писал(а):Тестовый примерчик
Изображение


ссылка не рабочая :(
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение DbIMok 29 мар 2017, 20:57

LordWerewolf писал(а):ссылка не рабочая

исправил
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 21:11

DbIMok писал(а):
LordWerewolf писал(а):ссылка не рабочая

исправил


все равно пишет "https://goo.gl/pjPRkC – this goo.gl shortlink has been disabled. It was found to be violating our Terms of Service. Click here and here for more information about our terms and policies respectively."
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение DbIMok 29 мар 2017, 21:17

потому что я исправил в своем посте, а не в вашем (но теперь и в нем)
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 21:39

DbIMok писал(а):потому что я исправил в своем посте, а не в вашем (но теперь и в нем)


Да, супер, то что нужно. Единственное, как Вы координаты считали? Нулевая точка отсчета это верхний-левый угол ?
0,25 - это коэффициент? Если текстура имеет отступ в один пиксель, это значит что коэффициент нужно поправить с учетом 0,0004882 = 1рх ?

Странно... а мне казалось для этого используют функцию SetTextureOffset... видимо я заблуждался больше, чем думал.
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

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

Сообщение DbIMok 29 мар 2017, 22:40

0,0 это левый нижний угол. 1,1 правый верхний. Если нужны точки то uv = x / material.mainTexture.width, 1 - y / material.mainTexture.height
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

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

Сообщение LordWerewolf 29 мар 2017, 23:13

DbIMok писал(а):0,0 это левый нижний угол. 1,1 правый верхний. Если нужны точки то uv = x / material.mainTexture.width, 1 - y / material.mainTexture.height

Большое спасибо, Вы очень помогли! :ympeace:
LordWerewolf
UNIт
 
Сообщения: 81
Зарегистрирован: 04 апр 2016, 13:20

След.

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

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

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