Пишу3D - сайт о Blender, бесплатный редакторе 3D графики и его движке, Blender Game Engine, на котором можно легко создать игру без программирования. На cайте вы найдете новости, уроки, видео-уроки, примеры, скрипты, игры, а также полезный софт.


Новости сайта Скачать Статьи Дневник
разработчика
Форум Галерея
Sintel: Документальный фильм
Релиз Blender 2.55
Egg Savior – Blender для игры на Android
Wall meets Cube
B.L.E.N.D.E.R.:Shadow of Amsterdam
Софт
Blender Примеры
Видео
Help'ы
Игры
Видео-уроки
Blender Скрипты
Blender3D
Заработок в интернете
3D Rad
Другое
Запись первая: Начало
Где продать аккаунт? (ссылочка в топике)
Split screen in blender game
Water!!
Мультфильмы от Blender Foundation.
Новая социальная сеть
Галерея

Каталог статей

Главная » Статьи » Blender3D

Видео-текстура

План действий:

1. Создать плоскость

2. Загрузить изображение текстуры и применитьUV-развертывание

3. Написать скрипт на Python, который загрузит и проиграет видео

4. Написать скрипт на Python, который обновит видео

5. Создать логические блоки, которые будут запускать скрипты

6. Запустить игру и посмотреть на результат

Создание плоскости

Запустите Blender и сохраните ваш проект где-нибудь на жестком диске. Загрузите видео и сохраните его также на жестком диске, или используйтеуже намеченное видео. Точно также поступите сизображением. Если при запуске у вас появляется куб, то удалите его (клавиша «Х»). Добавьте плоскость (Пробел>Add > Mesh > Plane). Нажмитеклавишу «N», чтобы появилось меню "TransformProperties”. Найдите в этом меню свойства DimX и DimY и измените их значения на 9 и 5 соответственно.


Загрузка изображения текстуры и применение UV развертывания


Сейчас надо применить инструмент UV unwrap для плоскости. Разделите экран на два окна (ПКМ на границе окон)

Выберите для вновь получившегося окна тип"UV/Image Editor” из меню "Window Type”:

В окне "UV/Image Editor” выберите меню "Image >Open” и в появившемся окне выберите сохраненный вами файл с изображением. Для примера использовали "bbb.png”. Вернитесь обратно в окно 3D вида и нажмите"Tab”, чтобы перейти в режим редактирования"Edit Mode”. Нажмите клавишу "U”, чтобы вычислить UV координаты. При этом появится выпадающее меню, в нем выберите пункт "Project fromView (Bounds)”. Теперь в редакторе UV/Image Editor должно появиться практически то же самое:

Нажмите клавишу "F5”, чтобы перейти в пункт Shading view окна Buttons и нажмите на кнопке "Add new” меню "Links and Pipeline”:

Это действие создаст новый материал для плоскости. Далее нам необходимо связать этот материал с выбранной текстурой (в примере "bbb.png”). Нажмите клавишу «F6», чтобы перейти в меню Texture
в окне Buttons и нажмите кнопку "Add new”:

Выберите пункт "Image” из выпадающего списка "Texture Type”. Перейдите в появившееся меню "Image” и нажмите на маленькой кнопке слева от кнопки "Load”. Выберите из списка изображение "bbb.png”:

Вернитесь обратно в панель Shading, нажав «F5».С правой стороны панели есть меню с тремя закладками: "Texture”, "Map Input” и "Map To”. Выберите "Map Input” и кликните на кнопке "UV”.Это позволяет правильно распределить UV-текстуру по плоскости.

Нажмите "F12”, чтобы отрендерить изображение.У вас должно получиться следующее:

Прежде чем продолжить, я хочу убедиться, что вы находитесь в объектном режиме "Object mode” (нажмите клавишу ‘tab’) и выбрали тип отображения "Textured”:

Написание скрипта, который загрузит и пока-
жет видео


Из списка меню "Window type” (тип окна) в окне "UV/Image Editor” выберите тип окна "Text Editor”.
Кликните на кнопке Python и на "AB”, что облегчит синтаксис написания скрипта. Перейдите в меню и выберите "Text > New”. Это
создаст новый текстовый файл. Назовите его "LoadVideo”:

Затем вставьте текст из блока в текстовый редактор. В
коде есть пояснительные комментарии.

файл "LoadVideo”


i
mport VideoTexture


# — Gets the Python controller associated with this Python script.
contr = GameLogic.getCurrentController()

# — Gets the game object associated with this logic brick.
obj = contr.owner

# — Check if the "video” property has been defined on "GameLogic”
if not hasattr(GameLogic, ‘video’):

# — Get the material that is using our texture
matID = VideoTexture.materialID(obj, ‘IMbbb.png’)

# — Create the video texture
GameLogic.video = VideoTexture.Texture(obj, matID)

# — Get the path to the video file
movie = GameLogic.expandPath(‘//trailer_400p.ogg’)

# — Load the file
GameLogic.video.source = VideoTexture.VideoFFmpeg(movie)

# — scale the video
GameLogic.video.source.scale = True

# — play the video
GameLogic.video.source.play()

Написание сприпта, который обновит видео


Перейдите в меню и выберите "Text > New”. Назовите этот файл "UpdateVideo”. Вставьте код из блока в текстовый редактор. В этом коде также есть пояснения.

Создание логики в игровом движке для запуска
скриптов


Нажмите «F4», чтобы перейти в панель Logic окна Buttons.
Кликните на кнопке "Add”, расположенной за кнопкой "Plane”, чтобы добавить новый сенсор. Измените тип сенсора на "Keyboard” и нажмите кнопку "Key”:

После клика по кнопке возле надписи "Key”, на этой кнопке появится надпись "Press a key”. Нажмите клавишу "Enter”. Затем пользователь
нажимает клавишу "Enter” в игре и должен запуститься скрипт "LoadVideo”. Далее создайте контроллер, нажав на кнопке "ADD” в столбце контроллера рядом с кнопкой "Plane” и соедините его с сенсором. Смените тип контроллера с "AND” на "Python” и введите в поле с именем имя первого скрипта, созданного нами "LoadVideo”. Все
должно получиться таким образом:

Сейчас вы собираемся создать сенсор, который
обновляется в каждом кадре.


Нажмите на кнопке "Add” рядом с кнопкой "Plane”. Измените тип сенсора на "Always”. Добавьте другой контроллер Python и введите имя "UpdateVideo”. Соедините сенсор и контроллер. Убедитесь, что кнопка "Activate TRUE level triggering (pulse mode)” нажата (это кнопка выделена желтым кругом).

файл "UpdateVideo”

# — Check if the "video” property has been defined on
"GameLogic”
if hasattr(GameLogic, ‘video’):

# — The video has to be refreshed every frame because

# it is not a background process
GameLogic.video.refresh(True)


Запуск игры и просмотр результата


Чтобы начать игру, нажмите клавишу "P”, а затем - "Enter”, чтобы проиграть видео. Чтобы выйти из режима игры, нажмите "Esc”.


В качестве видео вы можете использовать любой видео-файл, который поддерживает кодак FFmpeg. Форматы видео-файлов: AVI, Ogg, Xvid, Theora, video4linux capture card, dv1394 camera, videoForWindows capture card, JPG.

  • 1
  • 2
  • 3
  • 4
  • 5
Категория: Blender3D | Добавил: winnner (19.08.2010)
Просмотров: 6386 | Комментарии: 2 | Теги: BGE, Blender, Видео-текстура | Рейтинг: 0.0/0
Всего комментариев: 2
2 winnner   (22.08.2010 18:27)
0
Не понял вопрос. Текстуры-видео на Plane.

1 andrei2712   (22.08.2010 15:44)
0
А куда видео вставлять?

Имя *:
Email *:
Код *:

Новые уроки

Blender 2.5: Динамическое рисование. Основы

Динамическое рисование представляет собой новый инструмент Blender. Он позволяет рисовать анимированные текстуры с других объектов и частиц.

Blender Game Engine 2.5: Sound

Урок, как сделать звук в игре

Blender Game Engine 2.49b: 2D Фильтры

На примере Motion Blur

Новые видео-уроки

Blender 2.5: GPencil
Урок по созданию рисованной анимации в Blender
Blender 2.5: Создание Starcraft 2 Logo

В этом уроке вы узнаете: как использовать площадь лампы эффективно, как быстро  сделать UV Unwrap текста, как использовать орфографические камеры

Blender 2.5: Как создать грозу

В этом уроке вы узнаете, как: быстро создать модель подробной молнии, сделать объект распадающимся, создать вспышки света, добавить свечение и эффекты бликов

Blender 2.5: Вызов дождя

В этом уроке вы узнаете, как: создать реалистичную анимацию дождя, добавить капли воды на объектив камеры, создать светящего неба и др.



Blender3D [21]
Заработок в интернете [1]
3D Rad [0]
Другое [0]

Последний софт

SIO2

Бесплатно с открытым исходным кодом 3D движок для iPhone, IPod Touch, IPad. Он построен вокруг Blender

BlendELF 0.9 BetaBlendELF – находящийся в разработке, компактный 3D игровой движок с открытым исходным кодом, предназначенный для быстрого прототипирования и создания игр/виртуальных трёхмерных миров.

Последние игры

Checkpoint racer Гонка: 2 трассы, 1 один соперник.
Córdoba City Fátima stories

GTA, сделанная в Blender.


Последние примеры

Слежение кости за предметом. Голова следит за предметом.
FPS Bullet Шутер от первого лица. Стрельба, кидание гранаты, мини-карта.

Опрос

Оцените мой сайт
Результаты | Архив опросов
Всего ответов: 486

Посетители

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня были


Для добавления необходима авторизация
В Мой Мир Яндекс цитирования