Работа с текстом в Blender
Поделитесь этой страницей с друзьями:
В этом уроке рассматривается работа с текстом в Blender. Мы разберем возможность создания текстовых объектов в Blender 2.5 и некоторые простые манипуляции с этими объектами. Для более поздних версий (включая Blender 2.8) последовательность действий будет примерно той же, принципы работы с текстом изменились мало.
Создайте в сцене текст ( Add → Text ). На панели Object Data (которая по-умолчанию находится справа) появится новая вкладка для работы с текстом:
Обратите внимание на область Geometry в этой вкладке:
Последовательно поменяйте значения полей в области Geometry как указано ниже и посмотрите, как меняется текст после каждого изменения.
Теперь перейдем к области Shape на той же вкладке (по умолчанию она находится прямо над областью Geometry :
Посмотрим, что будет, если поменять значение параметра Preview U на 1 :
Не самый лучший вариант, не правда ли? Вернем как было.
Уберем (затем вернув на место) галочку напротив пункта Front :
Уберем (затем вернув на место) галочку напротив пункта Back :
Уберем (затем вернув на место) обе галочки ( Front и Back ):
Включим режим быстрого редактирования текста (для этого поставьте галочку напротив пункта Fast Editing ):
Теперь рассмотрим область Font на той же вкладке:
При изменении параметра Shear (сдвиг) получим такой результат:
Наконец, при помощи области Paragraph вы можете управлять выравниванием текста и отступами:
Вот некоторые результаты манипуляций с параметрами в этой области:
Понравилась статья? Поделитесь ссылкой с друзьями:
Источник статьи: http://openarts.ru/blender-text-basics/
Программа Blender; создание 3D текста. Часть I.
Трёхмерный текст в компьютерной графике очень впечатляет. Для его получения можно воспользоваться различными программами. Я предпочитаю делать это в Blender 3D. Кроме 3D-текста, в Blender можно делать ещё много чего, однако другие функции программы мне нужны очень редко. Несмотря на то, что недавно вышла версия 2.80, лучше работать с предыдущей версией — 2.79b. Во первых, русификация новой версии пока не очень хорошая. Но она, правда, начинающим пользователям и ни к чему — обучающая литература (Кронистер, Прахов) описывает работу с англоязычным интерфейсом. Во вторых, резко изменился интерфейс, что поначалу непривычно (похоже, для Blender это становится дурной традицией — то же самое было при переходе от версии 2.49 к версии 2.5). Кроме того, версия вообще сырая — пользователи на форумах жалуются на баги. Конечно, в дальнейшем всё равно придётся переходить на новую версию, но лучше подождать некоторое время, пока разработчики не доведут её до ума и не выйдет обучающая литература на русском языке. Загрузить программу версии 2.79b можно здесь .
Итак, устанавливаем и запускаем программу. Сначала русифицируем интерфейс. Для русификации программы нужно найти в настройки программы (это можно сделать, нажав сочетание клавиш Ctrl+Alt+U ), в открывшемся окне настроек переключитесь на вкладку System (она находится в правом верхнем углу), далее, в нижнем правом углу будет чекбокс называющийся International fonts . Смело ставьте галочку, после чего под чекбоксом появятся дополнительные параметры:
— в поле Language нужно выбрать Russian ;
— щёлкнуть по полям Interface , Tooltips , New Data для перевода на русский интерфейса и всплывающих подсказок.
— в левом нижнем углу нажать кнопку Сохранить настройки .
Шрифты интерфейса мелковаты и напрягают зрение. Увеличим их. Перейдём в меню Темы . Слева на панели откроем пункт Стиль текста . Сделаем нужные размеры в пунктах Заголовок панели , Виджет и Метка виджета . Сохраним настройки.
Теперь можно заняться созданием надписи. Куб у нас уже выделен. На левой панели нажимаем Удалить . Подтверждаем. У нас осталась камера и лампа. Слева на панели нажимаем Созд , продвигаем верхний бегунок вниз, выбираем Текст . Появляется текст. Нажмём F12 для рендеринга. Выглядит как-то не очень. Нажмём esc для выхода из просмотра. Поработаем с текстом. Раздвинем влево правую панель. Щёлкнем по кнопке F для операций со шрифтом. Выберем пункт Шрифт → Обычный и подключим нужный нам шрифт (в качестве примера я буду использовать бесплатный церковнославянский шрифт Evangelie, который можно взять здесь ). Лучше его заранее поместить в папку с проектом и подключать оттуда. Нажимаем Tab для работы с текстом, стираем слово Text и пишем что хотим. Опять нажимаем Tab и выходим из режима редактирования.
Теперь освоим кнопки S , G , N . C помощью S масштабируем, с помощью G передвигаем, а с помощью N вращаем надпись до получения нужного вида при нажатии F12. Кнопка N включает ещё одну панель; там и подбираем параметры вращения в плоскостях X, Y, Z. Можно подбирать цифры; можно быстро двигать их мышкой. При повторном нажатии N панель отключается.
Настроим цвет надписи. Нажмём кружок справа от буквы F подберём нужный цвет текста. Также тут можно настроить параметры отблеска, прозрачность, собственное свечение надписи и другие параметры. Нажмём F12 для рендеринга и предварительного просмотра.
Для настройки цвета фона нажмём другой кружок (четвёртый слева) и в пункте Цвет горизонта создадим белый цвет.
Для настройки 3D снова нажмём кнопку F . Можно прибавить размер, сделать наклон вправо или влево, увеличить межсимвольные интервалы, но главное: в разделе Геометрия изменим пункт Выдавить (он даёт трёхмерный эффект) и, если надо, Глубина (создаётся фаска). Нажмём F12 и посмотрим, что вышло.
Здесь у нас хорошая (даже несколько избыточная) освещённость, но если это не так, можно поиграться и с ней — продублировать лампочку (щёлкнуть по ней правой кнопкой мыши и нажать Shift+D ) и перетащить её куда-нибудь, изменить энергию, добавить новый источник света. Я немного уменьшил энергию лампы.
Выходим на финишную прямую. Нажмём значок фотоаппарата (крайняя левая кнопка). Вначале уберём фон — для этого выберем формат PNG или TIFF с опцией RGBA, глубину сделаем 16, насчёт сжатия сами думайте. Откроем пункт Затенение , в окошке Альфа выберем С прозрачностью . Нажмём F12 и убедимся, что фон пропал.
И финальная операция — поднимемся вверх к пункту Размеры . В пункте Сглаживание ставим 16 (чем больше, тем лучше качество), Разрешение ставим 100, а значения X и Y увеличим до нужной величины (в этом примере я умножил их на 2). Лучше потом в программе обработки изображений уменьшить большую надпись, чем растягивать маленькую. Нажмём F12 . Рендеринг идёт медленно — файл получается здоровый.
Когда он завершится , нажмём F3. Выберем папку для сохранения и сохраним файл.
Посмотрим в каком-нибудь вьювере, что вышло — 3D текст на прозрачном фоне.
В начале работы с программой надо почаще сохранять свой рабочий файл: Blender при закрытии не предлагает его сохранить, вследствие чего данные могут быть потеряны. Для отмены ненужной операции используйте сочетание клавиш Ctrl+Z . Лицензия программы — GNU GPL версии 2 или новее. По поводу обучающей литературы: для начинающих лучший выбор будет книга «Blender Basics 2.6» Джеймса Кронистера (на русский переведено 4-е издание). Книга распространяется свободно. Также неплохая книга Прахов А.А. «Самоучитель Blender 2.7».
Источник статьи: http://zen.yandex.ru/media/id/5d7a2e4a433ecc00ad2661df/programma-blender-sozdanie-3d-teksta-chast-i-5d806b1e6d29c100ad3daacc
Программа Blender; работа с 3D текстом. Часть II.
В этой статье я продолжу разговор о работе с 3D текстом в программе Blender. Создавать будем искривлённые надписи. Также немного поработаем со вставкой специальных символов. Запустим Blender, создадим кривую Безье. Войдём в режим редактирования , нажав Tab . Выделим вершину кривой или одну из её направляющих. Изменим форму, как нам нужно. Выйдем из режима редактирования, снова нажав Tab .
Создаём надпись, сделаем нужный цвет. Убедимся, что текст выделен, перейдём в раздел F в Окне Свойств и найдите поле Текст вдоль кривой . Щёлкнем в поле и из появившегося меню выберем нашу кривую. Текст примет форму выбранной кривой. Возможно, вам потребуется настроить расстояние между буквами для лучшего внешнего вида текста. Меняем форму и размеры кривой, а также положение текста в пространстве, чтобы получить нужный результат.
Создаём экструзию для получения 3D эффекта, корректируем положение текста в пространстве.
Корректируем освещённость — выделим лампочку, заменим Точка на Солнце , передвинем для освещения спереди и убавим энергию.
Иногда возникает необходимость вставлять символы, которых нет на клавиатуре — знак параграфа, различные варианты кавычек, ударение и т. д. Например, в этом шрифте есть второй вариант буквы О. Может быть, он кому-то понравится больше. Вначале надо узнать код символа Unicode. Он будет 004f. Выделим текст, переходим в режим редактирования, стираем вторую букву О. Внизу слева, где кнопка Текст , поднять меню.
В левом нижнем углу щелкнуть угловую кнопку выбрать Консоль Python
В консоли вводим только так:
bpy.ops.font.text_insert(text=u»\u004f»)
Или лучше скопировать вышеприведённую строку в буфер обмена, там же (в левом нижнем углу) нажать Консоль → Вставить из буфера обмена . Если нужен код другого символа, нажать левой кнопкой мыши на строке консоли, поправить цифры и буквы кода. Нажать Enter.
Сдвинуть панель вниз, скрыв консоль. Выйти из режима редактирования текста, нажав Tab .
Будем готовиться к рендерингу. Преобразуем текст в полисетку (раньше её называли меш). Выделим текст, нажмём Alt+C , выберем нижний пункт Полисетка из кривой/мета/поверхности/текста . Текст преобразовался в полисетку; более операции со шрифтом в этой надписи недоступны. Выделяем правой кнопкой мыши кривую и удаляем её. Если её удалить до преобразования текста в полисетку, то он выпрямится, что совсем не нужно. Настраиваем рендеринг, проводим его, как о том говорилось в части первой ( F3 ). Только в этот раз я умножал X и Y на 1,5, а не на 2 — слишком большой в прошлый раз получился файл.
Затем сохраняем результат ( F3 ). Смотрим.
Источник статьи: http://zen.yandex.ru/media/id/5d7a2e4a433ecc00ad2661df/programma-blender-rabota-s-3d-tekstom-chast-ii-5d81b2b18600e100ac9a0e95
Редактирование текста¶
Текстовые блоки¶
Текстовые “блоки” позволяют распределять текст среди прямоугольных областей в пределах одного текстового объекта. Разрешено произвольное количество рамок текстовых объектов, которые можно свободно располагать и изменять их размеры.
Текст течет непрерывно от рамки с меньшим номером к рамке с большим номером с текстом внутри каждой рамки с переносом на новую строку. Текст перетекает в другую рамку, когда текст в рамку с меньшим номером текст больше поместиться не может. Если достигнута последняя рамка, текст вытекает из нее.
Текстовые рамки очень похожи на концепцию рамок из настольных издательских приложениях, таких как scribus. Вы используете рамки для управления размещением и потоком текста.
Кадры управляются в панели текстовые блоки.
Размер рамки¶
По умолчанию первая рамка нового текстового объекта, и любые дополнительные рамки, имеют размер ноль как Ширины так и Высоты, это означает, что рамка изначально не видна.
Рамки с шириной 0.0 полностью игнорируются во время текстового потока (перенос слов не происходит), и рамки с высотой 0.0 текут вечно (не перетекают к следующей текстовой рамке).
Чтобы рамка стала видимой, ее Ширина должна быть больше 0.0.
Технически на высота никогда не бывает на самом деле 0.0 потому что сам шрифт всегда имеет собственную высоту.
(Ширина рамки) — этот текстовый объекта с шириной 5.0 . И потому что ширина рамки больше, чем 0.0 теперь он отображается и рисует в пунктирный прямоугольник цветом активного объекта установленным в теме оформления Blender. Текст переполняется когда подходит к концу последней рамки.
Источник статьи: http://programishka.ru/docs_manual/doc/blender/modeling/texts/editing.html
Текст в Blender Game Engine
В этом уроке Вы узнаете, как добавлять текст в игру, изменять его цвет, размер, шрифт… Как переносить длинные строки текста с помощью скрипта, а также научитесь создавать счетчик боеприпасов.
Добавление текста
Blender может использовать текст в режиме реального времени в игровом движке. Создайте новую сцену, перейдите на вид из камеры, расположите 3D-курсор в левом верхнем углу и добавьте объект Text. Скорее всего выровняется он относительно глобальных координат. Вы можете вручную повернуть его, но лучше перейти в настройки (User Preferences) и на вкладке Editing изменить опцию Align To на View. Таким образом вновь созданные объекты будут выравниваться относительно текущего вида, а не глобальных координат. Теперь запустите игру (P) и вы увидите в ней Ваш текст:
Изменение разрешения шрифта
Не трудно заметить, что качество надписи оставляет желать лучшего. Мы может улучшить его двумя способами. Вы можете отдалить текст от камеры и увеличить его в размерах (при необходимости) или же написать небольшой скрипт на Python. Лучше использовать второй способ 🙂
Добавьте окно Text Editor, создайте новый файл с названием “text_res” и вставьте в него следующий скрипт:
cont = bge.logic.getCurrentController() own = cont.owner own.resolution = 5
Не снимая выделения с текста, перейдите в окно Logic Editor. Добавьте сенсор Always и подключите его к контроллеру Python. Для контроллера укажите использовать скрипт под названием “text_res“. Запустив игру Вы заметите что текст стал значительно лучше выглядеть. Изменяйте значение resolution до тех пор, пока не достигните желаемого результата, но не устанавливайте слишком высокие значения, иначе игра начнет подтормаживать. Значение 1 является разрешением по умолчанию. Начинайте со значения 2 и так до достижения результата:
Так значительно лучше:
Настройка внешнего вида шрифта
Вы можете изменить цвет шрифта изменив цвет объекта. Для этого перейдите на вкладку Object и измените параметр Object Color. Сам шрифт можно изменять на вкладке шрифта:
Добавление текста в игру (HUD)
Теперь, когда мы знаем как добавлять и настраивать текст займемся созданием игровой сцены, в которой будет присутствовать Head-Up Display (HUD). Также, Вы узнаете как форматировать длинные строки текста (создавать переносы) при помощи Python и логических блоков.
Когда Вы откроете файл, то заметите что в нем уже присутствуют камера и куб из предыдущего урока. Также, для куба и камеры была добавлена анимация ходьбы, чтобы перемещение по сцене было более реалистичным. На вкладке рендера частота обновления установлена равной 60 кадров в секунду для более плавной анимации.
Нажмите P, чтобы запустить игру. Перемещение по ней производится при помощи W,A,S,D + мышь, а также можно приседать с помощью Ctrl.
В центре сцены находится коробка с боеприпасами. Как только Вы ее подберете, она исчезнет. Нашей целью будет выводить на экран количество собранных боеприпасов. Для этого нам понадобится новая сцена, которая будет выступать в качестве HUD:
Переименуйте новую сцену в “HUD“. Перейдите на вид спереди и добавьте в сцену камеру. Сместите камеру в сторону от центра оси координат. Теперь перейдите на вид из камеры и добавьте слева вверху текст, как мы делали это в начале урока. Измените надпись на “Ammo:” и при желании настройте разрешение, цвет и шрифт для текста. Затем продублируйте надпись, сместите ее немного вправо и измените ее на “0“. Этот второй текст будет выступать в роли счетчика каждый раз, когда куб (наш персонаж) будет соприкасаться с боеприпасами.
С выделенной надписью “0” в окне Logic Editor на панели свойств добавьте для него новое свойство “Add Text Game Property“. Измените тип на Integer (целое число). После этого займемся настройкой вывода HUD в сцену с игрой:
Переключитесь на сцену с игрой и выделите камеру. В окне Logic Editor соедините сенсор Always, контроллер And и актуатор Scene. Измените режим актуатора на Add Overlay Scene и укажите использовать сцену HUD:
Теперь запустите игру и в ней Вы должны увидеть созданный текст в сцене HUD:
Выделите коробку с боеприпасами в центре сцены. Вы заметите что у нее уже присутствуют логические блоки отвечающие за ее вращение и исчезновение при столкновении с чем-либо.
Добавьте актуатор Message и подключите его к тому же контроллеру, что и сенсор Collision. В поле Subject введите “ammo“. Теперь при столкновении с персонажем боеприпасы будут исчезать и отправлять сообщение “ammo“:
Переключитесь на сцену HUD и выберите счетчик. Добавьте сенсор Message и в поле Subject введите “ammo“. Подключите его к контроллеру And, а контроллер к актуатору Property. Измените его режим на Add, Property на Text и установите Value равным 1. Вся эта связка добавляет единицу к переменной Text когда получает сообщение “ammo”:
Вернитесь в сцену с игрой, запустите ее и подберите коробку. Счетчик должен измениться с 0 на 1. Вы можете продублировать коробку с припасами несколько раз, расположить ее в разных частях сцены и попробовать собрать их все.
Перенос слов
Если в Вашей игре присутствуют длинные диалоги, то скорее всего Вы захотите выводить их параграфами. Можно сделать это вручную, добавляя “\n” в код скрипта или же использовать для этих целей отдельный модуль. С помощью этого модуля можно взять длинные строки и разделить их на отдельные линии определенной длины. Использование моноширинных шрифтов дает наилучший результат, так как длина линии определяется по количеству символов в ней, а не по ширине линии в пикселях.
Перейдите в сцену HUD. Чуть ниже надписи “Ammo” добавьте новый объект Text. Если нужно, отредактируйте разрешение. На вкладке шрифта измените шрифт на моноширинный, например Courier. В окне Logic Edotor добавьте новое свойство “Add Text Game Property” и оставьте тип String (строка). Создайте новый текстовый файл, назовите его “text_wrap” и вставьте в него следующий скрипт:
import textwrap cont = bge.logic.getCurrentController() own = cont.owner startmessage = «Welcome to this tutorial on text in the game engine.» own[«Text»] = textwrap.fill(startmessage, 20)
Добавьте сенсор Always и соедините его с контроллером Python, в котором указан скрипт “text_wrap“. Запустите игру и посмотрите на результат. Переменная startmessage хранит наш текст, который нужно вывести. Переменная own[“Text”] изменяет объект текст и с помощью функции textwrap.fill(startmessage, 20) выводит его строками по 20 символов:
Этот текст будет отображаться на экране на протяжении всей игры. Очевидно что в этом нет нужды, поэтому его нужно убрать по истечению некоторого времени.
Выделите надпись и добавьте для нее сенсор Delay, контроллер And и актуатор Visibility. Delay установите равным 200, а в актуаторе Visibility отключите пункт Visibility. Эта связка говорит, что после 200 “тиков” (по умолчанию 60 “тиков” = 1 секунда) надпись исчезнет с экрана. Запустите игру и проверьте работу.
На этом урок закончен! Вы также можете использовать любые другие функции по работе с текстом: capitalize(), lower(), upper() и т.д.
Источник статьи: http://blender3d.com.ua/text-v-blender-game-engine/