3D Max: Текстурирование
nikkoN
Профессионал
3/28/2007, 8:09:29 PM
Всех кто разобрался или только начинает разбираться с плугином UnwrapMap прошу сюда для обсуждения методов текстурирования с помощю плугина UnwrapMap.
crimecat
Любитель
3/28/2007, 8:13:20 PM
nikkoN,
давай сначала закончим с цилиндром...
На каких моментах у тебя возникли вопросы?
давай сначала закончим с цилиндром...
На каких моментах у тебя возникли вопросы?
nikkoN
Профессионал
3/28/2007, 8:17:07 PM
(crimecat @ 28.03.2007 - время: 16:13) nikkoN,
давай сначала закончим с цилиндром...
На каких моментах у тебя возникли вопросы?
Текстура на центральной части цилиндра больше чем на торцах. Когда надо масштабировать и как текстуру, чтоб она была одинаковая? Ведь когда я масштабирую в унврапе центральную часть, текстура увеличивается.
давай сначала закончим с цилиндром...
На каких моментах у тебя возникли вопросы?
Текстура на центральной части цилиндра больше чем на торцах. Когда надо масштабировать и как текстуру, чтоб она была одинаковая? Ведь когда я масштабирую в унврапе центральную часть, текстура увеличивается.
crimecat
Любитель
3/28/2007, 8:33:30 PM
--
Теперь отмечаем боковую поверхность цилиндра и анврапим ее.
Для начала велдим точки.
Затем выбираем масштабирование по оси Y и сжимаем (или разжимаем) развертку так, чтобы прямоугольники на боковой поверхности объекта превратились в квадраты.
---
Собственно, нам нужен этот инструмент:
https://sxn.io/gallery/1174945746/..._1175084865.jpg
-
Если речь идет о масштабировании ВСЕЙ текстуры, то ее подгонять необязательно.
Обязательно стоит подогнать торцы друг под друга.
Подгонять лучше после того, как мы разложим все части по поверхности.
-
Теперь отмечаем боковую поверхность цилиндра и анврапим ее.
Для начала велдим точки.
Затем выбираем масштабирование по оси Y и сжимаем (или разжимаем) развертку так, чтобы прямоугольники на боковой поверхности объекта превратились в квадраты.
---
Собственно, нам нужен этот инструмент:
https://sxn.io/gallery/1174945746/..._1175084865.jpg
-
Если речь идет о масштабировании ВСЕЙ текстуры, то ее подгонять необязательно.
Обязательно стоит подогнать торцы друг под друга.
Подгонять лучше после того, как мы разложим все части по поверхности.
-
nikkoN
Профессионал
3/28/2007, 8:40:29 PM
(crimecat @ 28.03.2007 - время: 16:33)
Собственно, нам нужен этот инструмент:
Если речь идет о масштабировании ВСЕЙ текстуры, то ее подгонять необязательно.
Обязательно стоит подогнать торцы друг под друга.
Подгонять лучше после того, как мы разложим все части по поверхности.
-
Я этот инструмент масштаба и использовал. Значит текстуру в процессе Унврап мапига подгонять необязательно? А про подгонку торцов ты еще неписал.
Собственно, нам нужен этот инструмент:
Если речь идет о масштабировании ВСЕЙ текстуры, то ее подгонять необязательно.
Обязательно стоит подогнать торцы друг под друга.
Подгонять лучше после того, как мы разложим все части по поверхности.
-
Я этот инструмент масштаба и использовал. Значит текстуру в процессе Унврап мапига подгонять необязательно? А про подгонку торцов ты еще неписал.
crimecat
Любитель
3/28/2007, 8:55:25 PM
Оки...
Напишу.
Подгонять торцы лучше в самом конце, когда видна будет вся раскладка и понятно, какие размеры занимает каждый элемент.
-
Если речь идет о высокополигональных моделях, где мы можем позволить себе несколько текстур на один объект и размер текстуры значения не имеет, для простоты работы можно подогнать все под один масштаб.
В игровом низкополигонале действуют другие правила.
-
И еще один момент.
Для экономии можно накладывать повторяющиеся элементы друг на друга.
Напишу.
Подгонять торцы лучше в самом конце, когда видна будет вся раскладка и понятно, какие размеры занимает каждый элемент.
-
Если речь идет о высокополигональных моделях, где мы можем позволить себе несколько текстур на один объект и размер текстуры значения не имеет, для простоты работы можно подогнать все под один масштаб.
В игровом низкополигонале действуют другие правила.
-
И еще один момент.
Для экономии можно накладывать повторяющиеся элементы друг на друга.
nikkoN
Профессионал
3/28/2007, 9:08:52 PM
Ну, вроде все получилось как у тебя. Отрендерил развертку. Закинул в фотошоп. Да, в фотошопе я несилен, текстуру которая мне надо, надо накладывать именно на фигуры на развертки или как? И подгоняется текстура на модели уже после фотошопа? Сорри, пока немогу врубиться. И как должна выглядеть развертка из шопа? Можеш скрин сделать?
crimecat
Любитель
3/28/2007, 9:20:46 PM
Оки, сейчас сделаю...
-
По твоему скрину. Развертка боковой части слишком СЖАТА по вертикали.
Поэтому квадратики на модели получились вытянутыми.
Для работы с текстурой неудобно.
-
По твоему скрину. Развертка боковой части слишком СЖАТА по вертикали.
Поэтому квадратики на модели получились вытянутыми.
Для работы с текстурой неудобно.
crimecat
Любитель
3/28/2007, 9:40:41 PM
Значит, смотри...
Вот так выглядит сама текстура в шопе:
-
Если наложить на нее темплейт (шаблон):
---
Затем мы назначаем материалу на диффузную карту битмап, указываем битмапу на нашу текстуру и на рендере получаем:
Вот так выглядит сама текстура в шопе:
-
Если наложить на нее темплейт (шаблон):
---
Затем мы назначаем материалу на диффузную карту битмап, указываем битмапу на нашу текстуру и на рендере получаем:
nikkoN
Профессионал
3/28/2007, 9:44:48 PM
ОК. Щас буду пробовать!
nikkoN
Профессионал
3/29/2007, 12:10:49 AM
Вроде все получилось. Теперь можно на капсулу переходить?
П.С. А чего во вьюпорте у меня текстура такая размытая? Какое разрешение надо делать в шопе для развертки?
П.С. А чего во вьюпорте у меня текстура такая размытая? Какое разрешение надо делать в шопе для развертки?
crimecat
Любитель
3/29/2007, 4:14:06 PM
Во вьюпорте отображается не полная текстура, а ее превьюха.
Размер превьюхи зависит от начальных установок графического драйвера.
Устанавливается через customize -> preferences -> viewports ->configure driver... ->download texture size - макс. значение 512 точек.
-
Добиться большего разрешения для текстур во вьюпорте не получится.
-
Собственно, вьюпорты нужны для ПРЕДпросмотра перед рендером.
Отображать ВСЕ текстуры во вьюпорте будет накладно для ресурсов машины.
---
Теперь о размере...
Если не планируешь делать текстуру универсальной и нужна она только для одной сцены, тогда раза в 2-3 больше, чем финальное изображение.
-
Берем этот цилиндр. Смотрим на конечный рендер.
Допустим, в финале высота цилиндра - 100 пикселей.
Соответственно, размер текстуры должен быть таким, чтобы кусок текстуры, отвечающий за ценральную часть цилиндра был в высоту 200-300 пикселей.
Пропорцию составить, имхо, несложно...
-
Откуда взялось число 2-3, почему не больше и не меньше?...
При рендере текстуры прогоняются через фильтр (неважно, со сглаживанием или без него) - близлежащие точки суммируются по цвету и выводится среднее значение.
-
Слишком детальные текстуры качества не добавят, но память и время просчета увеличат очень сильно. Ну, и проработка более детальной текстуры в шопе займет гораздо больше времени...
-
А почему не меньше?..
Если текстура окажется по размеру меньше, чем финальное изображение, то появится эффект "пикселизации" - когда каждая точка текстуры на рендере превращается в квадратик.
-
Если делаешь универсальную текстуру, например, на японскую вазу IX века, которую будешь использовать в каждом втором интерьере, тогда лучше сделать очень качественную текстуру высокого разрешения - никто не знает, где в интерьере окажется эта ваза, а уменьшить под конкретный интерьер всегда успеешь.
---
Про цилиндр вроде бы все...
Или есть еще вопросы?...
И что не понятно с капсулой?
Размер превьюхи зависит от начальных установок графического драйвера.
Устанавливается через customize -> preferences -> viewports ->configure driver... ->download texture size - макс. значение 512 точек.
-
Добиться большего разрешения для текстур во вьюпорте не получится.
-
Собственно, вьюпорты нужны для ПРЕДпросмотра перед рендером.
Отображать ВСЕ текстуры во вьюпорте будет накладно для ресурсов машины.
---
Теперь о размере...
Если не планируешь делать текстуру универсальной и нужна она только для одной сцены, тогда раза в 2-3 больше, чем финальное изображение.
-
Берем этот цилиндр. Смотрим на конечный рендер.
Допустим, в финале высота цилиндра - 100 пикселей.
Соответственно, размер текстуры должен быть таким, чтобы кусок текстуры, отвечающий за ценральную часть цилиндра был в высоту 200-300 пикселей.
Пропорцию составить, имхо, несложно...
-
Откуда взялось число 2-3, почему не больше и не меньше?...
При рендере текстуры прогоняются через фильтр (неважно, со сглаживанием или без него) - близлежащие точки суммируются по цвету и выводится среднее значение.
-
Слишком детальные текстуры качества не добавят, но память и время просчета увеличат очень сильно. Ну, и проработка более детальной текстуры в шопе займет гораздо больше времени...
-
А почему не меньше?..
Если текстура окажется по размеру меньше, чем финальное изображение, то появится эффект "пикселизации" - когда каждая точка текстуры на рендере превращается в квадратик.
-
Если делаешь универсальную текстуру, например, на японскую вазу IX века, которую будешь использовать в каждом втором интерьере, тогда лучше сделать очень качественную текстуру высокого разрешения - никто не знает, где в интерьере окажется эта ваза, а уменьшить под конкретный интерьер всегда успеешь.
---
Про цилиндр вроде бы все...
Или есть еще вопросы?...
И что не понятно с капсулой?
nikkoN
Профессионал
3/29/2007, 6:04:07 PM
(crimecat @ 29.03.2007 - время: 12:14)
Про цилиндр вроде бы все...
Или есть еще вопросы?...
И что не понятно с капсулой?
С цилиндром все получилось, и вопросов вроде нет. Там впринципе все UV планарные. У капсулы же торцы сферичесские. Может ее надо на 3 ID разбить, и на каждый подобъект свои координаты? (торцы сферич. UV средина цилиндр).Хотя я пробовал и те и те накладывать, все равно текстура неровно ложиться. И ты говорил про соединение граней, как это делать?
Про цилиндр вроде бы все...
Или есть еще вопросы?...
И что не понятно с капсулой?
С цилиндром все получилось, и вопросов вроде нет. Там впринципе все UV планарные. У капсулы же торцы сферичесские. Может ее надо на 3 ID разбить, и на каждый подобъект свои координаты? (торцы сферич. UV средина цилиндр).Хотя я пробовал и те и те накладывать, все равно текстура неровно ложиться. И ты говорил про соединение граней, как это делать?
crimecat
Любитель
3/29/2007, 6:43:54 PM
Так, суть проблемы с капсулой ты уловил, респект!..
-
Что делать со сферическими торцами?
Надо определиться, как нам будет удобнее их обрабатывать в шопе.
Вариантов здесь три:
1. Использовать планарный маппинг (и пофиг искажения у краев).
2. Использовать сферический маппинг (искажения на концах капсулы)
3. Использовать опцию Unfold (затруднена обработка в фотошопе)
4. Применить комбинированную карту.
-
С первым вариантом все уже понятно и было описано раньше.
Вариант 2 - сферический маппинг.
Для того, чтобы раскладка легла нормально, сферическую карту надо подогнать.
-
Выделяем одну из сфер, применяем к ней сферический UVW Mapping.
Развернем примененный модификатор UVW Mapping, кликнув по плюсику слева.
Выбираем подобъект Gizmo и сдвигаем его к центру цилиндра.
Затем подбираем нужный радиус, изменяя Length = Width = Height и сдвигая гизмо к одному из краев.
Если UVW Mapping встает горбом над куполом торца, значит радиус нужно увеличивать... Если отстает на стыке с цилиндрической частью - уменьшать.
(Ну, и параллельно сдвигать сам гизмо)
В результате должно получиться примерно так:
-
Затем применяем Unwrap UVW (и как было описано велдим точки, переносим кусок развертки в нужное место на текстуре)...
Все остальное - по описанию первого урока.
P.S. остальные два варианта распишу чуть позже.
-
Что делать со сферическими торцами?
Надо определиться, как нам будет удобнее их обрабатывать в шопе.
Вариантов здесь три:
1. Использовать планарный маппинг (и пофиг искажения у краев).
2. Использовать сферический маппинг (искажения на концах капсулы)
3. Использовать опцию Unfold (затруднена обработка в фотошопе)
4. Применить комбинированную карту.
-
С первым вариантом все уже понятно и было описано раньше.
Вариант 2 - сферический маппинг.
Для того, чтобы раскладка легла нормально, сферическую карту надо подогнать.
-
Выделяем одну из сфер, применяем к ней сферический UVW Mapping.
Развернем примененный модификатор UVW Mapping, кликнув по плюсику слева.
Выбираем подобъект Gizmo и сдвигаем его к центру цилиндра.
Затем подбираем нужный радиус, изменяя Length = Width = Height и сдвигая гизмо к одному из краев.
Если UVW Mapping встает горбом над куполом торца, значит радиус нужно увеличивать... Если отстает на стыке с цилиндрической частью - уменьшать.
(Ну, и параллельно сдвигать сам гизмо)
В результате должно получиться примерно так:
-
Затем применяем Unwrap UVW (и как было описано велдим точки, переносим кусок развертки в нужное место на текстуре)...
Все остальное - по описанию первого урока.
P.S. остальные два варианта распишу чуть позже.
nikkoN
Профессионал
3/29/2007, 10:07:12 PM
Попробовал как ты сказал сферич. UV полжить.
За подгонку. Можно ведь и Fit использовать, чтоб вручную радиус не тягать? Потом только по высоте выровнять через гизмо..
Когда ложил сферич. UV, верхушка сферы нормально нифига неложилась. Попробовал верхн. часть сферы на 2 куска разбить. Развертка окуратней вышла. Вот за подгонку текстуры пока неполучается, криво и несовподют части. Может в унврапе перед шопом надо как-то соеденить грани? Ты говорил что там соединять что-то надо?
За подгонку. Можно ведь и Fit использовать, чтоб вручную радиус не тягать? Потом только по высоте выровнять через гизмо..
Когда ложил сферич. UV, верхушка сферы нормально нифига неложилась. Попробовал верхн. часть сферы на 2 куска разбить. Развертка окуратней вышла. Вот за подгонку текстуры пока неполучается, криво и несовподют части. Может в унврапе перед шопом надо как-то соеденить грани? Ты говорил что там соединять что-то надо?
crimecat
Любитель
3/29/2007, 10:48:22 PM
Так...
За подгонку и сварку граней скажу немного позже.
-
Четвертый метод (комбинирования УВ карт) ты уловил сам. Респект!
Жаль плюсик тебе влепить не могу, а стоит!
-
Про подгонку и гизмо...
Можно сделать так, как ты сказал, будет проще, но...
В уроках я не всегда показываю как проще, а стараюсь задействовать как можно больше инструментов.
Имхо, человеку надо дать знания, а упростить себе жизнь сможет любой. (Ладно, это я отвлекся)...
-
Давай по твоему скрину.
Для планарной карты можно было захватить еще одно-два кольца от сферы, бо там искажения будут не столь велики.
Для цилиндрической формы - то же самое.
-
Но! Мы пропустили 3-й вариант - Flatten Map.
Выбираем один торец капсулы, применяем к нему UVW Map,
-
На экране редактирования развертки внизу есть панелька
Selection Modes.
И три кнопки с пиктограммами "вертексы", "грани", "полигоны".
-
Переключаемся в режим выбора полигонов, выбираем все полигоны и через верхнюю менюшку -> Mapping -> Unfold Mapping -> Ok.
-
Выбранный кусок замапился так, чтобы максимально сохранить площадь каждого полигона без искажений.
-
Осталось завелдить точки и перенести кусок в нужное место.
-
Но, в фотошопе работать с таким объектом сложно.
Так что... Тоже не панацея.
---
Инструменты примерно понятны.
А как быть с капсулой?...
-
Наиболее здравым вариантом был тот, который ты сделал. (с некоторой коррекцией, см. выше)
-
Его надо немного доработать и все будет ОК.
Засим, сорри, но на сегодня я сваливаю с работы.
За подгонку и сварку граней скажу немного позже.
-
Четвертый метод (комбинирования УВ карт) ты уловил сам. Респект!
Жаль плюсик тебе влепить не могу, а стоит!
-
Про подгонку и гизмо...
Можно сделать так, как ты сказал, будет проще, но...
В уроках я не всегда показываю как проще, а стараюсь задействовать как можно больше инструментов.
Имхо, человеку надо дать знания, а упростить себе жизнь сможет любой. (Ладно, это я отвлекся)...
-
Давай по твоему скрину.
Для планарной карты можно было захватить еще одно-два кольца от сферы, бо там искажения будут не столь велики.
Для цилиндрической формы - то же самое.
-
Но! Мы пропустили 3-й вариант - Flatten Map.
Выбираем один торец капсулы, применяем к нему UVW Map,
-
На экране редактирования развертки внизу есть панелька
Selection Modes.
И три кнопки с пиктограммами "вертексы", "грани", "полигоны".
-
Переключаемся в режим выбора полигонов, выбираем все полигоны и через верхнюю менюшку -> Mapping -> Unfold Mapping -> Ok.
-
Выбранный кусок замапился так, чтобы максимально сохранить площадь каждого полигона без искажений.
-
Осталось завелдить точки и перенести кусок в нужное место.
-
Но, в фотошопе работать с таким объектом сложно.
Так что... Тоже не панацея.
---
Инструменты примерно понятны.
А как быть с капсулой?...
-
Наиболее здравым вариантом был тот, который ты сделал. (с некоторой коррекцией, см. выше)
-
Его надо немного доработать и все будет ОК.
Засим, сорри, но на сегодня я сваливаю с работы.
nikkoN
Профессионал
3/30/2007, 12:18:57 AM
(crimecat @ 29.03.2007 - время: 18:48) Четвертый метод (комбинирования УВ карт) ты уловил сам. Респект!
Жаль плюсик тебе влепить не могу, а стоит!
Мне-то за что? Это тебе надо плюсы ставить! Сколько бился с унврапом и нифига. А сейчас вроде близок к решению проблемы! ОК. буду пробовать.
Жаль плюсик тебе влепить не могу, а стоит!
Мне-то за что? Это тебе надо плюсы ставить! Сколько бился с унврапом и нифига. А сейчас вроде близок к решению проблемы! ОК. буду пробовать.
nikkoN
Профессионал
3/30/2007, 4:57:54 PM
Путем проб определил, что для такой задачи лучше разбивать сферу капсулы на 2 подобъекта, как было сказано выше. Но с накладкой текстуры на карту развертки пока ничего нормального невыходит. Немогу совместить текстуру, чтоб стыковалась нормально и рисунок совпадал и был равномерным.
Попробовал наложить на ту-же капсулу с унврапом просто текстуру, и результат довольно неплохой. (в аттаче). Вобщем жду продолжения урока...
П.С. Левая с унврапом а правая для сравнения с UV Map, так, для себя.
Попробовал наложить на ту-же капсулу с унврапом просто текстуру, и результат довольно неплохой. (в аттаче). Вобщем жду продолжения урока...
П.С. Левая с унврапом а правая для сравнения с UV Map, так, для себя.
crimecat
Любитель
4/2/2007, 5:37:36 PM
Уффф, наконец-то снова на работе.
Продолжаем знакомство с интерфейсом Unwrap-а.
Отмечаем одну крайнюю точку (находящуюся на зеленой линии) на развертке.
Отмеченная точка загорается красным цветом.
На других частях развертки синим цветом загорится одна или несколько точек.
Что это за синие точки?...
Это - принадлежащие тому же самому вертексу координатные точки.
Если мы отметим две крайних точки, лежащих рядом, то на других частях развертки синим цветом высветится грань, проходящая между этими вертексами.
-
Следующий элемент, который нам нужен - флажок Select Element, который находится в нижней части интерфейса, возле пиктограмм с выбором точек-граней-полигоном.
Если этот флажок включен, то при выборе одной из точек (или полигонов) выбирается вся часть развертки.
-
Вернемся к цилиндру, как к более простому для объяснения объекту.
Выбираем одну из крайних точек на торце (точку А, легкозапоминаемую), находим синюю точку на боковой поверхности цилиндра ( А+ ).
При помощи Select Element выбираем весь торец и совмещаем точку А с найденой синей точкой.
Отключаем Select Element.
Берем соседнюю точку для А (точку Б), находим соответствующую ей синюю точку (Б+).
Затем поворачиваем торцевую часть развертки так, чтобы отрезок АБ шел параллельно отрезку А+Б+.
-
После чего масштабируя и сдвигая торцевую часть развертки совмещаем отрезки АБ и А+Б+
-
Результат - мы получили одинаковый масштаб на обеих частях развертки.
---
Если направление отрезков АБ и А+Б+ зеркально, то можно отразить одну из частей развертки, используя Mirror (самый правый инструмент в ряду move-rotate-scale..)
-----
Как склеивать грани и точки?
Для того, чтобы склеить грани, надо склеить точки, составляющие эти грани.
-
Для склеивания (велда, weld) точек, надо отметить эти точки, вызвать правой клавишей мыши менюшку и выбрать Weld Selected.
-
Если точки грани склеились нормально, то грань перекрасится из зеленого в белый цвет или станет невидимой.
-
Что еще нужно для склеивания?...
Нажмем кнопку options в правом-нижнем углу интерфейса.
Появятся дополнительные опции.
Нам нужен Weld Threshold (правый нижний угол) - максимальное расстояние между точками для склеивания.
-
Еще один момент - текстурные координаты. Левый нижний угол текстуры - точка с координатами (0,0), левый верхний (0,1) правый верхний (1,1).
Продолжаем знакомство с интерфейсом Unwrap-а.
Отмечаем одну крайнюю точку (находящуюся на зеленой линии) на развертке.
Отмеченная точка загорается красным цветом.
На других частях развертки синим цветом загорится одна или несколько точек.
Что это за синие точки?...
Это - принадлежащие тому же самому вертексу координатные точки.
Если мы отметим две крайних точки, лежащих рядом, то на других частях развертки синим цветом высветится грань, проходящая между этими вертексами.
-
Следующий элемент, который нам нужен - флажок Select Element, который находится в нижней части интерфейса, возле пиктограмм с выбором точек-граней-полигоном.
Если этот флажок включен, то при выборе одной из точек (или полигонов) выбирается вся часть развертки.
-
Вернемся к цилиндру, как к более простому для объяснения объекту.
Выбираем одну из крайних точек на торце (точку А, легкозапоминаемую), находим синюю точку на боковой поверхности цилиндра ( А+ ).
При помощи Select Element выбираем весь торец и совмещаем точку А с найденой синей точкой.
Отключаем Select Element.
Берем соседнюю точку для А (точку Б), находим соответствующую ей синюю точку (Б+).
Затем поворачиваем торцевую часть развертки так, чтобы отрезок АБ шел параллельно отрезку А+Б+.
-
После чего масштабируя и сдвигая торцевую часть развертки совмещаем отрезки АБ и А+Б+
-
Результат - мы получили одинаковый масштаб на обеих частях развертки.
---
Если направление отрезков АБ и А+Б+ зеркально, то можно отразить одну из частей развертки, используя Mirror (самый правый инструмент в ряду move-rotate-scale..)
-----
Как склеивать грани и точки?
Для того, чтобы склеить грани, надо склеить точки, составляющие эти грани.
-
Для склеивания (велда, weld) точек, надо отметить эти точки, вызвать правой клавишей мыши менюшку и выбрать Weld Selected.
-
Если точки грани склеились нормально, то грань перекрасится из зеленого в белый цвет или станет невидимой.
-
Что еще нужно для склеивания?...
Нажмем кнопку options в правом-нижнем углу интерфейса.
Появятся дополнительные опции.
Нам нужен Weld Threshold (правый нижний угол) - максимальное расстояние между точками для склеивания.
-
Еще один момент - текстурные координаты. Левый нижний угол текстуры - точка с координатами (0,0), левый верхний (0,1) правый верхний (1,1).
nikkoN
Профессионал
4/2/2007, 7:02:43 PM
(crimecat @ 02.04.2007 - время: 13:37) Уффф, наконец-то снова на работе.
Продолжаем знакомство с интерфейсом Unwrap-а.
Ага, спасибки! Буду пробовать.
Продолжаем знакомство с интерфейсом Unwrap-а.
Ага, спасибки! Буду пробовать.