Стилизованная карта: Snazzy Maps — Free Styles for Google Maps
Сервис для стилизации гугл карт Snazzy Maps
Вы используете блокировщик рекламыПожалуйста, отключите блокировщик рекламы
ПодробнееПрактически на каждом сайте необходимо устанавливать гугл карты. Когда-то очень давно я это делал через iframe для простой карты, но компания гугл создала мощное API и без него я уже не представляю своей работы. Да и клиенты все чаще хотят видеть стилизованные гугл карты. Для этого существует отличный сервис для стилизации гугл карт, который визуализирует настройки карты и генерирует код, который нужно просто вставить в ваш проект — Snazzy Maps.
Сразу советую зарегистрироваться на нем, это занимает не больше минуты. Регистрация позволит вам добавлять в закладки понравившиеся карты и хранить свои.
Выбери готовый стиль
Начнем с вкладки «Explore Styles». Здесь вы можете выбрать понравившийся стиль (и даже поменять его) и использовать карту на своем сайте.
Создай собственный стиль карты
Дальше идет вкладка «Create a style». Тут вы можете создать свой собственный стиль. Выбираете основной стиль карты: Default, Light, Dark, Monochrome или импортироват из JSON.
А дальше вы можете кастомизировать каждый элемент карты. Тут необходимо будет немного посидеть и поэкспериментировать с ползунками и палитрами.
После проделанной работы можно скопировать сгенерированный код.
Создай карту
Функцию, которую недавно добавили разработчики — создание произвольной карты. Вы задаете название карты, выбираете готовый стиль или создаете свой. На карте можно расположить несколько маркеров (по координатам или по названию объекта), выбрать их цвет, тип и даже загрузить свое изображение маркера. Также можно выбрать язык карты, тип, настроить кнопки и т.д.
В общем, я очень рекомендую этот сервис, он неоднократно помогал мне в работе над сайтами, а стилизованные карты сейчас используются на очень многих из них.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Вы используете блокировщик рекламыПожалуйста, отключите блокировщик рекламы
ПодробнееПодписывайтесь на наш Telegram канал, чтобы не пропускать наши статьи 😎
Previous postЕстественная сортировка на jQueryNext postKharkivJS — конференция JS разработчиковЧитай еще
Пользовательские стили для Google Maps
Когда Вам необходимо указать на карте реальное месторасположение офиса либо какого-то объекта, то сервис Google Maps предоставляет Вам очень большой спектр возможностей. Очень часто что стиль карты, которую вставляют на сайт не подходит по стилю и цветовой гамме. Но этот сервис позволяет изменить стандартный вид карты, настроить насыщенность, яркость, добавить свою иконку маркера на карту и так далее.
Ниже находятся статьи, где Вы можете выбрать интересные эффекты при прокрутке Вашей страницы лендинга:
Демо карту можно посмотреть по этой ссылке:
Посмотреть примерСкачать
Практическая реализация
1 этап. Структура
Здесь нужен лишь один общий контейнер, в котором будет размещаться сама карта, кнопки увеличить/уменьшить и строка с адресом:
HTML КОД
1 2 3 4 5 6 | <section> <div></div> <div></div> <div></div> <address>1 Plás Chnoc an tSamhraidh, Baile Átha Cliath, Ирландия</address> </section> |
2 этап. Получаем API Key
Переходим на данную страницу и получаем ключ API — Get API Key.
Если непонятно как получить API ключ, тогда смотрите видео — ПЕРЕЙТИ К ВИДЕО.
Затем вставляем данный API ключ в HTML вместо слов «ВАШ_API_КЛЮЧ»:
HTML КОД
1 | <script src="https://maps.googleapis.com/maps/api/js?key=ВАШ_API_КЛЮЧ"></script> |
3 этап. Стили + обработка событий
Сейчас переходим непосредственно к главному файлу, где определяются все стили и события на карте, а именно к файлу main.
JAVASCRIPT КОД
1 2 3 | var latitude = 53.356525, longitude = -6.253810, map_zoom = 18; |
Чтобы получить долготу и широту, Вам необходимо в нужном месте карты Google кликнуть правой кнопкой мыши, а затем нажать «Что здесь?». Внизу Вы увидите всплывающее окошко, где будет указана долгота и широта. Вам их необходимо перенести в данный файл.
Далее указываем путь к маркеру, который находится в центре.
JAVASCRIPT КОД
1 | var marker_url = 'img/icon-location.png'; |
В моем случае это зеленый флажок:
Следующим шагом определяем основной цвет, насыщенность и яркость карты:
HTML КОД
1 2 3 | var main_color = '#007148', saturation_value= -1, brightness_value= 1; |
Просто изменяя значения, поэкспериментируйте и подберите тот вид карты, который Вас устроит.
Далее мы определяем стили для объектов на карте. К примеру, если мы хотим убрать обозначения дорог, но сами дороги оставить, то нам необходимо прописать 2 свойства:
HTML КОД
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var style= [ { //Скрываем обозначение дорог на карте featureType: 'road.highway', elementType: 'labels', stylers: [ {visibility: "off"} ] }, { featureType: "road.highway", elementType: "geometry.fill", stylers: [ { hue: main_color }, { visibility: "on" }, { lightness: brightness_value }, { saturation: saturation_value } ] } |
Полный список всех свойств находится здесь — Google Maps JavaScript API V3.
V Подробная видео-инструкция
Вывод
Сейчас у Вас есть все для того, чтобы сделать индивидуальные стили для Google Maps. Такая карта будет более лаконично смотреться в той же цветовой схеме, в которой находится вся страница.
Если Вам что-то непонятно — посмотрите видео, либо можете задать свой вопрос с помощью формы комментирования, которая находится ниже.
Источник
Успехов!
С Уважением, Юрий Немец
Картина (постер) — Стилизованная карта мира (Кофейный)
Картина на стену «Стилизованная карта мира (Кофейный)»
Основные свойства:
Тип | |
Холст | Натуральный немецкий хлопковый |
Подрамник | Сосновый цельный |
Печать | Латексная, HP Latex 3200 |
Страна производитель | Россия |
Комплектация | Готовая картина, крепления, упаковка |
Производитель | КартинуМне! |
Сертификаты | GREENGUARD, СЭС |
Размеры:
— Если пропорции картины не совпадают — размер пересчитывается без изменения цены
— Размер картины можно сделать любым под заказ (до 3 метров по меньшей стороне)
— Толщина подрамника — 2 см
Цена:
— Цена зависит от размера картины
— Указана цена за исполнение: печать на натуральном немецком холсте латексными чернилами
Исполнение:
Все картины можно исполнить в нескольких техниках:
— текстурный гель (имитация мазков масла) +35% от стоимости
— прорисовка маслом по печати, цена индивидуальна для каждой картины и предоставляется по запросу.
Оставьте заявку в следующей вкладке «Как заказать» или позвоните нам, и мы расскажем все подробно
Оформление:
Для любой картины можно добавить оформление:
— 5489 видов багета на выбор. Пластик и дерево
— Паспарту с алюминиевой или пластиковой рамкой
Технология:
Европейский стиль оформления идеально подходит для современных картин и постеров для интерьера. Холст натягивается на подрамник по технологии мультихолст. Таким картинам рамка не нужна. Изображение на холсте продолжается сбоку картины и уходит за нее. Сзади холст крепится скобами к подрамнику. Аккуратно и красиво. За счет такой конструкции экономятся значительные средства на багете.
Упаковка:
— Плотный картон
Дополнительно:
— Размер, цвет можно сделать любым под заказ. Вы увидите макет до покупки
— Картина вешается за крепление или подрамник, достаточно, что бы в стене был гвоздь
— Если в каталоге нет нужной картины — мы найдем (база 6 млн. изображений)
— Бесплатная примерка в Ваш интерьер
Создавайте свои собственные карты и постеры — Mapny
Настенные карты постеры — наша специализация.
Дизайн карт продуман так, чтобы органично вписаться в любой интерьер квартиры или офиса.
Карты города, мира, страны — стильные картографические постеры, для себя и в подарок! 😉
Создать свою картуИнтерьерные постеры
Самый доступный и в тоже время очень эффективный способ украсить интерьер как офисного помещения, так и собственной квартиры.
Основной материал — бумага, холст и любовь
СмотретьВаша карта звёздного неба
Выбери место и дату, создай оригинальный постер с собственной картой звездного неба для особенного момента жизни и особенного подарка.
Точное расположение звезд.
Электронная и бумажная версия.
Карта Игры Престолов
Карта земель от Вестероса до Асшая в ретро стиле — отличный подарок для всех любителей творчества Дж. Мартина и сериала «Игра Престолов».
Заказать картуВысококачественная бумага и печать
Мы используем высококачественную музейную бумагу и холсты. Работаем с лучшими типографиями Санкт-Петербурга и печатаем чернилами, которые выдерживают испытание временем.
Индивидуальный дизайн макетов
С помощью наших дизайнерских инструментов легко создать идеальный принт для вашего дома. Вы уникальны, и нет никаких причин, чтобы ваш дом не отражал это. Карта города в корпоративных цветах при индивидуальном заказе
Варианты размера и материала
На холсте, бумаге, пенокартоне. Размеры под стандарнтые рамки, на заказ делаем любого размера. Изготавливаем рамы и подрамники. Персональная карта города/звёздного неба в скандинавском стиле
Бесплатная доставка курьером до двери
Мы доставляем карты по всей России, а также в Республику Беларусь и Казахстан. В зависимости от региона и выбранного способа доставки: от 1 до 14 рабочих дней
О нас говорят:
Искала карту для мамы, чтобы она ориентировалась в городе уже хотя бы сверху. Так вот, спасибо огромное Александру из mapny, который оперативно отвечал на мои вопросы, а я дотошная и вообще сделал идеальную карту
КаринаПолучила свою карту, спасибо большое. Упаковали очень хорошо, что пришлось даже повозиться с открытием. Очень рада, что получилось сделать так, как я хотела. Благодарю!
АдаринаКарты безупречно красивые! Напечатаны на толстой бумаге и качественными чернилами. Не могу дождаться, чтобы заказать ещё парочку в наш новый дом)
Александра
Заказывала электронную версию звездной карты. Очень благодарна, всё очень понравилось) Хорошая идея для подарка. Спасибо большое
ЮлияОчень доволен тем, какой наша карта получилась! Доставка была быстрой, и карта была хорошо упакована. Обязательно буду использовать для будущих подарков. Спасибо!
Артём
Если кто-нибудь хочет подарить мне что-то оригинальное, в копилку идей @mapny.ru. ВАУ!
Анна
проявляем фантазию! Примеры + мастер-класс от дизайнера
Карту мира, страны, города, мы привыкли покупать в магазине канцтоваров и вешать в детской, когда у ребенка начинаются занятия по географии. Но карта может стать очень интересным и акцентным элементом любой комнаты. Только в некоторых случаях страны и города там будет разглядеть сложно, а то и невозможно. 🙂
В стилизованной карте – главное – повторение формы стран, континента или страны, а наполнение может быть каким угодно фантазийным. И удивительно, насколько простирается эта фантазия. :))
А может быть, хотите декорировать комнату картой метро? Или звездного неба? Почему бы и нет!
Сегодня – идеи для вдохновения и мастер-класс.
Потрясающая детская
Слоны в Африке, медведи в России, кенгуру в Австралии. 🙂 Прекрасный способ показать и рассказать малышу о странах и животных.
Вариант для подростка с интересным шрифтом.
Или вот такая карта-стена для изучения звездного неба.
Гостиная в стиле минимализм
Черно-белый вариант станет хорошим дополнением лаконичного стиля!
Душевная библиотека
Книги чувствуют себя хорошо, и они не только по географии. 🙂
Кабинет профессионала
Строгий и стильный акцент в кабинете, где ничего не отвлекает от работы.
Потолок и пол
Не только стена, но и другие поверхности принимают карту хорошо. 🙂
Модная полоска
Простые формы и линии для украшения спальни.
Карто-декор
Карта воспоминаний
Оригинальное решение сохранить воспоминания о своих путешествиях.
Мастер-класс: пробковая карта своими руками
Чтобы сделать карту из тонкой пробки, нам понадобится:
- Пласт пробкового дерева толщиной 5 мм, 100*70.
- Цветная основа.
- Распечатанный на бумаге контур карты мира.
- Силиконовый клей.
- Острый канцелярский нож.
Распечатанную карту, масштабированную до нужных размеров, вырезаем по континентам, накладываем на пробковый лист и аккуратно вырезаем острым канцелярским ножом. Обращайте внимание на то, что пробка может крошиться. Для этого можно укрепить лист, вскрыв его лаком с обратной стороны.
Наклеиваем карту на основу. Пробка хорошо сочетается с цветными основами, которые можно подобрать в зависимости от колористики помещения.
Ну как, мы напомнили вам уроки ге
Ретопология стилизованного персонажа
Привет! Мы продолжаем цикл статей по пайплайну разработки стилизованных персонажей. Сегодня ты узнаешь что такое этап ретопологии и как его делать на примере нашей модели.
Ретопология — второй этап ААА-пайплайна. На прошлом этапе мы сделали скульпт, а сейчас будем делать lowpoly модель.
Прошлые статьи из цикла:
— ААА-пайплайн разработки стилизованных персонажей
— 9 полезных инструментов ZBrush
— Скульпт от первого лица
Что тебя ждёт сегодня
План статьи:
- Что такое ретопология, зачем она нужна?
- Экспорт скульпта из ZBrush.
- Создание lowpoly модели в Maya.
- Нюансы ретопологии.
- Чек-лист.
- Особенности ретопа стилизованных персонажей.
- Технические моменты при ретопе персонажей.
- Что делать после ретопологии?
Не забудь подписаться на нас, чтобы не пропустить следующий выпуск!
Мы в VK, Facebook, Instagram и Youtube.
#1 Что такое ретопология, зачем нужна?
Как ты помнишь, мы показываем весь пайплайн производства стилизованных персонажей. Мы уже сделали скульпт нашего персонажа:
Скульпт нашего персонажа
В дальнейшем хотим добавить на него текстуры, сделать риг и анимацию. И чтобы эту модель можно было использовать для компьютерной игры.
Проблема в том, что у нашего скульпта 7 миллионов полигонов:
У нашего скульпта более 7 миллионов полигонов
Разумеется, такую модель никак не засунуть в игровой движок.
Для этого нам нужно сделать lowpoly модель — то есть упрощённую модель с минимальным количеством полигонов. И уложиться в лимит в 20 000 — 80 000 полигонов на всего персонажа.
Затем мы перенесём детализацию с нашего скульпта на lowpoly модель через Normal Map, используя технологию запечки.
Чтобы ты понял, как работает эта технология, мы написали огромную теоретическую статью про сетку. Обязательно прочитай её, если хочешь понять как работает комбинация: Lowpoly + Normal Map.
Как это работает, ты узнаешь в этой статье.
С теорией мы закончили.
Сейчас нам нужно сделать lowpoly модель, то есть создать упрощённую сетку для нашего персонажа.
Этот процесс начинается с того, что нужно подготовить наш скульпт в ZBrush к ретопологии.
#2 Экспорт скульпта из ZBrush
Открываем наш скульпт в программе Zbrush:
Наш скульпт в ZBrush
Для наглядности мы покажем процесс ретопологии на примере шлема, а затем рассмотрим особенности ретопа других элементов нашего стилизованного персонажа.
Этот шлем сегодня будем ретопить
Начало работы
Когда мы лепили нашу модель, мы почти не думали о топологии. Тогда нашей задачей было передать форму и стилистику.
Сейчас нам нужно проверить всю геометрию и слегка оптимизировать.
Первым делом, ищем зазоры в местах стыков двух разных элементов:
Чтобы не создавать лишних полигонов, по возможности, желательно прижать ремешок к поверхности:
Прижимаем геометрию, чтобы не было зазора
Раз мы внесли изменения в наш скульпт, не забываем сохранить изменения, чтобы в дальнейшем, скульпт и lowpoly модель были идентичной формы.
Прежде чем мы пойдём дальше, необходимо покрасить модель в разные цвета, чтобы в будущем запечь эти цвета в ID Map.
#Шаг 1: Красим модель для ID Map
Эта карта нужна, чтобы в процессе текстурирования было удобно выделять разные элементы нашей модели. Например, чтобы можно было выделить только шлем или только рога, или только ткань.
На этом этапе мы не запекаем карту, а просто красим модель в разные цвета.
Это не текстуры и не цвета будущей модели, нужно визуально разделить разные объекты, чтобы при текстурировании можно было выбирать их по отдельности.
Потому что когда будем ретопить, вся сетка будет единой. И выбрать, например, только рога на шлеме уже не получится. Для этого разделяем объекты, красим в разные цвета в Zbrush. Все похожие детали = одинаковый цвет.
Цвета могут быть любыми, главное чтобы они были контрастными и отличались друг от друга.
Для этого:
— Берём кисть Move, жмём кнопку Y, чтобы переключиться на линейку.
— Жмём CTRL + Shift.
— Ведём курсор к границе с другим объектом.
— Так выберется тот объект, на который мы кликали.
Выбираем только шлем, без рогов и тряпки через кисть Move
Так мы выбрали только середину шлема.
Потом назначаем ей любой цвет во вкладке Color:
Красим выбранную область.
Всё хорошо, только покрасилось наоборот. Поэтому в нашем случае маску необходимо инвертировать.
Для этого жмём CTRL и жмём на пустое пространство:
Инвертируем маску
Таким же образом красим все элементы в разные цвета:
Красим объекты в разные цвета для ID Map
#Шаг 2: Сохраняем хайполи
Сохраняем то, что мы только что покрасили. Это и есть хайполи нашей модели.
Сохраняем его в отдельный файл в формате .obj.
С него мы будем запекать все необходимые карты на этапе пайплайна под названием «запечка».
Готовим модель к ретопологии
Когда мы скульптили шлем, рога и тряпку на них, всё это было создано из разной геометрии.
В тот момент, когда мы в Maya будем создавать новую сетку, желательно на этапе скульпта объединить все элементы в одну топологию. Так будет проще работать в дальнейшем.
Шаг 1: Объединяем все элементы в одну сетку
Для этого нам понадобится уже знакомая тебе функция:
Tool -> Geometry -> Dynamesh
Dynamesh объединил геометрию, но потерял детализацию из-за низкого разрешения
Как видишь, геометрия объединилась, но мы потеряли всю детализацию.Поэтому, не забываем подобрать подходящий Resolution, чтобы её сохранить.
Внешне ничего не изменилось, зато теперь геометрия единая
Геометрия объединилась, детализация сохранилась и работа в Maya стала немного проще.
Но, как ты помнишь, сетка в Zbrush супер плотная, сейчас только у шлема более 800 000 точек. А у всего персонажа их всё ещё более 7 миллионов, Maya скорее всего не сможет открыть такой файл.
Шаг 2: Убираем лишние полигоны
Вкладка Zplugin -> Decimation Master позволяет пересчитать сетку и убрать очень много лишних полигонов.
Первым делом нужно просто нажать функцию Pre-process Current:
Функция Decimation Master -> Pre-process Current
После этого, мы можем сказать программе, какой процент от текущего количества полигоном мы хотим оставить:
Оставляем 5% от текущего количества полигонов
Таким образом у нас осталось всего 43 000 полигонов, а формы сохранились.
На этом этапе нас это количество устраивает. А после ретопа в Maya останется ещё меньше.
Жмём Tool -> Export и сохраняем в формате .obj
Подготовка модели к ретопологии в Zbrush на этом этапе заканчивается.
#3 Ретопология в Maya
Если модель при импорте расположена как-то странно, это легко исправить.
Модель лежит не той оси
Такое происходит из-за того, что у разных программ есть разное понимание «верха» модели.
Заходим в настройки: Preferences -> Settings -> World Coordinate System = ‘Y’
Теперь модель расположена нормально
Теперь нужно нажать на «магнитик», чтобы модель нельзя было выбрать или редактировать, а все новые полигоны лежали только на её поверхности:
Жмём на магнитик, чтобы запретить редактирование модели
После этой функции программа понимает, что это та поверхность, на которую мы будем назначать новую топологию.
Инструменты для работы
Нам понадобится окно Modeling Toolkit.
Внутри него нас интересуют 4 кнопки в разделе Tools:
4 инструмента, которые нужны для ретопологии
Теперь, когда модель заблокирована, если мы нажмём во вкладке Modeling Toolkit -> Quad Draw, то все созданные вертексы будут лежать на поверхности нашей модели, как мы и хотели:
Кстати, если развернуть вкладку Modeling Toolkig -> Keyboard/Mouse Shortcuts, то мы увидим список всех горячих клавиш, которые нам пригодятся для работы:
Список горячих клавиш для ретопологии
Итак, у нас уже есть наша модель.
Наша задача — создать абсолютно новую сетку поверх текущей,
с минимальным количеством полигонов.
Особенности функции Quad Draw и горячие клавиши
Как только мы создали первые точки через функцию Quad Draw, если зажать Shift и навести на область между ними, то программа подсветит область между ними. Это значит, что из этих точек можно создать новый полигон. Жмём левой кнопкой мыши, чтобы его создать:
Ставим 4 точки, наводим мышку и создаём новый полигон, используя клавишу Shift
Разумеется, при нажатии на сам вертекс, можно изменить его положение:
Изменяем положение вертекса
А если выделить конкретный Edge (линию) и зажать D, то можно создать новый полигон, который одна из сторон которого будет прилегать к текущему полигону. Эта функция называется Extend.
Создаём новый полигон, прилегающий к уже существующему, используя Extend (клавиша D)
Все новые точки и полигоны крепятся к уже созданной нами модели, то есть повторяют её форму.
Ещё парочка полезных горячих клавиш.
Если навести на полигон и зажать CTRL, можно создать внутри полигона новый эдж:
Клавиша CTRL создаёт новые эджи внутри выбранного полигона
Если нажать CTRL + Shift, то при нажатии на Edge он удалится:
Удаляем эдж, используя CTRL + Shift
Только что ты узнал все основные инструменты, которые нужны для работы.
Их очень мало и они достаточно просты для понимания.
Находим симметрию
Прежде чем мы начнём создавать полигоны, давай определимся, какие части модели у нас симметричны.
В нашем случае, мы можем сделать ретопологию правой части шлема, затем скопировать её, потом отразить и доработать.
Находим симметрию у модели, если она есть
Дальше мы просто будем создавать новую сетку поверх текущей. Задача не очень сложная, но достаточно рутинная.
#4 Нюансы ретопологии
Сейчас мы будем создавать lowpoly сетку и параллельно покажем самые важные моменты, которые встретятся по ходу работы.
Равномерность сетки
Следи за плотностью сетки, она должна быть равномерной.
Лучше всего начать создание новой сетки с крупных полигонов.Начинать сразу с мелких полигонов не всегда удобно. Хотя, это дело вкуса, нам удобнее начинать с крупных полигонов.
Итак, начинаем:
Важный момент — для стилизованных персонажей хорошая практика использовать лоуполи сетку, где по большей части используются ровные прямоугольные полигоны (квады). Про это подробнее будет расписано в конце статьи.
Пример квадов
Вот пример, как делать не стоит:
Плохой пример: полигоны кривые, разного размера
Слишком вытянутые и кривые полигоны, разного размера — плохая практика. Игровые движки не очень хорошо их воспринимают.
Вот ещё один плохой пример:
Не делай так, пожалуйста
Мелкие детали
Если ты видишь, что на некоторых важных деталях нужны мелкие полигоны — смело создавай их, чтобы не потерять форму. Как, например, у нас в деталях на шлеме:
Дальше мы просто создаём всё больше полигонов, используя по большей части функции Quad Draw и Multicut:
Разбиваем на треугольники
В подобных местах, разбивай полигон на треугольники:
Плохой пример
Делается это вот так:
Хороший пример
Выравниваем сетку
Полигоны должны повторять форму исходной геометрии. Если видишь, что линия неровная, жми Shift эта функция поможет выровнять сетку:
Выравниваем сетку через Shift
Сложные места разбиваем на более мелкие полигоны:
При необходимости можно создавать мелкие полигоны
Работа с острыми углами
По возможности нужно избегать острые углы, но в случаях когда не получается этого сделать, обычно используют хард эжди, либо добавляют дополнительный бевел.
Про то, как работать с хард эджами, мы уже писали вот здесь.
Избегаем проблем с запечкой
В подобных местах мы видим, что наша сетка выходит за пределы геометрии.
Такие моменты будут плохо выглядеть при запекании.
Чтобы избежать проблем при запечке, обязательно добавляем несколько новых полигонов, чтобы лучше повторить исходную форму:
Завершение ретопологии шлема
Итак, ретопологию шлема мы закончили, сетка выглядит вот так:
Точно таким же образом, делается ретопология всего стилизованного персонажа.
Если ты помнишь нашего «бугая», его лоуполи выглядит вот так:
Лоуполи модель нашего стилизованного персонажа
Слева — модель после функции Decimation в ZBrush.
Справа — лоуполи модель, сделанная в Maya.
#5 Чек-лист по ретопологии
Подведём итоги. Сохрани чек-лист, чтобы не потерять!
Этап 1: Подготовка в ZBrush
— Прижимаем геометрию
— Красим модель в разные цвета для ID Map
— Сохраняем модель в формате .obj
— Объединяем геометрию через Dynamesh
— Убираем лишние полигоны через Decimation Master
— Сохраняем версию модели после Decimation в формате .obj
— При ретопологии используем именно эту версию модели (после Decimation)
Этап 2: Создание lowpoly модели
— Жмём на «магнит», чтобы заблокировать модель
— Создаём новую сетку поверх текущей, используя Modeling Toolkit → Tools
— Сохраняем лоуполи модель
Вся теоретическая часть
Если ты хочешь узнать про то, что такое вертекс нормали и то, как Normal Map обманывает с их помощью поведение игрового света — вся теоретическая часть по ретопологии написана в нашей статье про сетку.
#6 Особенности ретопа стилизованных персонажей
Делая ретоп стилизованного персонажа, не забывай про то, что будет с твоей сеткой на других этапах пайплайна.
Анимация
Смотри, есть очень важный момент, который следует учитывать при ретопологии стилизованных персонажей. Связан он с тем, как работает анимация.
Вот 2 прямоугольника, один состоит из 2 частей, другой — из 4:
Анимация деформирует твою геометрию. Давай согнём оба прямоугольника посередине:
А теперь давай посмотрим, что получилось:
Приглядись и увидишь, что геометрия, где было меньше полигонов, деформировалась сильнее.
Давай посмотрим, как эта особенность анимации влияет на ретопологию нашего персонажа.
Складки, шмотки
Присмотрись к этой ретопологии ткани:
Скульптим складки
Момент 1: Складки сделали треугольниками.
Чтобы они лучше повторяли форму исходной геометрии.
Момент 2: Сетка состоит примерно из одного количества лупов на складках, что и на ногах
Обрати внимание, что полигоны на складках находятся примерно на той же горизонтали, что и полигоны на ногах:
Если у разных элементов нашей модели горизонтальные линии будут примерно на одном уровне, при анимации не будет глюков. Ноги и ткань будут деформироваться примерно схожим образом и не будут сильно пересекаться.
Пальцы, кости
Всегда учитывай то, что эти места будут анимироваться.
Твоя задача — сделать так, чтобы ключевые точки анатомии персонажа не потеряли свою форму и персонаж не анимаровался как «пластилиновый».
Нужно усиливать сетку и повышать её плотность в таких местах.
Делается это следующим образом:
Сетка на местах, где находятся кости
В том месте, где находится кость, находится пересечение полигонов. А соседние полигоны расходятся по кругу.
Мышцы
Полигоны должны повторять форму мышцы и образовывать легко читаемую линию:
Ретопим мышцы груди
На этом скриншоте ты видишь, что мы добавили маленькие полигоны в нижней части мышцы (точка 1).
А в середине груди, в месте солнечного сплетения, мы сделали сетку из треугольников (точка 2). Так при анимации, например, повороте корпуса налево или направо, она точно не исказится.
Лицо
Ретопология лица — отдельная, большая тема, достойная отдельной статьи.
Сложность в том, чтобы создать сетку, которая будет в дальнейшем реалистично анимироваться.
Мы нашли очень классную статью на PolyCount Wiki. Прочитав её, ты поймёшь, что ретопология лица персонажа, особенно с высокой степенью реализма — отдельная наука.
Материал взят отсюда: http://wiki.polycount.com/wiki/FaceTopology
На крупных проектах, если ты моделишь людей, а не монстров, твоя работа выглядит следующим образом: тебе дают уже готовую сетку с лицом персонажа.
Там каждый полигон лежит на своём месте. А ты моделишь уже всё остальное.
У нашего персонажа всё гораздо проще, потому что у него высокая степень стилизации и низкая степень реализма. Соответственно, сетка достаточно простая:
Тем не менее, анимируется лицо вполне нормально, даже с такой простой сеткой:
Тестовая анимация для примера
#7 Технические моменты при ретопе персонажей
Работа с сеткой не так проста, как кажется на первый взгляд.
Давай разбираться!
Триангуляция
Работа выглядит следующим образом:
Шаг 1: Мы создаём лоуполи модель так, как мы писали в этой статье. На выходе получилась модель с квадами, в некоторых местах есть треугольники там, где они нужны. Эту версию лоуполи модели мы отправляем аниматору. С квадами ему будет проще работать.
Шаг 2: Непосредственно перед запечкой (на одном из последующих этапов пайплайна), мы сделаем триангуляцию, чтобы модель запеклась лучше.
Давай разберёмся, почему на шаге 1 мы создавали квады:
Как подружиться с аниматором
Как правило, аниматор — отдельный человек. Ты моделишь — он анимирует.
Всегда классно, когда вы хорошие друзья, поэтому при ретопе желательно учитывать то, как он будет работать с твоей моделью.
Аниматор будет привязывать к «костям» вертексы. Ему удобнее это делать в случае, когда модель состоит из квадов и есть лупы полигонов. В случае с ногой персонажа, как правило, это такие вертикальные или горизонтальные линии:
Вертикальные и горизонтальные эджи
Давай сравним, как будет выглядеть модель квадов и треугольников:
Слева — только треугольники. Справа — по большей части квады, плюс пара треугольников
Пробегись глазом по сетке и попробуй провести горизонтальную линию и почувствуешь, что когда есть куча треугольников, та же самая геометрия сложнее читается.
Именно поэтому многие трёхмерщики, в том числе и мы, делаем ретопологию стилизованных персонажем из немного вытянутых прямоугольников с примерно одинаковой плотностью.
Это не значит, что нельзя делать треугольники или квадраты. Там где они нужны, мы их добавляем, но основной «строительный материал» lowpoly сетки у нас — это прямоугольники.
На всякий случай скажем, в этом вопросе сложно найти однозначно 100% верный ответ. Читай ТЗ, общайся с командой разработки и поймёшь, каким полигонам отдать предпочтение.
Единая геометрия или нет
В нашем случае мы объединили почти всю геометрию в одну топологию.
Но шлем, меч и другие атрибуты мы сделали отдельной топологией.
Мы сделали так, потому что точно знали, что моделим персонажа для демонстрации работы по пайплайну, не более того.
Может быть ты видел шапки в Team Fortress или маски в PayDay 2?
Если на проекте будут разные скины брони или всевозможных шлемов и головных уборов — в таких случаях нужно их отдельной геометрией.
Обязательно читай ТЗ проекта, иначе потом будет больно. Уже слитую геометрию нельзя так просто разделить.
Задние стенки
Этот момент пишем для новичков.
В статье про сетку мы уже писали, почему у любого полигона передняя сторона видимая, а задняя — прозрачная.
Это значит, что если ты делаешь ретоп, например, шлема, не нужно делать сетку внутри. Почему? Камера в игре не увидит эту часть модели, поэтому экономь полигоны и своё время.
Внутреннюю часть не нужно делать, если её не видно в игре
Софт для ретопологии
Можно использовать любую удобную для тебя программу.
Мы работали Maya, но также для ретопа используют:
— 3Ds Max
— Blender
— 3D Coat
— Topogun
И другие программы. Принцип работы, который ты сегодня узнал универсален. Меняется только интерфейс и название функций.
Лимит на полигоны
Наш опыт показывает, что на большинстве проектов есть лимит в 20-80 тысяч полигонов на стилизованного персонажа. Иногда немного больше.
#8 Что делать после ретопологии
После ретопологии, следующий этап пайплайна — развёртка (UV).
А после развёртки мы будем запекать детализацию с хайполи на лоуполи.
Жди продолжения!
Подписывайся на нас, если ты ещё не с нами!
Мы в ВК, Facebook, Instagram и Youtube.
А если ты хочешь пройти весь пайплайн разработки стилизованного персонажа и получить индивидуальные фидбеки — ещё не поздно записаться на наш курс, который уже скоро стартует. Читай подробности в этой статье.
Жди продолжения!
У нас есть бесплатный онлайн-курс, на котором ты сможешь узнать основы работы в ZBrush и создать свою первую модель за пару дней обучения
Зарегистрироваться
Успехов тебе!
[ Конец статьи ]
|
компонент React Table — Материал -UI
Таблицы отображают наборы данных. Их можно полностью настроить.
Таблицыотображают информацию в удобном для просмотра виде, чтобы пользователи могли искать закономерности и идеи. Их можно встраивать в основной контент, например в карточки.
Таблицы могут включать:
- Соответствующая визуализация
- Навигация
- Инструменты для запроса и обработки данных
При включении инструментов их следует размещать непосредственно над или под столом.
Базовый стол
Простой пример без излишеств.
Десерт (порция 100 г) | Калории | Жиры (г) | Углеводы (г) | Белки (г) |
---|---|---|---|---|
Замороженный йогурт | 159 | 6 | 24 | 4 |
Сэндвич с мороженым | 237 | 9 | 37 | 4,3 |
Эклер | 262 | 16 | 24 | 6 |
Кекс | 305. | 767 | 4,3 | |
Пряник | 356 | 16 | 49 | 3,9 |
Таблица данных
Компонент Table
имеет близкое соответствие с исходным <таблица>
элементы.
Это ограничение затрудняет построение таблиц с расширенными данными.
Компонент DataGrid
разработан для случаев использования, ориентированных на обработку больших объемов табличных данных.Хотя он имеет более жесткую структуру, взамен вы получаете более мощные функции.
Плотная таблица
Простой пример плотной таблицы без излишеств.
Десерт (порция 100 г) | Калорий | Жиры (г) | Углеводы (г) | Белки (г) |
---|---|---|---|---|
Замороженный йогурт | 159 | 6 | 24 | 4 |
Сэндвич с мороженым | 237 | 9 | 37 | 4.3 |
Эклер | 262 | 16 | 24 | 6 |
Кекс | 305 | 3,7 | 67 | 4,3 |
Пряник | 356 | 356 900 | 3,9 |
Сортировка и выбор
В этом примере демонстрируется использование флажка
и интерактивных строк для выбора с настраиваемой панелью инструментов
.Он использует компонент TableSortLabel
для помощи в стилизации заголовков столбцов.
Таблица имеет фиксированную ширину для демонстрации горизонтальной прокрутки. Чтобы предотвратить прокрутку элементов управления разбиением на страницы, компонент TablePagination используется вне таблицы. (В приведенном ниже примере «Настраиваемое действие для разбивки на страницы» показано разбиение на страницы в нижнем колонтитуле таблицы.)
Настроенные таблицы
Вот пример настройки компонента. Вы можете узнать больше об этом в отменяет страницу документации.
Десерт (порция 100 г) | Калории | Жиры (г) | Углеводы (г) | Белки (г) |
---|---|---|---|---|
Замороженный йогурт | 159 | 6 | 24 | 4 |
Сэндвич с мороженым | 237 | 9 | 37 | 4,3 |
Эклер | 262 | 16 | 24 | 6 |
Кекс | 305. | 767 | 4,3 | |
Пряник | 356 | 16 | 49 | 3,9 |
Параметры пользовательской разбивки на страницы
Можно настроить параметры, показанные в «Строках на странице», выберите с помощью опора rowsPerPageOptions
.
Вы должны либо предоставить массив:
чисел , каждое число будет использоваться для метки и значения опции.
объекты , значение
, значение
иметка, ключи
будут использоваться соответственно для значения и метки параметра (полезно для языковых строк, таких как «Все»).
Пользовательские действия разбивки на страницы
Опора ActionsComponent
компонента TablePagination
позволяет реализовать
настраиваемые действия.
Замороженный йогурт | 159 | 6 | |
---|---|---|---|
Сэндвич с мороженым | 237 | 9 | |
Eclair | 262 | 16 | |
Cupcake | 7 | ||
Marshmallow | 318 | 0 |
Фиксированный заголовок
Пример таблицы с прокручиваемыми строками и фиксированными заголовками столбцов.
Он использует свойство stickyHeader
(⚠️ нет поддержки IE 11).
Сворачиваемая таблица
Пример таблицы с расширяемыми строками, раскрывающими дополнительную информацию.
Он использует компонент Collapse
.
Десерт (порция 100 г) | Калории | Жиры (г) | Углеводы (г) | Белки (г) | |
---|---|---|---|---|---|
Замороженный йогурт | 159 | 6 | 24 | 4 | |
Сэндвич с мороженым | 237 | 9 | 37 | 4.3 | |
Эклер | 262 | 16 | 24 | 6 | |
Кекс | 305 | 3,7 | |||
Пряник | 356 | 16 | 49 | 3,9 | |
Составная таблица
Простой пример с разделением строк и столбцов.
Подробная информация | Цена | ||
---|---|---|---|
Описание | Кол-во | Единица | Сумма |
Скрепки (коробка) | 100 | 1,15 | 115.00 |
Бумага (футляр) | 10 | 45.99 | 459.90 |
Корзина для мусора | Корзина для мусора 2 | 17,99 | 35,98 |
Итого | 610.88 | ||
Налог | 7% | 42,76 | |
Итого | 653,64 |
Виртуализированная таблица
В следующем примере мы демонстрируем, как использовать реагирующую виртуализацию с компонентом Table
.
Он отображает 200 строк и может легко обработать больше.
Виртуализация помогает решить проблемы с производительностью.
Доступность
(руководство WAI: https://www.w3.org/WAI/tutorials/tables/)
Заголовок
Заголовок действует как заголовок таблицы.Большинство программ чтения с экрана объявляют содержание подписей. Подписи помогают пользователям найти таблицу, понять, о чем она, и решить, хотят ли они ее прочитать.
Десерт (порция 100 г) | Калории | Жиры (г) | Углеводы (г) | Белки (г) |
---|---|---|---|---|
Замороженный йогурт | 159 | 6 | 24 | 4 |
Сэндвич с мороженым | 237 | 9 | 37 | 4.3 |
Эклер | 262 | 16 | 24 | 6 |
Интерактивная карта — Окулус, сундуки и расположение материалов | Genshin Impact
Ознакомьтесь с этой интерактивной картой Тейвата, мира в Genshin Impact. Включает полную карту Мондштадта и Лиюе, в том числе анемокулус, геокулус, сундуки и местные деликатесы.
Полная интерактивная картаТрудно прогрессировать?
Попробуйте сватовство с другими игроками
Посетите форум, указанный ниже, чтобы встретиться и поиграть с другими игроками Genshin Impact.Не забудьте также опубликовать свой UID и сервер, чтобы другие игроки могли вас добавить.
Посетите Genshin Impact Forum Интерактивная карта— глаза, сундуки, материалы
0/50 | 0/100 |
Нажмите или коснитесь значков, чтобы записать, если вы получили это пункт или нет.
Сбросить всю карту
※ Мы находимся в процессе приобретения значков на английском языке для сундуков!
Список инструментов карты
Как разблокировать карты?
Осмотрите Статую Семи
Чтобы разблокировать детали поля на карте, игрок должен взаимодействовать со Статуей Семи.Открыв карту из меню, вы можете проверить, какая статуя еще не активирована. Рекомендуется отправиться к статуе и осмотреть ее как можно скорее.
Зона разблокировки на северо-востоке Мондштадта
Зона на северо-востоке Мондштадта окружена ветровым барьером. Чтобы получить доступ к этой области, вам необходимо повысить свой рейтинг приключения и продолжить историю, пока не дойдете до Пролога — Акт Ⅲ.
Квесты Архонта (основная история) Руководство по прохождениюРазблокировано в будущих обновлениях
Мондштадт | Зона Анемо |
---|---|
Лиюе | Географическая зона |
Драконий Сосна | Крио-зона |
Подробная информация о следующем обновлении
В обновлении, которое выйдет в декабре, есть огромные шансы, что покрытые снегом горы под названием «Драконий шип» будут выпущены и доступны для исследования.