Как нарисовать розу карандашом
"Спящий монстр".Рисунок простым карандашом
Гознаковский ватман А3, механический простой карандаш Koh-I-Noor, 2В-6В.
Я давно рисую автомобили и это для меня оплачиваемое хобби. В основном это американская классика, есть в ней изящество и шик вкупе с мощью и стремительностью.
Люблю сложные детальные сюжеты, хром, ржавчина, двигатели..
Пост рисованных фэнтезийных зайцев №5
Путь дурака. Игра на Unity с нуля до выпуска. Часть 2 - Как сделать главное меню игры (пост #1)
В прошлой части мы скачали Unity, подготовились к работе, создали проект, первую сцену и на ней объекты Canvas и Background. В этот раз мы создадим главное меню нашей игры.
Для начало запомните важную вещь - в 2D игре интерфейс построен на слоях. Одно поверх другого. А также связь Parent - Child (Children) - когда один объект находится в другом и свойства родительского объекта влияют на свойства потомка. Именно по этим принципам мы и будем строить наше меню. Давайте попробуем визуально представить как его можно расположить на экране.
Левый блок - это будет объект mainMenu. Он будет родителем для объектов "название игры", "пункты меню" и "ваше лого". Они тоже будут содержать в себе объекты. Начнем.
Создайте пустой объект (Empty Object) и сделайте его дочерним объекта Canvas (в иерархии перетяните один объект на другой). Другой вариант - клик ПКМ по объекту Canvas и затем выбор создания пустого объекта. Так он автоматически станет дочерним. Переименуйте его в mainMenu.
Чтобы mainMenu стало видно на экране, ему нужно добавить компонент Image через меню Add Component в инспекторе (как добавлять компонент я рассказывал в прошлом посте). Так, ну и где же он?
Чтобы придать нашему меню нужное положение, воспользуемся его компонентом Rect Transform. В разделе Anchors устанавливаем:
Затем Left, Right, Top, Bottom ставим по нулям.
Теперь установим нашему меню вместо белого пятна приятный глазу цвет. В компоненте Image нажмите на поле Color и установите:
- R - 0.012 (красный)
- G - 0.012 (зеленый)
- A - 0.7 (альфа-канал или прозрачность)
Для закрепления материала по размещению объекта на экране создадим два декоративных элемента - две полоски по бокам от плашки меню.
1. Создаём два пустых объекта как Child объекта mainMenu - line1 и line2
2. Назначаем Anchors для line1
3. Назначаем Anchors для line2
4. Устанавливаем обоим объектам цвет как у mainMenu
Теперь можно похвалить себя и подышать свежим воздухом. Далее нам нужно создать объекты для названия игры, пунктов меню и логотипа. Делаем мы это по тому же принципу - создаем дочерние объекты в mainMenu - top, middle и bottom. Для наглядности сразу добавляем им компонент Image с белым цветом (потом изменим).
Аккуратно распределяем объекты на объекте mainMenu, расставляя значения Anchors.
Top --> X: (0, 1) Y: (0.8, 0.96)
Middle --> X: (0, 1) Y: (0.15, 0.8)
Bottom --> X: (0, 1) Y: (0.04, 0.15)
Для создания небольших отступов или точного корректирования положения объекта можно задавать значения Left, Right, Top, Bottom в компоненте Rect Transform. Попробуйте поставить всем трем объектам эти значения по 2 пикселя. Главное не злоупотреблять этим, а то может верстка перестать быть стабильной.
Итак, мы нашли хорошее расположение для блоков и теперь можем удалить у них компоненты Image и Canvas Renderer, так как больше они нам не понадобятся.
Давайте сделаем для игры графическое название. Можно, конечно, и текстом, но графикой будет симпатичнее. Мы же делаем игру для людей, а не черновик для себя - так ведь?
Откроем Фотошоп и создадим в нём новый файл размером 1000х1000 пикселей.
Затем добавим название игры.
Нарисуем декоративную линию.
Добавьте слоган внизу, затем подрежьте инструментом "Рамка" лист по самые края логотипа.
Далее удаляем слой фона, чтобы сделать логотип прозрачным. Затем устанавливаем размер изображения с шириной в 1000 пикселей. После этого нам очень важно сделать так, чтобы каждая сторона изображения была кратна 4 - это необходимо для применения алгоритмов сжатия, чтобы уменьшить вес игры. Так как обрезать уже нечего, то через "Размер холста" делаем высоту 212 пикселей. Итоговый размер 1000х212.
Когда всё готово, вы должны поменять цвет всех объетов на белый. Зачем? На белое изображение в Unity мы легко сможем наложить любой цвет, если нам приспичит. На чёрный - не получится.
Сохраните полученое изображение в формате PNG и положите его в папку проекта Assets/Resources/Images (создайте её). Сам исходный файл PSD сохраните в отдельной папке вне проекта, где вы будете хранить исходники графики.
Самое время добавить созданное название в игру! Создаем для top дочерний объект gameName, добавляем ему компонент Image и выравниваем на экране. Для того, чтобы изображение не искажалось, в компоненте Image активируем Preserve Aspect - эта функция позволит сохранить пропорции.
Отлично! Гейб Ньюэлл вами был бы доволен.
Теперь займёмся объектом middle и сделаем в нем несколько кнопок, которые будут вести в нужное место - "Новая игра", "Загрузить игру", "Настройки", "Об игре", "Выход".
Нам пригодится полезный компонент под названием Vertical Layout Group. Он выравнивает дочерние объекты по вертикали, регулирует их высоту, ширину и отступы. Это означает, что нам не придётся вручную устанавливать размеры и положение кнопок. Его можно сразу добавить к объекту middle.
Таким же образом добавьте еще 4 кнопки и настройте Vertical Layout Group у объекта middle.
Padding - это отступы всего списка кнопок относительно объекта.
Spacing - это отступы между кнопок.
Потыкайте настройки, чтобы понять, как это работает, а потом сделайте как на скриншоте. Как видите, теперь у нас есть аккуратный список кнопок.
Обратите внимание на иерархию - у каждой кнопки есть дочерний объект Text. Это такой же объект, как и все, только с прикрепленным компонентом Text. В нем можно вписать текст объекта, указать шрифт, размер, начертание, цвет, выравнивание. Этих настроек вполне достаточно для нашей игры. Установите размер шрифта 24 пикселя.
Теперь можно нажать кнопку Play вверху рабочего стола и потыкать по кнопкам.
У каждой кнопки есть компонент Button, у которого есть целый ворох настроек как кнопка будет меняться при нажатии, наведении курсора итд. Однако, для мобильных платформ, где не мышка, а тачскрин, это не нужно. Поэтому отключите эту функцию, поставив Trasition --> none.
Далее можно удалить у кнопок компонент Image - для такого минималистичного дизайна он не нужен. Цвет текста сделайте белым.
В объекте bottom осталось место для вашего логотипа. Подыщите что-нибудь прикольное, нарисуйте в фотошопе и сделайте так же, как мы делали с названием игры.
Пришло время для правой части меню - не забыли про неё? Для начала определимся, что будет делать каждая кнопка.
Новая игра - выдает список слотов сохранений, при нажатии на который запустится новая игра и автоматически сохранится в этот слот.
Загрузка игры - аналогично, только загружает сохранение.
Настройки - выбор языка игры, громкости звука и музыки.
Дополнительно - авторы, ссылки, благодарности и прочая второстепенная информация.
Выход - закрывает приложение.
Сделаем на каждую кнопку кроме "Выход" своё поле с информацией, которое будет активироваться при нажатии. Создайте в Canvas дочерний объект newGameList, скопируйте для него компонент Image из объекта mainMenu и установите Anchors --> X: (0.31, 0.9) Y: (0, 1).
В нем создайте 6 кнопок для слотов сохранений и назовите их game_0, game_1, game_2, game_3, game_4, game_5. В этот раз мы не будем распределять их с помощью Vertical Layout Group, но сделаем их с небольшой графикой.
Для начала распределите их равномерно по объекту newGameList, используя Anchors.
Теперь создайте в Фотошопе новое изображение размером 400х400 пикселей. Нарисуйте в нем прямоугольник с границей, но без заливки, как показано на скриншоте.
А затем нарисуйте прямоугольник поменьше, но с заливкой.
Удалите слой фона, сделайте прямоугольники белого цвета и сохраните как PNG в папку Assets/Resources/Images под именем frame_1.
В Unity нам потребуется отредактировать границы спрайта изображения, для того чтобы мы могли его без искажений растягивать в разные стороны. В дереве проекта выберите наше новое изображение frame_1, нажмите в инспекторе Sprite Editor и в открывшемся окне установите Border (границы) на 12 пикселей. Именно в этих местах спрайти будет растягиваться, подгоняясь под размеры кнопки. Закройте это окно и нажмите Save.
Примените новый спрайт ко всем кнопкам и в компоненте Image установите Image Type на Sliced. Надо поправить цвет кнопок.
- R - 0.012 (красный)
- G - 0.012 (зеленый)
- A - 0.7 (альфа-канал или прозрачность)
Если вам хочется немного свободно места между слотами, то добавьте на кнопки отступы по 5 пикселей с каждой стороны.
Цвет текста кнопок так же меняем на белый.
Так как нам нужно точно такое же поле для раздела "Загрузка игры", мы можем просто скопировать это. Деактивируйте объект newGameList, нажав на галочку возле его имени в инспекторе, затем в иерархии щёлкните по нему ПКМ и нажмите Duplicate. Теперь нужно только его переименовать в loadGameList, чтобы не путаться. Деактивируйте его, чтобы не мешался.
Раздел "Настройки". Создайте такое же поле, но только без кнопок. Этот раздел посложнее предыдущего, поэтому сделаем для начала небольшие намётки.
Первым сделаем блок выбора языка с выпадающим списком. Нужно создать объект language внутри optionsList и установить ему Anchors X: (0.03, 0.97) Y (0.85, 0.95). Внутри language создаем объект header, устанавливаем Anchors X: (0, 0.48) Y (0, 1), добавляем ему компонент Text с размером шрифта 24 и выравниванием по правому краю и по центру.
Теперь нам нужно сделать выпадающий список. В Unity уже есть готовое решение - нам нужно только правильно его настроить. Добавьте в language объект UI -> Dropdown и устанвите ему Anchors X: (0.5, 1) Y (0, 1). Сразу же можно установить ему почти чёрный цвет с прозрачностью 0.78.
В нём достаточно много дочерних объектов. Разверните его полностью и внимательно поменяйте настройки. По шаблону "Объект: Компонент --> настройки".
- Dropdown: Dropdown --> Transition "none", список Options - поменять Option A итд на названия языков игры.
- Label: Text --> Русский, размер шрифта 24, цвет белый.
- Arrow: Rect Transform --> PosX -20, Wigth 40, Height 40.
- Template: Rect Transform --> Height 450; цвет сделать как у объекта Dropdown
- Content: Rect Transform --> Height 80.
- Item: Rect Transform --> Height 80; Toggle --> Transition "none"
- Item Background: цвет сделать как у объекта Dropdown
- Item Checkmark: Rect Transform --> PosY -5
- Item Label: Rect Transform --> Left 25, Top 15; Text --> размер шрифта 24, цвет белый.
Если ничего не пропустить, то результат будет как на видео ниже.
По аналогии с языковой панелью делаем объект music, размещаем в нём объект header с компонентом Text (пишем "Громкость музыки"). Нам понадобится слайдер - добавляем его UI/Slider с Anchors X: (0.5, 1) Y (0.3, 0.7).
В компоненте Slider отключаем Transition.
В дочернем объекте Background делаем черный цвет.
Таким же образом создаём слайдер для "Громкости звуков".
Готово! Вы - великолепны!
Лимит картинок опять исчерпан, поэтому продолжим в следующий раз.
Экспериментируйте с оформлением и не бойтесь трогать все настройки подряд. В этот раз я приложу ссылку на архив с проектом из поста.
Пост развития (часть 3)
И так, продолжаю свой путь)Закончила я скетчинг, участие в творческом чате принесло вдохновение:
Этот портрет мне дался с 4 раза, было огромное желание его дописать до момента «нравится мне».
А это графическая работа дала понять, что штриховку я вполне могу освоить.
И из этого сформировалось желание научиться рисованию портрета с необходимой базой.
Освоение портрета началось так:
Изначально конечно мне неособо нравилось, но ведь всему нужна тренировка и навык.
Выходило кривовато. После выяснилось, что изучение портрета лучше осваивать с прямого референса. Стоило начать рисовать анфас, стало получаться определённо лучше:
Графит мне показался скучноватым; захотелось цвета и попались мне карандаши Сепия жирная и сухая. Жирной сепией я и продолжила дальше рисовать, тем более работать с ней мне показалось интереснее.
Не всегда все получается, но прогресс на лицо и в прямом, и в переносном смыслах.И не смотря на то, что я допускаю и вижу ошибки и недочёты, не всегда все удаётся легко и просто, я горжусь своими достижениями!Изучать конкретно портретирование я начала с декабря 2021 и за пол-года мой результат меня приятно удивил.
Совет тем кто учится рисовать: просто стремитесь вперёд и не сдавайтесь, если не получается.
На данный момент я также изучаю портрет акварелью, о чем поведаю уже в следующем посте.
До скорой встречи!
Hello There
Зарисовочка в честь сегодняшней премьеры.
Пост рисованых фэнтезийных зайцев №4
Обучение Unreal Engine 4 | RTX ON. Часть 1. Введение, Глобальное освещение, Ambient Occlusion
Сегодня запустил новую серию уроков по Unreal Engine 4 под название RTX ON!
В вводном уроке по по трассировки лучей на Unreal Engine 4 мы изучим применение рейтрейсинга, узнаем как включить его на движке и рассмотрим применение глобального освещение с каждым типом источника света.
Под конец поглядим как работает трассировка Ambient Occlusion.
Уроки
"Мой учитель по истории сделал на доске рисунок по теме сегодняшнего занятия"
Как Construction Script помогает мне в дизайне уровней [UE4]
Всем привет! В этом посте покажу вам как сделать то, что на гифке выше с помощью Blueprints.
В Unreal Engine 4 есть очень классная вещь - Construction Script. Его фишка в том, что он выполняется прямо в редакторе, когда вы размещаете или редактируете ваш объект. Попасть в него можно на том же уровне вкладок, где находится Event Graph, либо в разделе функций вашего блупринта.
Далее рассмотрим Construction Script на примере моей палатки. Он включает две моих функции: Place All Sticks размещает все колышки, а TurnAllRopes поворачивает и скейлит все веревочки.
Чтобы это хорошо работало, я имею (StaticMesh) веревочку длинною 100 юнитов (1 метр) с правильным пивотом. В данном случае, он находится на краю, а сама веревка направлена по локальной оси Х этого меша. Это нужно для того, чтобы дальше было легко поворачивать и скейлить этот объект.
Веревку я привязываю к колышку. Ну, то есть, размещаю "внутри". Таким образом, её координаты будут локальными относительно колышка. А вот вращение для веревки выставляю абсолютным.
У самой палатки я подготовил 8 сокетов, к которым буду "привязывать" веревку.
Теперь вернемся к нашим функциям PlaceAllSticks и TurnAllRopes. На самом деле, в каждой из этих функций просто вызывается 8 раз своя дополнительная функция для единичного случая. То есть, вот на примере с веревками. С колышками то же самое.
Как это работает для единичного случая?
Сначала нам надо воткнуть колышек по уровню лэндскейпа. Тут в дело вступает функция PlaceStick. Она берет на вход колышек, пускает луч по каналу Landscape (это мой собственный канал для ландшафта, но вы можете использовать дефолтный Visibility, если хотите) из точки [локация колышка + 500 по Z] в точку [локация колышка - 500 по Z]. Далее, если произошло столкновение, мы меняем координату Z колышка на точку столкновения.
Я еще добавляю небольшой рандом (поэтому на гифке выше колышки немного трясутся). Понятное дело, вы тут должны учесть пивот вашего колышка. В моём случае он по центру и я могу размещать колышек прямо в точке столкновения луча с ландшафтом. Если бы пивот был на кончике, я бы просто добавил вектор смещения в эту функцию.
После того, как мы разместили колышек по ландшафту, в дело вступает функция TurnRope. На вход она принимает саму веревку, а также сокет на палатке, в которому мы будем "привязывать" веревку. Тут, конечно, придется засинхронить всё вручную (подобрать к каждой веревке свой сокет).
Напомню, у нас есть веревка, которая расположена в самом колышке. Теперь нам надо её повернуть и изменить длину.
Для поворота есть отличная стандартная функция в Unreal Engine 4 - FindLookAtRotation. Она принимает точку старта (локация нашего объекта) и точку, на которую он должен повернуться (Target). Соответственно, выдает нам Rotation, который мы просто назначаем нашему объекту. Не забываем про то, что в Unreal Engine 4 Forward Vector любого объекта направлен по его локальной оси Х.
(Учтите, в моём примере я всё вычисляю в мировых координатах, потому что мне так удобней!)
После поворота, нам остается только поменять длину этой веревочки. Вычисляем расстояние между началом и предполагаемым концом веревочки, делим это расстояние на 100 и забиваем в скейл по Х для нашей веревочки. Вуаля.
(На 100 мы делим потому, что наша веревка изначально длиной в 100 юнитов)
Теперь я могу двигать палатку по ландшафту, а её колышки всегда будут подгоняться под окружающий рельеф. Это намного проще, чем выставлять такие вещи вручную для каждой палатки :)
Буду рад, если мой опус кому-нибудь поможет. Спасибо за внимание!
Как Анимировать Фото или Картинку \ Parallax Effect (Photoshop \ After Effects)
В этом видео мы научимся имитировать 3d пространство, сделаем Parallax эффект и анимируем нашу фотографию. Мы будем использовать Photoshop и After Effects.
Как нарисовать деревья (скетчинг)
Как научиться делать скетчи (1 часть)
Рисуй как скульптор. Техника создания объема.
Как рисовать поверх видео.Три способа: After Effects, Photoshop, Krita
Хэллоу, Пикабу!Уверен, вы неоднократно встречали клипы, рекламы и заставки с нарисованными поверх видео элементами.
Пример на гифке:
В этом туториале мы разберёмся, как "обрисовывать" наше видео в трёх программах: After Effects, Photoshop и Krita.
Обсудим некоторые нюансы и попробуем решить, какой же способ удобнее?
Не верьте баянометру
Как нарисовать сову.
Продолжение рисования животных по линейке, непонятно и странно выглядит, но все же смогла нарисовать сову 4 раза по этой схеме 😅
Итак, рисуем сову.
Нам понадобится: бумага, линейка, карандаш и терпения (побольше, чем для котика).
1.Чертим прямоугольник 40мм на 34мм. По левой стороне откладываем 5 мм сверху и 12 мм снизу(от этой точки отступаем на 9 мм- ширина головы). Отступя 2 мм слева и 5 мм справа, чертим трапецию. Левая боковая сторона 39 мм, основание 29, правая боковая-просто соединяем.
Для определения ширины совы и уровня, где закончатся крылья, сверху отступаем 17 мм и снизу 8 мм.
Ну теперь приступаем к ногам. Да, эти цифры выглядят страшно, но следуя описанию, Вы все поймёте.
На нижней стороне трапеции откладываем: 3 мм,8(правая нога), 9 (межногье), 9(левая нога).
Начинаем рисовать с правой. Она похожа на трапецию, откладываем высоту 6 мм, и чертим нижнюю сторону 4 мм (примерно посередине). От неё спускаемся на 5 мм-проводим небольшую линию-снова получается трапеция. Дальше откладываем 2 мм внизу и чертим линию б мм, соединяем так, как на рисунке. Теперь приступаем к пальцам. С левого конца линии 11 мм спускаем вниз на 3 мм и ширину задаём 3 мм(это палец который спрятался за бревном ), дальше примерно миллиметр закрашиваем межпальцевой промежуток и отмеряем ширину второго пальца 3 мм , опять промежуток между пальцами и ещё 3мм для третьего пальца. Длина пальца около 10 мм и добавляем когти, как на рисунке.
Левая нога- опять трапеция, опускаем высоту 5 мм и чертим нижнюю сторону 8 мм. На ней откладываем 4 мм , опускаем высоту 5 мм и чертим небольшую линию. От высоты отступаем вправо на 2 мм-(здесь будет палец, который совсем за бревном спрятался), дальше откладываем 3 мм, опускаемся на 3 мм, задаём ширину пальцу 2 мм, дальне промежуток между пальцами 3 мм и второй палец шириной 3 бмм. Для определения верхней границы лапы: от верхней стороны большой трапеции отмеряем 46 мм. Добавляем когти длиной 7 мм , как на рисунке
Между ног отступаем 9 мм вниз-граница хвоста.
2.Рисуем глаза и клюв.
Левый глаз- отступаем сверху 12 мм, справа 7 мм, снизу 13 мм, ширина глаза 7 см, внутри рисуем глаз, как на рисунке.
Правый глаз- сверху также 12, слева 10, снизу 13 мм, ширина глаза 9 мм. Внутри примерно з по мм рисуем глаз.
Теперь пошли рисовать клюв.
На нижней границе правого глаза откладываем 2 мм, от этой точки вниз 2 мм-здесь будет уголок рта.
Так же наметим конец клюва, от нижней границы прямоугольника 5 мм вверх на расстоянии 15 мм от правой стороны.
От внутренного нижнего угла отступаем 33 мм кнутри, 3 мм кверху и 3 мм вправо-это верхняя граница клюва.опускаемся на 6 мм вниз-здесь будет изгиб клюва , чертим линию(ширина клюва)2 мм-ширина ключа и как на рисунке-дорисовываем. Надеюсь, у Вас получилось.
Дорисовываем голову, крыло и 5-ую точку совы как на схеме.
Округляем живот по ориентирам.
3.Обводим глаза, добавляем зрачок и оставляем блик.
Закрашиваем клюв, добавляем перья на него-ориентируясь на схему.
Дорисовываем левое крыло, как на рисунке.
Теперь намечаем направления перьев на голове (сердечко выделяем на морде ), под клювом, так же на туловище.
4.Углубляем тени, тонируем пузико, добавляем рисунок перьев-пятна.
Удачи! Надеюсь, найдется, кто решит попробовать. Буду ждать Ваших рисунков😇