Как сделать компьютерную мышь в блендер
Очень важную роль в блендере играет управление с клавиатуры. Конечно, всю ту же функциональность можно получить и через меню, но иногда в некоторых ситуациях быстрее, а то и просто удобнее использовать клавиатуру.
Итак небольшой референс для самых часто используемых клавиш в блендере.
Левая кнопка мыши — установить позицию 3д курсора (он может использоваться как место для добавления новых объектов, как центр вращения и т.д.) или закончить действие (как и пробел).
Правая кнопка мыши — выделение (как объектов в Object mode так и вершин, ребер и граней в режиме редактирования меши, и в любых других местах ) а также отмена текущего действия (перенос, поворт, изменение размера)
Колесо мыши при прокрутке — зум в том окне над которым находится мыш (в любом типа вида).
Колесо мыши при нажатии — вращение в 3д виде и перемещение вида в любом другом.
Основные кнопки
+нажатие колесо мыши - перемещиние 3д вида (у меня допустим стоит наоборот: без шифта - перемещение, с шифтом - вращение, это можно поменять в настройках блендера если раздвинуть вниз вид с меню File)
- в зависимости от данного состояния может быть: 1. добавить объект в сцену 2. закончить действие (например перемещение)
- закончить действие (например перемещение)
+ включить/выключить визуальные хелперы для перемещения, вращения и изменения размера или все вместе
- переключение в режим редактирования объекта (для мешей и арматур) и обратно
+ - переключение в режим weight paint для меши и в posing mode для артматуры
- простое квадратное выделение, его особенность в блендере в том, что он добавляет выделение к уже выделенному (работает и во всех режимах: Object mode, Edit mode, UV Face Select, Pose Mode и т.д.). Если при выделении нажимать колесико мыши вместо левой кнопки, выбранные объекты перестают быть выбранными (deselect). Повторное нажатие клавиши - превращает квадратное выделение в круглое. Радиус регулируется колесиком мыши.
- grab, свободное перемещение объекта, действуют такие модификаторы как: ctrl - выравнивать по сетке, shift - более точное перемещение. Также действуют модификаторы осей при нажатии , или . То же самое получается если "схватить" объект правой кнопкой мыши и потащить, при этом также действуют все модификаторы.
- rotate, вращение, все те же модификаторы что и для перемещения
- scale, изменение размера, все те же модификаторы что и для перемещения
, и работают в Object mode, Edit mode, UV Face Select, Pose Mode и т.д. а также во всех видах где требуется какая либо манипуляция с элементами (например в UV/Image Editor)
+ - duplicate, создаёт дубликат выделенного
+ - duplicate linked
+ - undo
+ - redo
- удалить выделенное
- вызывает меню unwrap (для этого должен быть включен режим UV Face Select)
- добавить кадр анимации
+ проиграть анимацию
стрелки влево/вправо - переключатся между кадрами анимации
- переключение между wireframe и solid отображением объектов в 3D View
Кнопки в Edit Mode
Действуют все выше перечисленные.
+ для добавления кости (если редактируется арматура), и для дублирование выделенного+смещение, если редактируется меш
- создать грань из трех (четырех) выделенных вершин
- extrude
+ - поменять расположение треугольников в кваде
- меню редактирования
- отделить выделение от объекта
Часто на форумах спрашивают, как работать с мышкой в GE?
Я нашел отличный урок, в котором автор (Andrew-101 из Австралии (Мельбурн)) популярно рассказал об этом и дал пример файла.
Если вы серьезно решили делать игру или просто хотите пропробовать свои силы в мини-игре, вам понадобится разобраться с использованием мыши.
В этом уроке я расскажу как использовать мышь в GE, получать информацию с нее и затем использовать эту информацию. В примере есть 8 сцен которые помогут вам разобраться с этим досконально, а именно:
* Как отобразить курсор мыши в GE.
* Как получить координаты курсора мыши
* Как получить координаты курсора мыши относительно центра экрана
* Перемещение камеры за курсором
* Перемещение объекта с помощью мыши
* Мгновенно переместить объект в точку экрана где вы кликнули мышкой
* Плавно переместить объект в точку нажатия мышки
* Заставить объект появится в месте нажатия мышки и передвигать эти объекты
Для начала необходимо иметь некоторые навыки Python в GE.
The Mouse Sensors
Давайте посмотрим, какие виды сенсора мыши (Mouse) предоставляет нам Blender. Их 8 - вот они:
* Left Button - Левая кнопка
* Middle Button - Средняя кнопка
* Right Button - Правая кнопка
* Wheel Up - Колесико вверх
* Wheel Down - Колесико вниз
* Movement - Перемещение
* Mouse Over - Перемещение над..
* Mouse Over Any - Перемещение над любым объектом
Первые 5 сенсоров - ничего особенного, с их помощью мы работаем с кнопками мыши, а вот с последними 3-мя стоит разобраться.
Сенсор Movement имеет две функции, использование которых поможет нам реализовать некоторые функции - эти функции .getXPosition() и .getYPosition(). Каждая из этих функций возвращает целое число, это X и Y координаты курсора мыши.
Сенсор Mouseover тоже полезен, с помощью функции isPositive() мы получаем булево значение Истина (true) если курсор мыши находится над владельцем сенсора (объект, к которому вы прикрепили сенсор). Сенсор Mouseover также имеет две функции .getXPosition() и .getYPosition() для получения координат (и множество других), однако мы будем использовать функцию .getHitPosition(). Эта функция возвращает список из x,y и z координат над которыми находится мышь.
Сенсор MouseOverAny похож на предыдущий, за исключением того, что срабатывает не только при перемещении мыши над владельцем сенсора, но и над любым другим объектом.
"Проявляем" курсор мышки в GE
Если вы планируете использовать мышь в GE тогда нам для начала надо отобразить сам курсор мышки.
Для этого нам понадобятся лишь две строчки кода:
Первая строка - import Rasterizer - импортирует модуль Rasterizer. Этот модуль управляет экраном в GE, вы можете использовать строчку 'print dir(Rasterizer)', чтобы посмотреть на все функции, которые есть в этом модуле. Вторая строка 'Rasterizer.showMouse(1)' вызывает функцию '.showMouse()' из модуля с параметром 1 (1 - это также True в в python, 0 - False соответственно), говорящая что Rasterizer должен показать мышь. Если мышь не нужна - надо использовать '.showMouse(0)' или '.showMouse(False).
Получаем координаты курсора мыши.
Как их получить? В файле примера для этого откройте сцену 2 и скрипт example02. Кликните на пустышке с именем ('Control2') и в окне Logic посмотрите скрипт контроллера. Для получения координат используются две функции:
mouse_x = mouse.getXPosition()
mouse_y = mouse.getYPosition()
Координаты даются относительно верхнего левого угла.
Это очень просто, не правда ли?
Получение координат курсора относительно центра экрана.
В прошлом примере мы быстро получили координаты курсора, но начало координат находилось в левом верхнем углу. А если мы хотим чтобы начало было в центре экрана? В файле примера выбираем сцену 3, запускаем GE, останавливаем и смотрим вывод консоли - там уже то, что нам нужно. Как это сделать?
Сделать это можно с помощью 4-ех строчек кода:
window_width = Rasterizer.getWindowWidth()
window_height = Rasterizer.getWindowHeight()
mouse_x = mouse.getXPosition() - window_width/2
mouse_y = mouse.getYPosition() - window_height/2
Появились две новые переменные - window_width и window_height, и как вы догадываетесь они нужны, чтобы получить ширину и высоту экрана с помощью функций модуля Rasterizer. Получение значений для наших двух старых переменных mouse_x и mouse_y немного изменились. Чтобы объяснить, посмотрим на диграмму.
На этой диаграмме начало координат находится в левом верхнем углу, а как нам получить середину окна?
Найдем центр -Точка (320,240) ,она может быть получена так:
(Rasterizer.getWindowWidth() / 2, Rasterizer.getWindowHeight() / 2)
Если мы хотим теперь использовать эту точку как начало координат, то должны из координат вычисляемых точек отнимать координату центра окна (320,240).
(120 - 320 , 65 - 240) = (-200, -175)
(320 - 320, 240 - 240) = (0, 0)
Надеюсь теперь понятно, почему для получения координат относительно центра мы проделывали эту процедуру.
Перемещение камеры за мышкой
Во многих случаях вам понадобится знать как вращать камеру с помощью мыши. В файле примера выбираем сцену и смотрим скрипт Example04. Чтобы посмотреть как это работает нажимаем P.
Давайте посмотрим на код. Он достаточно прост, за исключением некоторых новшеств:
mouse_x = float(mouse.getXPosition() - window_width/2)
mouse_y = float(mouse.getYPosition() - window_height/2)
Теперь мы преобразовываем результат координат в число с плавающей точкой. Зачем это понадобилось? Причину находим в следующей строке:
motion.setDRot(mouse_y/500, 0, -mouse_x/500, 0)
Этот код использует актуатор движения, прикрепленный к камере и устанавливающий вращение по оси X - делим значение координаты курсора по оси Y на 500, координату Y делаем 0-вой, а Z получаем с помощью деления X координаты курсора на 500 (если делить на 200 или 100 то вращение будет более быстрое и чувствительное).
Зачем я применял float к координатам мыши? Потому что если мы поделим целое число 40 на 500 то получим 0 а когда число с плавающей точкой то 40/500=0.08.
Если вы не знаете зачем нужна эта строка кода, следует подучить python в GE, с его помощью мы активируем наш актуатор с установленным значением поворота камеры.
Rasterizer.setMousePosition(window_width/2,window_height/2)
Эта строка устанавливает положение курсора мыши снова в центр экрана.
Перемещаем объект с помощью мыши.
Перейдем к более интересным примерам, выбираем сцену 5 файла и смотрим скрипт Example05. Если нажмете P и запустите GE, то сможите кликом и ужерживанием на кубе перетаскивать его.
Давайте посмотрим как это сделано. Ранее я упоминал о функции getHPosition для сенсора mouseover. Мы используем эту функцию в этом примере. Функция .getHPosition() возвращает x,y и z положения над которыми находится мышь - представьте луч, который посылается из курсора мыши пока на столкнется с объектом. Так вот с помощью этой функции мы можем установить положение куба в положение курсора мыши, правильно? НЕТ!
Вспомните, что когда мышь пересекает объект , то это совсем не центр объекта, но мы делаем его центром устанавливая положение объекта в нужную точку. В этом случае наш куб будет сдвигаться в сторону камеры. Попробуйте изменить строчку:
own.setPosition([hit_pos[0], 0, hit_pos[2]])
own.setPosition([hit_pos[0], hit_pos[1], hit_pos[2]])
Нажмите P и попробуйте передвинуть куб. Видите о чем я говорю? Вот почему я должен установить положение y куба в 0, чтобы он по этой координате оставался в одном месте.
Вот основной код:
if mouseOver.isPositive() & leftClick.isPositive():
hit_pos = mouseOver.getHitPosition()
own.setPosition([hit_pos[0], 0, hit_pos[2]])
Если вы не знаете что такое if надо немного подучить python. Это очень просто, эта инструкция говорит: когда срабатывает сенсор mouseover (isPositive=True) и нажата левая кнопка мыши, то положение объекта устанавливается в положение курсора мыши (а координату y объекта приравниваем к 0, чтобы объект не наезжал на камеру).
Мгновенное перемещение объекта к точке нажатия мыши
Теперь мы используем сенсор mouseoverany и он будет срабатывать всегда, так как мы находимся над плоскостью. Однако он сработает даже тогда, когда мы не пересекаем куб и куб моментально перейдет в точку нажатия.
Плавное перемещение объекта объекта к месту нажатия мышки.
Давайте попробуем сделать что-то получше чем мгновенное перемещение куба в точку клика, давайте будем перемещать куб плавно к точке нажатия и вслед за мышкой.
Следующая сцена, следующий скрипт. Нажимаем P и рассматриваем. До того, как посмотреть как это работает надо знать методы работы. Есть три метода в этом скрипте: getQuadrant(), getAngle() и track().
Начнем с getQuadrant():
def getQuadrant():
if own_pos[0] >= cube_pos[0]:
if own_pos[2] >= cube_pos[2]:
quadrant = 1
else:
quadrant = 4
else:
if own_pos[2] >= cube_pos[2]:
quadrant = 2
else:
quadrant = 3
Что он делает? Представим, что экран поделен на 4 части - квадранты:
Теперь представим, что центр - это положение коробки-куба. Все что делает этот метод это следит за положением пустышки (а пустышка реально находится там, где мы щелкаем мышкой) по отношению к кубу и определяет в каком квадранте она находится - 1,2,3 или 4. И когда X-координата мышки больше чем X куба и Y пустышки больше чем Y куба, то значит пустышка находится в первом квадранте, правильно? Просто посмотрите на код:
if own_pos[0] >= cube_pos[0]:
if own_pos[2] >= cube_pos[2]:
quadrant = 1
Когда метод нашел в каком квадранте находится пустышка (нажат курсор) он возвращает информацию:
return(quadrant)
Следующая функция, которую мы рассмотрим это getAngle(). Этот метод даст нам значение угла, образованного координатами куба и пустышки.
Вот код:
x = cube_pos[0]
z = own_pos[2]
pivot.setPosition([x, 0, z])
Диаграмма поможет нам лучше понять, что происходит.
Как вы видите из диаграммы, мы берем за точку pivot (центр) для вычисления угла координату X куба и координату Z пустышки, чтобы сформировать правильный прямоугольный треугольник. И надеюсь вы знаете что такое прямоугольный треугольник ;). Давайте посмотрим на вторую строку в коде:
from math import atan, degrees
Мы импортируем из модуля math нужные нам atan и degress. Degress преобразует радианы в градусы а atan нужен для нахождения угла из значения тангенса. Давайте посмотрим на наш треугольник.
The lengths of the opposite and adjacent sides can be found be getting the distance from the cube and empty to the pivot, which is what these two lines are doing:
Длину катетов мы можем найти, расчитав расстояния от точки pivot до куба и пустышка. Для этого нам нужна была точка pivot - точка вращения.
opp = pivot.getDistanceTo(own)
adj = pivot.getDistanceTo(cube)
Теперь, когда у нас есть стороны, давайте найдем угол:
x_rise = degrees(atan(opp/adj))
z_rise = 90 - x_rise
Вы может не понимаете еще зачем нужны x_rise, z_rise сейчас, но подождите и все скоро поймете. Теперь мы возвратим эти значения из функции:
return(x_rise, z_rise)
Итак, давайте посмотрим на метод track() - этот метод так называется потому что заставляет куб следить за пустышкой. Во-первых, вызывается функция getQuadrant() и сохраняется значение квадранта в переменной 'quadrant':
quadrant = getQuadrant()
Затем вызывается метод getAngle() и сохраняется результат в переменных x_rise и y_rise:
x_rise, z_rise = getAngle()
Чтобы заставить куб перемещаться за пустышкой нам понадобится актуатор движения у куба, а также надо расчитать на какое расстояние перемещать куб по оси X и Z при движении. Вот для чего нам нужны были x_rise и z_rise, если z_rise угол больше чем x_rise тогда нам нужно больше перемещаться по оси z и наоборот.
А как быстро перемещаться? Давайте переведем наши значения x_rise и z_rise в процентные. Угол может быть максимум 90 градусов, поэтому поделим углы на 90 и получим значение от 0 до 1. 1 - это 100 %, а 0 - 0%. Вот как это сделано в коде:
x_ratio = x_rise/90.0
z_ratio = z_rise/90.0
Теперь, следующая порция кода - условия if:
if quadrant == 1:
x = 1
z = 1
elif quadrant == 2:
x = -1
z = 1
elif quadrant == 3:
x = -1
z = -1
elif quadrant == 4:
x = 1
z= -1
Теперь мы используем значения полученые с помощью getQuadrant(), и решаем в каком направлении надо совершать движения по осям. Если пустышка в 1-ом квадранте, до двигаться надо в положительную сторону по осям X и Z, если во втором квадранте, то движение в отрицательную сторону по оси X и в положительную сторону по оси Z.
Помните как я сказал что мы собираемся сделать так, чтобы куб двигался постепенно приближаясь к пустышке? Мы будем использовать расстояние от куба до пустышки как фактор, влияющий на скорость, с которой куб приближается.
distance = own.getDistanceTo(cube)/5
Я поделил на 5 потому что иначе будет слишком быстро. Давайте установим параметры актуатора куба:
motion.setDLoc(x_ratio * distance * x, 0, z_ratio * distance * z, 1)
GameLogic.addActiveActuator(motion, 1)
Используется величина расчитанного фактора расстояния умноженная на фактор направления и величину перемещения по осям. Как и в прошлом примере, для оси Y мы вписали 0.
Осталось совсем немного кода, спросите зачем еще что-то? Это для пустышки:
if mouseOverAny.isPositive() & leftClick.isPositive():
hit_pos = mouseOverAny.getHitPosition()
own.setPosition([hit_pos[0], 0, hit_pos[2]])
Где то вы это уже видели? :)
Рождаем объекты в месте клика мышки
Теперь последний пример из урока. 8 сцена, скрипт example08_1. Посмотрите, чтобы был включен слой 1. Нажмите P и покликайте мышкой на экране. В местах клика будут появлятся и падать кубы. Вы можете "ухватить" правой кнопкой мыши новый куб и потаскать его.
Посмотрим как это работает. Когда вы кликаете левой кнопкой на экране то в месте клика (положении пустышки) появляется куб (который на самом деле спрятан во втором слое). Переключитесь на второй слой и откройте скрипт example08_2 - этот скрипт привязан к кубу и имеет сенсор для правой кнопки мыши, сенсор для mouseover и сенсор mouseoverany, и когда они оба активируются вы можете перетаскивать куб. Давайте посмотрим на куб. У него есть свойство (property) selected, установливающееся в 1, когда вы кликаете на нем и 0 - когда вы отпускаете правую кнопку мыши. Для этого нужен такой код:
if mouseOver.isPositive() & rightClick.isPositive():
own.selected = 1
if not rightClick.isPositive():
own.selected = 0
if own.selected == 1:
hit_pos = mouseOverAny.getHitPosition()
own.setPosition([hit_pos[0], 2, hit_pos[2]])
Все что делает этот пример перетаскивания это комбинация нашего первого примера перетаскивания и второго примера перетаскивания, вы можете двигать мышкой очень быстро, но куб не отвалится пока вы удерживаете правую кнопку мыши.
Есть еще один пример работы с мышью и с "самодельным" курсором с сайта blendenzo. О нем - в следующий раз, если это конечно кому-нибудь будет интересно :)
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Blender-интерфейс — доработка напильником!
Как показывает опыт, главная проблема, о которую спотыкаются начинающие работать с Blender - это его нестандартный интерфейс, точнее необычное управление трехмерными видами и выделение объектов. Обычно, одурение от такого управления наступает практически молниеносно и начинающий отступает.
Я не стану вас уверять, что управление по умолчанию в Blender - самое лучшее и правильное, тем более что сам так не считаю (какому . в голову пришла мысль, что выделять удобнее правой кнопкой мыши. ). Поэтому покажу как просто и быстро сделать работу с Blender легкой и комфортной.
Коротко суть изменений проста: сменить выделение с правой кнопки мыши на левую и сделать управление видами колесом мыши как в 3DS MAX (сделать как в MAYA тоже можно, но чуть дольше).
Итак, мы скачали с официального сайта дистрибутив Blender и скопировали его в заранее созданную папку C:\Blender (ну нравится мне так, у меня Blender - основной пакет).
Теперь распаковываем дистрибутив сюда же в папку (я использую свободный 7-Zip).
Находим в распакованной папке исполняемый файл Blender.exe и запускаем его (я еще и сразу делаю ярлык на рабочий стол).
Blender открывается и мы видим его экран заставку, мимо которой нужно щелкнуть в любое место, чтоб она закрылась.
Далее многие пытаются сделать хоть что-нибудь и обнаруживаются что ни черта не получается, потому как вид кривится, а при щелчке левой кнопкой прыгает какой-то прицел (этот прицел вообще-то практически не нужен при правильной работе, но мозг начинающим вырывает основательно), короче плохо дело.
Вообще-то все можно легко вернуть командой верхнего меню: File > New (учтите Blender не переспрашивает, он сразу сбрасывает сцену к начальным настройкам).
Если вы основательно напортачили и ваша программа даже командой File > New не возвращается в нормальное состояние, то вам понадобится тотальная команда полного сброса File > Load Factory Settings. Обязательно вызовите ее прежде чем продолжать настройки.
После сброса ни в коем случае ничего не делайте, не поворачивайте вид, не выделяйте объекты - ничего! Заходим в меню трехмерного вида в левом нижнем углу и вызываем настройки User Prefernces
Теперь в разделе Input делаем две самые важные настройки - выбираем Select With: Left (чтоб выделять левой а не правой) и выбираем Orbit Style: Turntable (чтобы горизонт не заваливался при вращении вида).
В принципе, если вас устраивает, что Blender при нажатии на колесо поворачивает вид, а при удержании Shift панорамирует, то можете пропустить следующий шаг. Но я предпочитаю настройку как в 3DS MAX (нажатие колеса - панорамирование, нажатие с Alt - поворот вида).
Итак, находим в перечне горячих клавиш категорию 3D View, раскрываем ее. В ней разворачиваем сначала пункт Rotate View и ставим галочку Alt (это чтобы поворот был с Alt). Затем находим Move View и снимаем галку Shift.
Осталось только переключиться обратно в режим 3D View в левом нижнем углу:
И последний шаг - сохраняем настройки нажатием горячей клавиши Ctrl + U (нужно обязательно щелкнуть в пункт меню Save User Settings).
Вот и все! Теперь работать с Blender будет куда веселее.
- Курсы 3ds Max, VRay, Maya, AutoCAD, Blender очно и через Интернет
- Визуализация архитектуры и интерьеров
- Моделирование и визуализация объектов любой сложности
- Создание рекламных и презентационных роликов
- Консультации и семинары "3D для дизайнеров и архитекторов"
Учитесь у профессионалов, думайте как профессионал, станьте профессионалом!
Главный регион редактора 3D Viewport для краткости будем называть просто сценой или 3D. Это эмуляция трехмерного мира, в котором размещаются и по большей части редактируются различные объекты.
В стартовом файле на сцене находятся три объекта – куб, камера и лампа.
Лампа является источником света. Без него конечное изображение было бы черным. С помощью камеры настраивается то, что будет видно на финальном изображении, под каким углом и с какого расстояния. В случае анимации могут перемещаться не только объекты, но и камера.
По-умолчанию выделен куб. Это видно по яркому контуру. Для выделения объектов в Blender по-умолчанию используется левая кнопка мыши.
Название выделенного объекта отображается в верхнем левом углу главного региона.
Объекты можно выделять и в редакторе Outliner. Здесь же их можно переименовывать, скрывать видимость, сортировать по коллекциям и др.
Чтобы увидеть, как выглядит готовое изображение, надо нажать F12. Произойдет рендеринг (отрисовка, визуализация) части сцены, видимой из камеры. При этом будет открыто отдельное окно с редактором Image Editor. Чтобы вернуться опять в 3D Viewport, надо нажать Esc.
Вид из камеры также можно получить, нажав 0 на нумпаде. Курсор должен находиться в пределах редактора. Повторное нажатие 0 вернет предыдущий вид. Никакой отрисовки при этом не происходит, лишь изменяется угол обзора сцены.
Курсор и выделение
Кроме перечисленных "материальных" объектов, на сцене имеется 3D-курсор в виде прицела и сетка с красной X и зеленой Y осями. Они не объекты. Сетка служит ориентиром и своего рода линейкой. Она не позволяет потеряться в пространстве и дает приблизительно оценить размер объектов.
Курсор по большей части используется как указатель места, куда надо разместить новый объект, переместить центральную точку объекта. Исходно он находится в центре сцены, на месте пересечения осей X и Y. Чтобы переместить его в другое место, надо в регионе инструментов (он же панель инструментов) выбрать инструмент Cursor. После этого клики левой клавишей мыши будут перемещать 3D-курсор, а не выделять объекты.
Для более быстрого переключения между инструментами используются горячие клавиши:
- Shift + Пробел, затем B, чтобы включить выделение,
- Shift + Пробел, затем Пробел, чтобы включить перемещение курсора.
Вообще комбинация клавиш Shift + Пробел открывает меню, где перечислены все инструменты панели инструментов.
Групповое выделение объектов
С помощью клавиши A клавиатуры выделяются все объекты сцены. Для сброса выделения используется Alt + A.
Для выделения нескольких объектов зажимается клавиша Shift, после чего выполняется клик по второму и последующим объектам. Понятно, что при этом должен быть включен один из инструментов Select, а не Cursor.
Групповое выделение также может быть выполнено путем растягивания рамки, когда зажимается левая кнопка мыши и перемещается указатель. Все объекты, попавшие в область рамки, будут выделены.
По-умолчанию рамка имеет прямоугольную форму. Однако есть другие варианты выделения, доступ к которым открывается, если зажать кнопку на панели инструментов. Переключаться также можно с помощью горячих клавиш.
В случае выбора первого варианта (Tweak) возможность группового выделения с помощью растягивания рамки отключается.
Управление 3D-видом
В Blender управление 3D-пространством, навигация в нем, выполняется с помощью мыши, цифрового блока клавиатуры – нумпада, специальных кнопок интерфейса. Если у клавиатуры нет нумпада, то обычно она поддерживает переключение в этот режим. Другой вариант – в Preferences на вкладке Input установить флажок Emulate Numpad. В этом случае будут задействованы цифровые клавиши основной части клавиатуры.
Управление 3D-видом с помощью цифрового блока клавиатуры
- 0 – вид из камеры или выход из вида из камеры
- 1, 3, 7 – виды спереди, справа, сверху; при зажатом Ctrl будут виды соответственно вид сзади, слева и снизу
- 9 – обратный вид: если был сверху, то будет снизу, если был справа, то будет слева
- 2, 4, 6, 8 – повороты вниз, налево, направо, вверх
- 5 – переключение между режимами Orthographic (ортогональный) и Perspective (перспектива)
- минус и плюс – уменьшение масштаба (отдаление предметов) и увеличение (приближение)
- точка – центрирование сцены на выделенном объекте
- знак деления – центрирование на выделенном объекте, при этом остальные не отображаются, повторное нажатие возвращает сцену к прежнему состоянию
Вид сцены, в котором она находится в данный момент, указывается в верхнем левом углу главного региона 3D Viewport.
Слово User (пользовательский) означает, что вид в точности не соответствует ни одному из вышеперечисленных. Например, вы установили вид сверху, а затем чуть повернули сцену налево.
В режиме Perspective сцена выглядит трехмерной. Так, как нам бы казалось в реальности. При этом истинные размеры и отношения искажаются. Если переключаться туда-сюда в режимы Ortho и Persp, то видно, что в Persp "ближние" к нам квадраты сетки больше, чем дальние. В Ortho пространство проецируется на плоскость путем проведения перпендикуляров из его точек на соответствующую проекцию (верх, право и др.). Размеры при этом не искажаются.
Управление 3D-видом с помощью мыши
- Прокрутка колеса мыши оказывает то же действие, что знаки плюс и минус, – происходит изменение масштаба сцены.
- Движение мыши при нажатом колесе поворачивает сцену. Куда и как сильно, зависит от направления и амплитуды движения мыши.
- Движение мыши при нажатом колесе и Shift передвигает сцену. При этом сначала надо зажать Shift.
Управление 3D-видом с помощью кнопок редактора 3D Viewport
Начиная с Blender 2.80 появилась возможность управлять сценой с помощью кнопок интерфейса.
Кликабельными являются не только четыре серые кнопки, также цветные оси и их обозначения. Если зажать мышь в пределах цветных осей, можно крутить пространство как трекбол.
Сохранение изображения
Сохранение и создание новых проектов в Blender выполняется через меню File. Также используются горячие клавиши: Ctrl + N для создания нового файла и Ctrl + S для сохранения текущего.
При создании нового проекта предлагается выбор из несколько стартовых файлов, адаптированных под разные задачи. В данном курсе мы будем использовать только первый – General, то есть Общий.
Файл-проект Блендера имеет расширение .blend. Если же мы хотим сохранить готовое изображение, то есть результат отрисовки, для этого надо сначала выполнить рендеринг (F12). В открывшемся редакторе Image Editor нажать Alt + S. После этого открывается редактор File Browser, настроенный на сохранение изображения.
По-умолчанию задан формат .jpg. Однако его можно поменять.
Курс с инструкционными картами к части практических работ:
android-приложение, pdf-версия
Читайте также: