Пишу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

Урок по создания огня в BGE

Урок по созданию огня БГЕ (Blender Game Engine)

Шаг 1 (Подготовка)

Открываем Blender, и видим куб, он нам нужен удаляем его. Едем дальше, создаем наш огонь, а точнее частичку огня, а точнее начнем мы с создания плоскости (Space> Add Mesh> Plane). Открываем любой графический редактор, поддерживающий альфа-каналы (PhotoShop, GIMP, PaintNet и.т.д), сохранять также нужно в формате который поддерживает альфа каналы, лучше всего хранить в формате. PNG. У меня частица огня выглядит так:


Шаг 2 (Функции материала)

 Саму частицу мы создали, но теперь нам нужно использовать ее как-то в Blender. Теперь видиляем уже подготовленную нами плоскость. Заходим в панель материалов (F5), там создаем новый материал (Add New), заходим в панель текстур (F6), создаем новую ( add new), Texture type: Image, выбираем нужную текстуру, ту которую мы делали.

В панели материалов (F5), выбираем: Alpha = 0, включите Ztransp и Shadeless во вкладке map input: включите: UV, во вкладке map to: включите: Alpha.

Выделите нашу плоскость, перейдите в режим редактирования (Tab) нажмите U> Unvrap, а в панели Game> Blender GLSL Materials. Должно выглядеть так:

Шаг 3 (Функции логики)

 И да, мы нашу частичку огня, но она должна выглядеть как пламя.

Теперь, мы должны выделить нашу плоскость, разделить окно на две части в первой открыть панель материалов, а во второй открыть Ipo Curve Editor. В панели материалов, вы также должны включить кнопочку ObColor, теперь во втором окне: вы должны выделить, сначала: ColA (выделить, значит нажать один раз на надписи ColA, пока он не подсветиться), далее вернитесь на первый кадр, и на линии кадров во втором окне создайте первый ключ (это делается нажатием кнопки Ctrl и левой кнопки мыши), если вы правильно создали первый ключ, то должна появиться синяя линия, переместите ее на значение 1.0 (Т.е. сначала наша плоскость абсолютно видимая)

Переходим на 25кадр, на нем наша плоскость уже должна погаснуть, то есть значение ColA = 0, создайте новый ключ и сделайте его значение 0. Должно выглядеть это так, как на рисунке. Проверить действует ли можно нажав комбинацию Alt A. Плоскость должна плавно исчезать, если вам не подходит время, за которое оно исчезает, можно сделать его длиннее, растянув последний ключ. Теперь вам задача по тяжчеJ, сделайте для всех цветов первый ключ, а точнее для 3ьох цветов ColR, ColG, ColB, первый ключ должен быть со значением 1, а далее на 25, просто регулируйте тональность до ярко красного, Вот такая диаграмма в меня:

Вот раскадровка исчезновения плоскости:

Теперь мы закончили с частью логики, но займемся наконец самым огоньем. Переносим нашу плоскость на второй слой, выделяем ее, создаем ключ размера I> Scale (по желанию, перед этим вы можете уменьшить или увеличить размер частицы огня), переходим на 25 кадр, уменьшаем плоскость (кнопка S), и снова делаем ключ размера I> Scale (Это сделано для того, чтобы плоскость уменьшалась от основания очага вверх). Теперь заходим в панель логики нашей плоскости и создаем сенсор, контроллер и актуатор, соединяем их, сенсор: Тип: always, True (это такая маленькая кнопочка с 3ьома точками верх что заставляет сенсор будто все время повторять одну и тоже действие; актуатор: тип: motion, подтип: simple motion, Loc: по оси Z = 0.07 (напомню, осевший таблицы размещаются так: X, Y, Z), создаем еще один актуатор и соединяем с тем же контроллером, что уже у нас есть; актуатор: тип IPO, Sta: 1, End: 25.

Переходим снова на первый слой, там создаем «пустышку» (Space> Empty), переходим в панель логики, там создаем одно проперти, тип: Int, сенсор, контроллер и актуатор, сенсор: Тип: always, True, актуатор: тип: Edit Object, OB: fire (название плоскости), Time: 35 (почему 35, это просто экспериментальным путем). Теперь нам нужно сделать, чтобы огонь был хоть немного реалистичнее, а это значит колебался из стороны в сторону, выделяем нашу «пустышку», делаем для нее анимацию, где максимум 5-10 кадров как она движется по одной плоскости, чуть-чуть вправо и влево. Теперь снова в панели логики создаем еще один смысл, контр, и акт, соединяем их, сенсор: Тип: always, True, теперь актуатор тип IPO, Sta: 1, End: 10 (в зависимости от того на сколько кадров вы создали анимацию. Также для разбросанности огня создаем еще один сен, конт, акт, соединяем сенсор: Тип: always, True. Актуатор: тип: Random, Int Uniform, Property: prop, min: 11,max:22.

Огонь, почти готов, нам осталось только сделать так, чтобы огонь все время был возвращен в камеру, переходим на второй слой, выделяем нашу плоскость, заходим в панель логики, создаем еще один актуатор, Тип Edit Object, подтип: Track To, OB: Camera, активируем кнопку 3D. Но это еще не все, выделяем нашу плоскость, входим в режим редактирования, нажимаем R> X> 90, выходим из режима редактирования, нажимаем R> X> -90. Теперь снова выделяем нашу плоскость, входим в режим редактирования, входим в панель Editing (F9), там находим вкладку Texture Face, активируем кнопку TwoSide.

Несколько советов:

1. Если у вас через этот огонь резко снизились FPS, то выделяем нашу «пустышку», и в том сенсоре создающий плоскости делаем значение f = 2, или больше, чем больше, тем меньше создается плоскостей.

2. Обязательно натяните текстуру огня на плоскость типу UV, в другом случае, когда мы начнем переворачивать плоскость в режиме редактирования текстура растянется!

3. Лучше прикрепить одну пустышку в другую методом отец-сын, в таком случае вы сможете перемещать в пространстве наш огонь

Ну, вот и все, Удачное моделирования.

  • 1
  • 2
  • 3
  • 4
  • 5
Категория: Blender3D | Добавил: winnner (06.09.2010)
Просмотров: 5600 | Теги: BGE, Blender fire, blender game engine, Blender | Рейтинг: 5.0/2
Всего комментариев: 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

Сегодня были


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