Содержание
Текстуры, полигоны и системные характеристики | Render.ru
Зазнай
Пользователь сайта
#1
#1
Здравствуйте форумчане. Мне, как лидеру команды и по совместительству геймдизу предстоит чуть позже давать ТЗ моему моделлеру и текстурщику для создания игровых моделей и пр.
Хочу сказать, что не хотелось бы наугад ставить ограничения в кол-ве полигонов, размерах карт текстур, кол-ву текстур и прочих подробностях.
Хотелось что бы мою будущую игру возможно было запустить как можно большему кол-ву потребителей, в соответствии с хр-ками их ПК.
Поэтому я решил что лучше всего определить, на каких пк и с какими системными хр-ками сидят современные геймеры. Единственное, что я нашел, так это: http://store.steampowered.com/hwsurvey/Steam?l=russian .
Так как я не знаю, как именно в зависимости от системных хр-к ПК определить максимальный полигонаж сцены игры, кол-во и размер текстур и пр, то поэтому я решил спросить у вас.
P.S Игра разрабатывается на UE последних версий.
P.S.S Буду рад любой предоставленной статистике, ответам и ссылкам на подобные вопросы и прочее. Спасибо
BeLiar
Знаток
#2
#2
Зазнай сказал(а):
Игра разрабатывается на UE последних версий.
Нажмите, чтобы раскрыть…
Вот и проконсультируйтесь на этот счёт с тем, кто конкретно работает с движком у вас.
Тут без технического специалиста, который будет поддерживать именно вашу игру не обойдёшься: полигонаж и тектуры это лишь немногая часть того, что может сожрать производительность.
В первую очередь методы создания и оптимизации моделей стоило бы выбирать в зависимости от таких простых вещей, как вид камеры и свобода перемещения.
Зазнай
Пользователь сайта
#3
#3
BeLiar сказал(а):
Вот и проконсультируйтесь на этот счёт с тем, кто конкретно работает с движком у вас.
Тут без технического специалиста, который будет поддерживать именно вашу игру не обойдёшься: полигонаж и тектуры это лишь немногая часть того, что может сожрать производительность.
В первую очередь методы создания и оптимизации моделей стоило бы выбирать в зависимости от таких простых вещей, как вид камеры и свобода перемещения.
Нажмите, чтобы раскрыть…
Спасибо
Девгам
Активный участник
#4
#4
Тоже всегда интересно было, как именно рассчитывают под какие ПК пойдет игра, а под какие нет. Я могу посоветовать только Unity Documentation, там написано количество полигонов под мобилки, компы и т.д.
Текстурирование 3D-модели| Документация | Pixlpark
Текстура — растровое изображение, накладываемое на поверхность полигональной модели для
придания ей цвета, окраски или иллюзии рельефа. Использование текстур можно
сравнить с рисунком на поверхности скульптуры.
Создание развертки для 3D-модели
Чтобы в редакторе созданный макет спроецировался правильно и превратился
в текстуру модели, необходимо подготовить карту наложения текстур модели.
-
Выберите в редакторе (Blender) объект. -
Переключитесь в режим редактирования. -
Выделите полигоны (клавиша «C»), на которых будет располагаться текстура
(выделенные полигоны подсвечиваются оранжевым). -
На панели управления снизу выберите Mesh → UV Unwrap → Unwrap или нажмите два раза клавишу U.
Таким образом полигоны были развернуты в плоскости, чтобы они размещались правильно
и относительно друг друга, и относительно карты наложения.
Создание карты наложения текстур на 3D-модель
Чтобы наложить текстуру правильно, необходимо создать макет (паттерн), на котором будет рассчитываться расположение изображений.
Для этого создайте растровый файл размером 1000 на 1000 рх (это значение понадобится при настройке редактора).
Сделать это можно при помощи Adobe Photoshop.
Далее сохраните в любой растровый формат, понятный Blender (JPEG/PNG).
Вернитесь в Blender. Для создания карты наложения
- Перейдите в меню «Editor Type».
- Выберите «UV/Image Editor».
На изображении снизу видно, как выглядит развертка в абстрактной области (1).
Теперь загрузите, нажав кнопку «Open», подготовленный ранее паттерн, на котором расположатся поверхности (2).
Загруженный паттерн в настройке развертки будет отображаться как фон (1).
Теперь необходимо выделить области и отредактировать их положение и размер.
Для этого включите параметр выделения «UV selection and display mode: Face» (2).
Выделите последовательно каждую область с помощью инструмента «Кисть» (клавиша «С»),
переверните («R»), измените масштаб («S») и переместите («G»).
В результате должно получится следующее:
Далее экпортируйте паттерн с разверткой в растровый файл. Для этого:
- В режиме «UV/Image Editor» выберите на нижней панели вкладку «UVs».
- Выберите «Export UV layout».
- Откроется файловый менеджер, где можно установить параметры экспорта (оставьте размер паттерна неизменным, т. е. 1000×1000рх).
Вернитесь в редактор растровой графики (Adobe Photoshop). Полученное растровое изображение необходимо привести к виду:
Так как паттерн имеет размер 1000×1000px, то и пропорция равна 1×1.
Размеры рамок в области груди и спины в данном примере заданы в формате А3 (297×420рх),
так как он максимальный для печати на футболках.
Размеры отпечатка на рукавах (если предполагается печать и на рукавах)
укажите в (100×60) × 2 = 200×120.
Умножение на два здесь необходимо из-за увеличения развертки рукавов относительно груди и спины.
Если рамки не помещаются в область развертки, уменьшите их пропорционально и разместите в нужной области.
Далее с помощью инструмента «Rule Tool» (Линейка) (1) замерьте отступы
от верхнего левого угла каждой отмеченной области (2–3).
Эти отступы важны для настройки правильного наложения макета на модель на сайте.
Поэтому, чтобы не запутаться и не забыть про эти отступы,
можно их отметить непосредственно на изображении (3).
Настройка модели и карты закончена. Далее необходимо экспортировать модель в файл формата obj.
-
Выберите в редакторе (Blender) вкладку в верхней панели управления «File». -
Перейдите к пункту «Export». -
Выберите вариант экспорта «Wavefront (.obj)». -
Укажите директорию, в которую будет экспортирован файл, и нажмите кнопку «Export OBJ».
Далее сохраненную модель необходимо загрузить в панель управления сайтом и настроить наложение текстур для разных областей печати.
О том, как это сделать, можно прочесть в инструкции по загрузке модели.
Полигоны и текстуры (или «учебник по звездному небу»)
Совет использовать текстуры вместо полигонов встречается довольно часто. В этом уроке мы будем использовать некоторые передовые методы моделирования, которые могут заставить вас переосмыслить этот совет.
С момента появления трехмерной компьютерной графики люди искали способы уменьшить сложность, чтобы оборудование могло работать лучше. Это относится как к рендерингу, так и к графике в реальном времени — заставить компьютер рисовать что-то на экране может быть на удивление сложно. Глядя на конкретный 3D-объект или визуализацию, так называемые эксперты обычно повторяют примерно следующее: «Эй, знаешь, ты мог бы сделать это с помощью текстуры вместо всех этих треугольников».
Это чувство всезнайки, хотя обычно исходит из лучших побуждений, не всегда является лучшим советом. На самом деле, иногда бывает с точностью до наоборот.
Знакомо?
Во-первых, давайте покажем пример, когда старый совет «текстура дешевле, чем полигоны» имеет смысл. К счастью, я уже написал учебник, который охватывает эту концепцию. Аргумент «текстура дешевле, чем полигоны», хотя часто и верен, определенно не является универсальным. Вместо этого это скорее полезное напоминание о том, что может существовать альтернатива тому, как вы могли бы что-то создать. В случаях, подобных цепочке в статье, ссылка на которую была приведена ранее, совершенно очевидно, что объект с двумя треугольниками и текстурой будет менее обременительным, чем объект с десятками тысяч треугольников. Но не все ситуации столь однозначны.
О, мои звезды!
Недавно я столкнулся с проблемой, которая заставила меня переосмыслить свой подход к моделированию и текстурированию. Я решал, какое небо мне нужно в конкретной сцене, и остановился на идее неба поздним вечером, когда можно было бы начать видеть звезды, появляющиеся в более темных областях и в меньшей степени вблизи залитого солнцем горизонта.
На этой фотографии запечатлен вид неба, который я хотел создать, со звездами, начинающими проявляться в более темных частях неба. Фото Дэвида Аберкромби
Вскоре я обнаружил, что звезды на фотографии обычно состоят всего из нескольких пикселей. И чем больше изображение, тем меньше будут эти звезды. Поэтому, если бы я просто использовал большую панорамную фотографию неба или даже ее визуализацию, звезды были бы едва видны. И если эти звезды с по окажутся видимыми, существует высокая вероятность того, что они появятся на небе в виде маленьких кашицеобразных пятен. Отчасти это связано с тем, как сжимаются изображения, но это также распространенный побочный эффект при работе с текстурами, которые отображаются на такой большой площади — и нет никакого способа обойти тот факт, что небо должно быть довольно большим в большинстве случаев. сцены. И решение использовать изображение с невероятно высоким разрешением быстро потерпит неудачу, когда вы поймете, насколько большим должен быть размер файла.
Даже «большое» равнопрямоугольное панорамное изображение может выглядеть очень пикселизированным, если растянуть его на область всего неба.
Другая проблема со звездным фоном заключается в том, что вы несколько застряли с этим конкретным расположением звезд. В предыдущем ролике вы заметите, что на небе есть очень заметные звезды, почти похожие на облака. Может быть, я просто хочу несколько звезд здесь или там — или даже мультяшных пятиконечных звезд и планет. Было бы неплохо иметь возможность отделить небо от любых элементов, появляющихся на нем.
Геометрические узлы спешат на помощь!
Если вы новичок в системе геометрических узлов Blender, это может показаться немного пугающим. Есть еще один учебник, в котором рассматриваются основы (и не только) узлов геометрии, поэтому вы можете сначала проверить его. Но я постараюсь, чтобы здесь все было просто. Кроме того, на самом деле это более простое использование узлов геометрии и хорошее место для начала.
Рождение звезды
Со временем нам понадобится звезда, которая рассеется по нашему небу, поэтому я просто создам ее сейчас. Все, из чего он состоит, — это одна полигональная сетка (2 треугольника — нет необходимости в каких-либо подразделениях) с очень простой текстурой на ней. Я сделал белый круг со слегка размытым краем, но каждая звезда будет так далеко, что любая деталь может быть потеряна. На изображении ниже вы можете видеть, что я установил «Режим наложения» на «Альфа-смешение» или «Альфа-обрезка» (в зависимости от того, насколько мягким должен быть край). У моего изображения не было встроенной альфы (прозрачности), поэтому мне пришлось использовать вывод «Цвет», чтобы передать альфа-вход узла Principled BSDF.
Мое маленькое круглое изображение размером 128×128 не имеет прозрачности, поэтому я использую его цвет для управления альфой (прозрачностью) материала. Не забудьте установить «Режим наложения», иначе вокруг ваших звезд будет черный фон.
Я назову свой меш «Звезда.001», чтобы потом легко было его найти.
Не беспокойтесь о размере сетки звезд. Блендер, вероятно, сделал его 1 или 2 метра (в квадрате), но мы будем контролировать размер другим способом.
💡
Я исключил это из изображения выше, но в итоге я также соединил выход «Цвет» изображения звезды с входом «Излучение» узла Principled BSDF и немного увеличил «Силу излучения». Я хочу, чтобы звезды выглядели освещенными, так что это будет важно, когда они появятся в Hubs.
Что насчет этого графа узлов геометрии?
Нам нужен объект для хранения модификатора Geometry Nodes (и графика), но это может быть что угодно — наш график заменит все, что вы выберете. Я обычно делаю куб по умолчанию или даже одну вершину, это действительно не имеет значения.
Объекту нужен модификатор Geometry Nodes:
Любой объект-сетка может содержать модификатор Geometry Nodes. Модификатор ничего не делает, пока вы не сделаете для него график.
Откройте рабочее пространство Geometry Nodes (меню верхней вкладки), и теперь мы можем увидеть, что произойдет, когда мы создадим для него новый график. Это можно сделать либо в модификаторе узлов геометрии, либо в окне узлов геометрии вверху.
График узлов геометрии по умолчанию. Присвоение имени вашему графику важно, особенно если у вас их несколько.
Все, что делает график по умолчанию, — это берет существующую геометрию объекта, на котором находится график (в моем случае, куба), и передает его на выход — по сути, ничего не делая.
Еще не слишком интересно, не так ли?
Мы можем полностью удалить входной узел. Почему? Ну, куб нас не интересует — это просто контейнер для этого модификатора геоузлов и графа, который он содержит. Когда мы удаляем входные данные, больше не остается никакой геометрии для передачи, поэтому в результате наш куб исчезает.
Вместо этого мы собираемся использовать эту систему графических узлов для создания собственной геометрии — в данном случае купола, который станет нашим небом, вмещающим звезды.
Удаление входных данных Geometry по умолчанию и подключение узла-примитива сетки IcoSphere вместо него.
🔤
Вероятно, вы захотите переименовать свой начальный объект. Мой продолжал сбивать меня с толку, потому что назывался «Куб». Что-то вроде «StarrySky» может иметь больше смысла.
Ближе к концу клипа выше вы можете увидеть, что настроить икосферу с помощью узла очень просто. Эта возможность неразрушающего редактирования является ключом к тому, что делает узлы геометрии такими полезными. По мере продвижения вперед это будет становиться все более и более очевидным — и вы поймете, почему я не начал с создания сетки икосферы вручную в самом начале.
Scattering the Stars
Эта следующая концепция рассматривается почти во всех других онлайн-учебниках по узлам геометрии, но в интересах того, чтобы вы оставались здесь, я все равно пройдусь по ней.
Во-первых, мы должны использовать узел под названием «Распределить точки на гранях». Этот узел будет смотреть на входящую геометрию (нашу недавно сгенерированную икосферу) и случайным образом размещать точки на гранях. Для лучшего понимания вы можете вернуться к статье, упомянутой ранее.
Настройка значений плотности узла «Распределить точки на гранях». Обратите внимание, как мы все еще можем регулировать радиус икосферы, и изменения обновляются ниже по течению.
Далее мы добавим еще один узел в наш график:
Добавление узла «Экземпляр в точках» после узла «Распределить». Здесь я перетаскиваю сетку с одной звездой («Плоскость») прямо на график из Outliner. Это становится геометрией, которая подключается к входу «Экземпляр» узла «Экземпляр в точках».
Проще говоря, график использует объект «Плоскость» (одиночная звезда) и «экземпляр» его для каждой новой точки, созданной узлом «Распределение».
Проблема, которую мы создали сейчас, заключается в том, что мы только указали, на какие точки их поместить — мы не сказали, как мы хотим, чтобы они были ориентированы, поэтому по умолчанию они ориентированы на исходную сетку.
Относительно большие самолеты разбросаны по поверхности икосферы. Они не только слишком велики, но все они обращены в том же направлении, что и первоначальная звездная плоскость. Возможно, это начало новой Звезды Смерти…
Во-первых, мне нужно уменьшить масштаб инстансов звездных плоскостей, чтобы я мог видеть, что происходит. Будет легче понять их ориентацию, если они будут немного меньше. Здесь я просто ввожу новые значения Scale внутри узла «Instance on Points».
Есть лучшие способы работы с масштабом, но иногда вам нужно сразу увидеть вещи более четко. Значение Z-шкалы ничего не делает на этих плоскостях, но хорошо, когда это возможно, сохранять однородность.
Для ориентации мне нужно, чтобы каждая инстанцируемая звездная плоскость выровнялась с самим куполом, чтобы каждая звездная плоскость была обращена к центру икосферы. Для этого нам нужен новый узел под названием «Выровнять Эйлера по вектору». Мы возьмем «Нормальный» вывод узла «Распределение» и подключим его к вводу «Вектор» нашего нового узла. Затем мы передаем вывод «Вращение» во вход «Вращение» узла «Экземпляр в точках». (Это довольно много слов… спасибо вашим звездам за иллюстрации.)
«Выровнять Эйлера по вектору» позволяет нам взять поверхности купола, чтобы определить, как должен вращаться каждый экземпляр звездной сетки.
💡
В зависимости от ориентации вашего начального экземпляра меша вам может потребоваться попробовать различные настройки оси узла «Выровнять Эйлера по вектору», как я сделал в конце клипа выше.
И последнее, что касается ориентации…
Сначала вы можете ее не заметить, но поскольку наша начальная звездная сетка представляет собой плоскость, у нее есть поверхность только с одной стороны (сверху). Однако наша установка материала скрывает этот факт, рисуя текстуру с обеих сторон. Лично мне нравится знать, как обстоят дела, даже когда кажется, что все в порядке. Это позволяет избежать потенциальных проблем в будущем и дает вам лучшее управление вашей сценой.
В материале звезды, который мы сделали ранее, я найду те же настройки, которые я использовал для установки «Альфа-смешивания», и поставлю галочку в поле «Выбор задней поверхности». Это делает так, что материал отрисовывается только на передних гранях нашей звездной сетки и впоследствии влияет на все экземпляры звезд.
Backface Culling на материале гарантирует, что мы будем рисовать только передние грани меша, которому он назначен. Но это также показывает, что наши звезды обращены наружу, а не внутрь!
Хм… так что теперь мы можем видеть, что звезды на самом деле смотрят наружу, а не внутрь сцены. Есть несколько способов перевернуть их, но проще всего перевернуть лица икосферы, по которой они были разбросаны. Угадай, что? Для этого есть узел: «Перевернуть лица».
Узел «Отразить грани» просто поворачивает нормали граней на 180 градусов. Это также можно было бы сделать на оригинальной звездной сетке, но поскольку сфера на самом деле должна быть обращена внутрь , этот метод имеет наибольший смысл.
😖
Если вы начинаете чувствовать себя немного подавленным огромным количеством узлов геометрии, не волнуйтесь. Лучший способ выучить их — по одному — использовать их по мере необходимости. Прежде чем вы это узнаете, они станут частью вашего 3D словаря.
Масштабирование звезд (на этот раз лучший способ)
Наше звездное небо начинает приобретать форму, но оно по-прежнему больше похоже на большой диско-шар, чем на планетарий. Очевидно, звезды еще слишком велики. Хуже всего то, что они все одинаковые.
К счастью, в узлах геометрии Blender есть множество способов ввести случайность, а это как раз то, что нам нужно, чтобы наши звезды выглядели более естественно.
Здесь я использую удобную технику для создания новых узлов — обратите внимание, как я это делаю:
Перетаскивание из входа или выхода вызывает всплывающее окно, которое позволяет искать и выбирать из всех узлов. Это может избавить вас от необходимости постоянно вручную подключать узлы.
Как только это «Случайное значение» соединится со «Шкалой» «Экземпляра на очках», вы, вероятно, увидите, что ваши звезды сойдут с ума. Они просто показывают значения по умолчанию — в данном случае минимум ноль и максимум 1 по всем трем осям. Попробуйте изменить эти значения, чтобы они имели больше смысла…
Это непросто, правда? Прежде всего, вы пытаетесь изменить 6 значений (ну, 4, которые действительно что-то делают). Между тем, начальный размер исходного звездного меша, вероятно, все еще слишком велик. Это немного головная боль, пытаясь понять конечный результат.
Прежде чем паниковать, обратите внимание, что узел «Случайное значение» имеет раскрывающееся меню. Вы можете изменить его, чтобы он читался как «Плавающий» вместо «Векторный». Это упростит узел, так что он выводит только 2 случайных значения (мин/макс). Побочный эффект (и тот, который нам действительно нужен) заключается в том, что каждая звезда всегда будет масштабироваться единообразно по всем осям. В противном случае каждая звезда, возможно, масштабировалась бы по-разному по осям X и Y — потенциально крутой вид, но не то, к чему мы стремимся.
🔌
Вы можете обнаружить, что изменение настроек узла иногда приводит к отключению его проводов. Блендер обычно делает это, когда результат будет неверным, и чтобы избежать ошибок компиляции.
Мы можем добавить еще один узел для управления общим масштабом. Этот тип операции довольно распространен в узлах геометрии, поэтому хорошо запомнить:
Мы можем умножить значения масштаба, поступающие из узла «Случайное значение», на число, которое уменьшит их все. Для этого мы можем использовать узел «Математика» и установить для него значение «Умножение».
Математические узлы, вероятно, являются наиболее часто используемыми узлами в любом графе узлов геометрии. Загляните в раскрывающийся список, и вы увидите, насколько они универсальны.
Путем настройки случайного минимума/максимума и общей шкалы теперь мы можем добиться лучшего результата.
Наша новая настройка значительно упрощает настройку мин./макс. и общей шкалы.
🎚️
При настройке очень маленьких значений в Blender вы можете удерживать «Shift», чтобы сделать шаг более точным при перемещении значений вверх и вниз. «Ctrl» делает наоборот.
Рандомизация типов звезд
Если вы обнаружите, что все звезды выглядят слишком похожими, несмотря на то, что они имеют разный масштаб, довольно легко заставить ваш график использовать разные звезды — вам просто нужно сначала сделать их.
В моде для кулинарных шоу я пошел дальше и заранее сделал множество звезд. Все это просто дубликаты исходного звездного меша, но я дал им новые материалы с другими текстурами.
Дубликаты оригинальной звездной сетки, каждая с уникальной текстурой. Здесь я разложил их, чтобы лучше проиллюстрировать, но обычно лучше оставить их в начале координат (0, 0, 0).
🧠
Более разумным способом обработки нескольких текстур было бы размещение всех различных изображений звезд на одном текстурном листе или «атласе». Затем вы можете просто сместить их UV, чтобы они выглядели по-другому. Преимущество этого заключается в использовании меньшего объема памяти для текстур и меньшем количестве вызовов отрисовки в концентраторах графического процессора или в любом механизме рендеринга в реальном времени.
Ключевым моментом здесь является убедиться, что вы поместили все эти меши со звездами в их собственную коллекцию. (Обратите внимание на коллекцию, обведенную кружком на изображении выше.)
Как и раньше, когда мы перетаскивали звездную сетку на наш график, мы сделаем то же самое, только на этот раз мы перетащим всю коллекцию. На графике создается узел «Информация о коллекции».
Наборы объектов можно перетаскивать в графы узлов геометрии точно так же, как отдельные объекты.
Теперь нам нужно заменить исходный узел звездообразной сетки узлом-коллекцией. Вы заметите, что внезапно каждая звезда была заменена ВСЕМИ звездами. Мы не хотим каждый раз использовать всю коллекцию, поэтому нам нужно включить «Отдельные дочерние элементы» в узле «Информация о коллекции». Наконец, нам нужно включить флажок «Выбрать экземпляр» на узле «Экземпляр на точках».
Использование «Отдельных детей» и «Выбрать экземпляр», чтобы заставить каждую звезду выбрать другой предмет из коллекции.
Это не было показано в ролике выше, но теперь вы можете видеть, как каждая звезда получает свой меш из коллекции.
Если вы хотите сделать десятки разных типов — планеты, туманности и т. д. — вам просто нужно добавить их в коллекцию, и ваше небо будет обновляться автоматически!
Завершение (наши UV)
Чтобы завершить все, что мы сделали с графом узлов геометрии, нам нужно сделать пару вещей. Во-первых, нашему графику нужен специализированный узел под названием «Realize Instances» в конце. Это возьмет каждый экземпляр звездной сетки и преобразует его в обычную сетку. Однако (по причинам, по которым я не хотел бы вдаваться в подробности) добавление этого узла приведет к удалению UV-координат со звезд, в результате чего у них не будет текстур.
Узел «Realize Instances» может вызывать проблемы с UV и текстурами. Продолжайте читать, чтобы узнать, как с этим бороться.
Чтобы избежать этой проблемы, есть несколько необычный обходной путь. Мы должны сначала применить модификатор Geometry Nodes. На самом деле это создаст новый набор UV-разверток, но они будут отображаться в другом месте, чем обычные UV-развертки, с которыми вы, возможно, знакомы. На вкладке «Свойства данных объекта» есть раздел «Атрибуты». После применения модификатора у вас будет пара наборов данных внутри «Атрибутов». Выберите тот, который называется « UVMap », затем используйте значок со стрелкой вниз и выберите «Преобразовать атрибут». В следующем всплывающем окне выберите «UV Map» и нажмите «ОК».
Раздел «Атрибуты» является относительно новым для Blender, но именно туда вам нужно перейти, чтобы вернуть текстуры на место.
Как только вы конвертируете данные UVMap, текстуры снова появляются на модели. Вау!
🤔
Вы можете подумать: « Но я не обязательно хотел свернуть все и потерять свой график ». Но помните, что этот график все еще существует, и его можно просто применить к новому объекту, чтобы сделать еще одно звездное небо. Единственное, что вы хотите сохранить, это ваши звездные сетки. Каждый раз, когда вы используете этот график, он должен снова ссылаться на эти звезды.
Соединяем все вместе
Теперь у нас есть эта красивая одиночная сетка, состоящая из множества маленьких сеток, каждая со случайными звездными текстурами. Если вы не сделали исходную сферу достаточно большой для вашей сцены, вы всегда можете вернуться на несколько шагов назад и увеличить размер икосферы на графике.
Но вам также может быть проще перейти в режим «Редактировать», установить 3D-курсор в исходную точку, а затем масштабировать все звезды вместе. Это также будет иметь побочный эффект в виде увеличения самих звезд. Но вы можете переключить раскрывающийся список «Transform Pivot Point» на «Individual Origins», а затем масштабировать все грани звезды по отдельности одновременно.
Использование опций Transform Pivot Point в Blender для масштабирования всего неба по сравнению с отдельными звездами.
Наконец, мы можем использовать этот шар из звезд сам по себе (простой фон) или как слой поверх любого выбранного вами фона неба.
Звезды могут работать практически на любом фоне. Регулировка их силы излучения может помочь добиться желаемой яркости.
Идем дальше…
Методы, которые вы видели здесь, могут быть применены ко всем видам вещей, от облаков до фоновых деревьев и зданий. Вместо того, чтобы разбрасывать вещи по сфере, вы можете поэкспериментировать с более простыми сетками или использовать узел «Экземпляр на точках», чтобы просто поместить модель в каждую вершину (точку) другой модели.
В другой сцене я использовал ту же технику для создания звезд, но затем добавил компонент «ультрафиолетовая прокрутка» (как показано в этой серии уроков), чтобы некоторые звезды слегка «мерцали», если вам случится смотреть на них достаточно долго, чтобы заметить.
Если это был ваш первый опыт использования узлов геометрии, поздравляю. Концепции не всегда легко понять сразу, но чем больше вы их используете, тем легче становится. Я все еще изучаю их сам, так что заходите в Hubs Discord, и, возможно, вы могли бы поделиться своими трюками с сообществом по мере того, как ваши навыки улучшаются.
Очень тонко, но звезды мерцают (ультрафиолетовая прокрутка). Что еще более важно, звезды красивые и четкие, а не выглядят размытыми и пикселизированными.
Слой | |
Включить | Включает и выключает эффект слоя, чтобы дублировать функциональность переключения видимости в дереве шейдеров. Если этот слой отключен, он не влияет на затенение сцены. Однако Modo сохраняет отключенные слои вместе со сценой, и они сохраняются в сеансах Modo. |
Инверсия | Инвертирует цвета (значения RGB) слоя для создания фотонегативного эффекта. |
Режим наложения | Влияет на смешивание между разными слоями одного и того же типа эффекта. При этом вы можете складывать несколько слоев для разных эффектов. Дополнительные сведения о смешивании см. в разделе «Режимы смешивания слоев». |
Непрозрачность | Изменяет прозрачность текущего слоя. Уменьшение этого значения приводит к большему раскрытию нижних слоев в дереве шейдеров, если они присутствуют, или приглушает эффект самого слоя на поверхности. |
Локатор | Устанавливает ассоциацию для локатора текстуры. Большинство текстурных слоев имеют локатор текстур, который Modo автоматически создает в списке элементов . Это определяет отображение текстуры (как Modo применяет текстуру) к поверхности. Вы можете указать альтернативные локаторы, но необходимость в этом возникает редко. Тем не менее, вы можете захотеть, чтобы несколько элементов текстуры использовали один локатор. |
Геометрический — Многоугольник | |
Региональные семена | Указывает начальный номер, который Modo использует при генерации процедурных значений. Разные 9Значения 0181 Seed создают различные случайные вариации и могут быть полезны при изменении результата текстуры; однако вам нужно использовать одно и то же значение Seed , если вы хотите, чтобы элементы сохраняли те же варианты. |
Стороны многоугольника | Определяет количество сторон многоугольника(ов). |
Гладкая | Определяет степень сглаживания по краям полигона. Более высокие значения создают более гладкие края. |
Повторить | При включении текстура повторяется бесконечно. |
Треугольный | Если этот параметр включен, шаблон будет иметь кромку на основе треугольника вместо пилообразного перехода по умолчанию. |
Disturb Controls — Изменяет внешний вид сгенерированной текстуры. Шумовой слой искажает текстуру на основе Disturb Magnitude . | |
Беспокоящий шум Тип | Определяет внешний вид искажения текстуры и предоставляет несколько типов функций шума: • • Улучшенный Перлин • Градиент • Значение • Значение градиента • Импульс • Решетка • Пузырь |
Беспокойный шум Семя | Указывает начальный номер, который Modo использует при создании процедурных значений. Различные значения Seed создают разные случайные вариации и могут быть полезны при изменении результата текстуры; однако вам нужно использовать те же Начальное значение , если вы хотите, чтобы элементы сохраняли одни и те же варианты. |
Нарушение октавы | Определяет количество итераций, которые Modo использует для создания текстуры. Когда вы увеличиваете это значение, Modo генерирует искажение, суммируя шум, при этом каждый суммированный шум составляет половину величины предыдущего суммированного шума. При низких значениях искажение меньше для создания гладкой текстуры, но искажение увеличивается по мере увеличения числа октав. |
Величина возмущения | Определяет силу эффекта искажения базовой текстуры. |
Взрывные весы | Управляет общей частотой (или масштабом) текстуры. Увеличение этого значения создает больше искажений, чтобы взбудоражить паттерн. |
Деталь беспокойства | Определяет размер шага, который Modo использует между каждой итерацией шума, чтобы нарушить текстуру. |
Полное трехмерное искажение | Включает полное 3D-искажение, что дает лучшие результаты, но рендеринг полного 3D-искажения занимает больше времени. |
Элементы управления выходом | |
Нижний зажим | Определяет уровень обрезки для Цвет/значение фона , чтобы обрезать значения, превышающие заданный параметр. В сочетании со значением Upper Clip вы можете применить этот параметр, чтобы расширить или уменьшить диапазон значений текстуры. |
Верхний зажим | Определяет уровень ограничения для Цвет/значение переднего плана для усечения значений за пределами определенного параметра. В сочетании со значением Lower Clip вы можете применить этот параметр, чтобы расширить или уменьшить диапазон значений текстуры. |
Смещение | Определяет, предпочитает ли текстура цвет переднего плана или фона. Увеличение этого значения заставляет текстуру отдавать предпочтение цвету переднего плана; уменьшение значения способствует цвету фона. |
Усиление | Определяет эффект спада текстуры. Это похоже на управление гаммой, которое влияет на спад градиента между двумя значениями цвета. Установка Gain на 100% создает эффект резкого спада; установка значения 0% создает плато вокруг значения (или средней точки цвета) с резким спадом на любом пределе градиента. |
Области вывода | Если включено, выводит случайные оттенки серого для каждой области, а не контуры плиток. Это добавляет случайное разнообразие в процедурно созданную текстуру. Вы можете дополнительно контролировать количество вариаций, используя уровень процесса Regional HSV. |
Цвет фона/значение | Определяет Цвет (или Значение ) фоновой области текстуры, которая постепенно приближается к Цвет/значение переднего плана . |
Фон Альфа | Определяет прозрачность Alpha цвета фона . |
Фон — использовать последний слой | Если этот параметр включен, область Background Color становится полностью прозрачной, чтобы можно было увидеть результаты затенения нижних слоев. |
Цвет/значение переднего плана | Определяет Цвет (или Значение ) области переднего плана текстуры, которая постепенно приближается к Фоновому цвету/значению . |
Альфа переднего плана | Определяет прозрачность Alpha Цвет переднего плана . |