Прошлый раз, став профессиональным модельером, мы разобрались, как создавать примитивные формы, сегодня же, начнется настоящее аниме - редактирование сетки модели.
После прошлого урока, вы можете создать...
Сферический конь в вакууме.
Кубизм во всей красе.
Быстрые клавиши:
Клавиша A - выделить все.
Клавиша X - удалить.
Shift + A - создать примитив.
Новые клавиши:
Клавиша G - перемещать объект.
Клавиша R - вращать объект.
Клавиша S - масштабировать объект.
Tab - режим редактирования.
1, 2, 3 - (в режиме редактирования) режим выделения вершин, граней и полигонов.
Ctrl + R - разделение сетки модели.
E - выталкивание.
Клавиши дублируются визуальными элементами интерфейса:
Вчера, буквально за час мы стали профессиональными модельерами и аниматронами, сегодня, как и обещал, будет компиляция в "игру". Разумеется, это будет самый простой на свете кликер, идея которого мне показалась забавной, но я конченый - мне можно с такого угорать.
Итак вчера мы кончили на...
Простота формы каждый раз меня наводит на странные мысли...
Выбираете все объекты (A), жмете правую кнопку мыши > Shade Smooth.
В левом углу Blender > File > Export > FBX. Сохраняем куда угодно, кроме корзины.
Скачиваем Unity Hub (через него качается Unity3d).
Я обычно создаю несколько папок для удобства, но сейчас хватит и одной.
В этой папке создаем ( ПКМ > Create >) :
Два Material
Два NewMonoBehaviour Script (Назовем Main и AnimationEvents)
Animation > Animator Controller
Два Animation > Animation Clip (Назовем Tuda и Suda)
Rendering > Render Texture (Ставим в Inspector Size 512 x 512)
Перекинем сюда ранее сохраненную из Blender *.FBX - модель.
Добавим картинки.
Так как я не художник, картинки я сгенерировал в нейросети, слегка подмазал края, добавил Speech Bubble и вписал туда произвольный текст (Лучше, конечно, текст делать в Unity3d).
Закинул в Unity3d с параметрами Texture Type - Sprite (2D and UI), Sprite Mode - Single.
Вот сами картинки:
1/7
*.FBX - модель из окна Assets перетаскиваем в окно Hierarchy, затем назад, создавая Prefab.
Двойным нажатием в окне Assets открываем этот Prefab.
В окне справа (Inspector) добавляем Add Component > Animator
Из окна Assets перетаскиваем Animator Controller в Controller
Перетаскиваем AnimationEvent Script в Inspector.
Создаем и назначаем новый Layer на этот Prefab.
Назначаем Materials на нужные элементы в окне Hierarchy слева
Раскрываем в окне Assets оригинальную *.FBX - модель (белый кружок с треугольником), находим анимацию (светлый треугольник | Action), двойным нажатием мышки открываем ее, соглашаемся с Read Only, затем выделяем все ключи (Ctrl + A), копируем (Ctrl + C). Открываем Animation Clip Tuda и вставляем (Ctrl + V) ключи, то же самое делаем и с Animation Clip Suda.
Двойным нажатием в окне Assets открываем Animator Controller
ПКМ в окне Animator > Create State > Empty.
Перетаскиваем Animation Clip Tuda и Suda.
Последовательно соединяем (ПКМ по элементу > Make Transition)
В левом верхнем углу Animator видим вкладку Parameters, кликаем "+" создаем Trigger.
Настраиваем параметры анимаций и связей кликая на них ЛКМ.
Переход от New State к Tuda со снятой галочкой Has Exti Time и Conditions - Trigger.
Параметр Speed у Tuda - 2.
Переход от Tuda к Suda, Setting > Exit Time 1, Transition Duration 0.
Параметр Speed у Tuda - -2 (инвертируем анимацию)
Переход от Suda к Exit, Setting > Exit Time 0.7, Transition Duration 0.1.
Exti Time определяет какой процент анимации играется 0(не играется) - 1(играется вся).
В основном окне Unity3d > GameObject >
UI > Canvas (Создаем 2)
Назовем ScoreCanvas и ImagesCanvas.
UI > Image (Создаем 3)
Назовем BackGroundImage, CharacterImage, Аi_image
UI > Raw Image
Назовем RenderTexture
UI > Text - TextMeshPro (Import TMP Essentials если нужно, создаем 2)
Назовем ScoreText и TimerText
UI > Button - TextMeshPro
Camera
Create Empty
Вкладываем объекты один в другой, иерархия должна быть примерно такой:
Main Camera, параметр Culling Mask снимаем слой нашей модели.
У Camera отключаем Post Processing, в Culling Mask отмечаем только слой нашей модели, Background Color ставим Solid Color и меняем Alpha - канал на 0 делая фон прозрачны, в Output Texture перетаскиваем Render Texture из Asset. Audio Listener удаляем иди выключаем.
Располагаем так, чтобы Camera смотрела под нужным углом на модель в сцене.
Настройки Canvas`oв, Sort Order на ImagesCanvas - 0, на ScoreCanvas - 1
ScoreText и TimerText располагаем где нужно, выбираем цвет и настройки шрифта.
BackGroundImage я оставил просто белым, растянул на весь Canvas.
CharacterImage в параметр Source Image назначаем любую картинку из Asset
Аi_image в параметр Source Image назначаем соответствующую картинку из Asset
RenderTexture в параметр Texture назначаем Render Texture из Asset
У кнопки удаляем текст, делаем фон прозрачным, она должна перекрывать RenderTexture.
На GameObject перетаскиваем Script Main из Asset
Подгоняем расположение и размеры элементов, у меня получилось так:
И тут стало ясно к чему дело-то идет...
Скрипты, Анимация и ее эвенты.
Находим в Assets скрипт Main и пишем:
В Hierarchy находим Button, в параметрах ищем OnClick(), жмём «+».
В none (object) кидаем Gameobject из Hierarchy (на котором Main.cs)
в выпадающем поле none (function) выбираем Main > ClickOnButton().
Если все в порядке, при клике проиграется анимация:
Дважды кликаем на анимации Tuda, создаем Event примерно на 95% анимации, справа в Inspector в поле object перетаскиваем Prefab из Asset, а в function пишем Event_0.
Для анимации Suda нужно сделать примерно (Зависит от Exit Time в Animator) также, но так как анимация играется в обратную сторону, ее конец будет ближе к началу :) у меня это где-то на 20%,, в function пишем Event_1
Находим в Asset AnimationEvent Script и вписываем туда:
Если в Animator замедлить анимацию (Снизить параметр Speed), можно в консоли слева увидеть когда вызывается Event:
Добавляем в AnimationEvent ссылку на Main script, меняем методы на вызов методов Main:
А в Main Скрипте добавляем ссылку на AnimationEvent script, на элементы интерфейса, создаем лист с картинками, добавляет функцию сокрытия\показа картинки и цикл для выбора каждый раз новой не повторяющейся картинки:
Выбираем GameObject в Hierarchy, заполняем все необходимые поля (кроме Animator):
Результат:
Можно зайти в главном окну Unity3d в Edit > Project Settings > Player > Resolution and Presentation и поменять Orientation на, например, Landscape Left чтобы результат запускался всегда в горизонтальной ориентации.
Можно зайти в File > Build Profiles > Android > Switch Platform > Build.
Готовый APK-файл можно скачать на телефон и запустить.
Можно много чего сделать. Понятно, что чем больше игра, тем она сложнее в плане менеджмента, но всякую мелкоту пилить и заваливать ими Стим очень легко.
После того как час назад мы научились быть профессиональным модельером, не отходя от кассы (или пока нас не погнали ссаными тряпками), надо бы сразу и научиться анимировать.
Остановились мы на Яйце Фаберже...
Чудо света и воистину ювелирный шедевр.
Новые клавиши для удобства:
Клавиши Ctrl + J - объединить выбранное.
Клавиша G + ось - перемещать объект.
Клавиша R+ ось - вращать объект.
Клавиша S+ ось - масштабировать объект.
Клавиши X, Z, Y - оси.
Клавиша I (Animator) - вставить ключи.
Ctrl + S - сохранить проект.
Выделяем все находящиеся объекты на сцене (A), объединяем их (Ctrl + J), затем создаем новый объект (Shift + A) > Mesh > Torus. Выделяем (ЛКМ) созданный Torus и перемещаем (G + Z) его выше над Яйцом Фаберже. Должно получиться что-то вроде этого:
Находим сверху в Blender вкладку Animation и нажимаем на нее...
Последовательно прожимаем все как на картинке, переходя в Action Editor и создаем New.
Выделяем Torus (если не выбран), и нажимаем I (Insert keyframes), затем последовательно перемещаем Torus вниз (G+Z) и масштабируем его (S), перемещая голубую полоску на Timeline примерно на каждые 5 пунктов (кадров) нажимая I после каждого перемещения и масштаба.
В правом нижнем углу таймлайна ставим ограничение по длительности анимации.
Должно получиться примерно так:
1/5
Вот такой невинный результат у нас получился.
В следующем уроке вы узнаете как сделать полноценную мобильную игру с помощью этого.
Только что вы прошли 30% любого онлайн-курса по 3D-моделированию.
С этого момента, вы можете создать...
Также вами с легкостью могут быть созданы объекты как...
А если проявить фантазию и объединить несколько примитивов...
Неужели люди действительно идут и платят примерно 50 упаковок кошачьего корма, чтобы научиться буквально самым базовым вещам? Все курсы, которые я видел, это набор самых примитивных "премиум" видосов с ютуба и телеграмм-канал, где вашу работу кто-то "проверяет".
В следующем гайде вы узнаете, как быть профессиональным аниматроном.
Если предпочитаете пользоваться планшетом, то рекомендую начать с этого видео
Далее собственно сам гайд по персонажам, который я утащил с Ютуба, до того как он заболел)
1. Базовый блокинг персонажа Создание фундаментальной формы и пропорций модели
2. Скульптинг тела Проработка анатомических деталей и форм туловища
3. Скульптинг головы Моделирование лицевых пропорций и деталей
4. Ретопология головы Оптимизация сетки для анимации
5. Ретопология тела Создание оптимальной топологии для движения
6. Базовый риггинг Настройка скелетной структуры модели
7. Моделирование волос Создание причёски с помощью кривых
8. Одежда и аксессуары Добавление элементов гардероба и украшений
9. Материалы и текстуры Настройка внешнего вида персонажа
Что внутри:
• Blocking Out — базовый этап построения формы • Body Sculpt — детальная проработка тела • Head Sculpt — моделирование головы и лица • Head Retopology — ретопология головы • Body Retopology — ретопология тела • Base Mesh Rigging — основы риггинга • Modeling Hair with Curves — создание волос • Clothes & Accessories — моделирование одежды • Materials — настройка материалов
Сейчас я расскажу о баге, который случился недавно, когда я зашёл на официальный сайт по багам Blender, сделав анализ большого количества сообщений от других пользователей, понял, что не только у меня подобное случилось. На данный момент из-за серверной части Vulkan, который является частью модуля gpu, на новых версиях стали происходить массовые баги, в связи с чем я себе сказал, что когда решу эту проблему, расскажу всё, что либо нашёл, и как я её решил.
У меня проблема возникла во время скульптинга, файл сам по себе имел большой вес, когда я хотел закрыть проект, произошёл автосейв и получился тайминг, который и сломал модель, это я сделал вывод исходя из поиска решения. Что я делал, чтобы исправить ошибку: Blender crashes opening certain file.
Проект весил более 80 mb, имел версию 4.5.1 LTS.
Пункты я расставил в приоритетном порядке. То, что поможет точно — принудительная выкачка файлов со сцены.
Та самая выкачка файлов. 1. Открыть новую сцену -> File -> Append -> выбираем наш файл -> выбираем и по пунктам добавляем файлы -> осторожно с файлом scene — он может быть багнутым, и программа вылетит. \ 2. Зайти в папку autosave и открыть прошлые сохранения, но если вы, как я, их удалили случайно или у вас их нет, то задумайтесь. \ *Если вы их удалили, то даже не думайте о программах для восстановления удалённых данных, я через это прошёл и могу сказать, что файлы после восстановления будут сломаны, но на файлы сцены, которые весят меньше 2mb может и сработает, но это до сотни полигонов :) 3. Открыть дополнительные сохранения, они находятся там же, где и сам файл, имеют тег blend1, blend2 и т. д. Рекомендую вам настроить их количество. Это делается там же, где и autosave. Функция называется «Save versions». \
Решение проблемы без выкачки. - Скинуть файл доверенному другу, если открывается и у него, то пробуем все остальные способы. Если нет, можно на способы ниже не надеяться (но лучше попробовать) и сразу приступать к выкачке данных со сцены. - Пытался запустить файл от имени администратора, через командную строку, через различные запуски блендера со специфическими ограничениями (запустить на базе OpenGL и т. д.). Запустить blender можно по-разному, достаточно глянуть его расположение, и можно увидеть много приложений cmd для аварийного запуска программы. - Пытался проверить абсолютно все обновления PC, переустановил разные версии обновлений для видеоядра. - Пытался открыть проект на других версиях (на версии 4.3 он не запускается, на версии 5.0 крашится). *Версия 5.0 имеет нововведения по устранению багов. - Пытался отключить кастомные аддоны. - Пытался переустановить Blender. - Пытался использовать Steam-версию Blender. - Пытался открыть файл в другом расположении. *В другой папке под другим именем, поменяв русский на английский. «Мачете» -> «Machete». - Были попытки перезапуска компьютера. (Несколько раз комбинируя разные методы.) - Я не пробовал, но как способ — запустить blender на другой видеокарте или без неё.
Что мне помогло? -Выкачка файлов через append и только.. Что я поменял? -Я сделал расположение временных файлов в другом месте, там я точно их не удалю, я увеличил количество сохранений до 5 (которые имеют тег blend1, blend2 и т. д.) Я узнал о других ошибках и о их решениях, чаще начал сохранять файлы, больше появилось доверия к сообществу 3d. Я нашёл решение сам, но спустя 2 часа решения, мне написали много вариантов, из которых и было тоже моё решение, это не может не мотивировать делать также.
Хотите добавить немного магии к вашим статичным фотографиям? Теперь это проще простого с LeiaPix. Онлайн-сервис позволяет преобразовать обычные снимки в потрясающие 3D-анимированные сцены всего за несколько шагов.
Используйте одноразовую почту, чтобы скачивать результаты в 4K без водяных знаков и ограничений. Загрузите свою фотографию на сайт. Настройте скорость, вид и длительность анимации по своему вкусу. Сохраните видео в одном из поддерживаемых форматов: GIF, MP4, 3D, LIF или SBS.
Сервис позволяет оживить ваши картинки, придавая им глубину и динамику. Независимо от того, создаете ли вы контент для социальных сетей или просто хотите удивить друзей необычным фото, этот инструмент отлично выполнит свою задачу.
Привет, разрабы! Хочу поделиться с вами моей техникой по созданию более детализированных архитектурных объектов. Надеюсь она и вам будет полезна! Делитесь с друзьями 3дэшниками -------- Профессиональный художник по окружению. Работал над PUBG, Walking Dead, Atomic Heart. Веду канал в Телеграм о разработке игр, советами и техниками по моделированию окружения, подписывайтесь @Cod3Art