Frame by frame в 3d RAD - 3D RAD - Конструкторы игр, системы разработки игр
Навигация по сайту
Сайт:

Дополнительно:

Файловый архив:

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

Форум:


Категории раздела
Game Maker [27]
Flash [3]
FPS Creator X9, X10 [1]
Scirra Construct [14]
Multimedia Fusion [0]
001 Game Maker, Map 001 [0]
3D RAD [16]
3D Game Studio [1]
Silent Walk FPS Creator [0]
Blender (Блендер) [1]
Game Editor [0]
Остальное [1]
Все остальное, что не попадает ни под одну категорию.

Мини-Опрос
Какой ОС Вы пользуетесь?
Всего ответов: 1208

Партнеры сайта
....

Frame by frame в 3d RAD

10:05
Всего существует два вида анимации - костная и по-кадровая.Оба из них оптимизированы для 3d Rad версии 6.22 и выше.
Только вот костная анимация официально-обновляема и оптимизирована в отличии от по-кадровой.Изначально в 3d Rad не было
поддержки по-кадровой.И до сих пор она не до конца оптимизирована. На данный момент я выпустил серию уроков по анимации
но давайте заострим свое внимание на по-кадровой анимации. По-кадровую анимацию иначе называют - frame by frame. Если
переводить точно то это звучало бы как - кадр за кадром. Если быэто был бы 2d спрайт то такое название было бы по мне как
актуально , но тут мы имеем дело с 3d RAD и 3d моделями - здесь наши кадры это mesh-и. У Frame By Frame анимации есть несколько
недоработок и недостатков по сравнению со скелетной анимацией.К примеру это излишний вес - каждый кадр это отдельно-взятая модель
запомните это - это важно и еще как пригодится.Вес средней модели до 1 мегабайта, а вот количество кадров для стандартной не-тормозящей
анимации превышает 140 итого нам на одну модель придется затратить до 200 мегабайт.С учетом того что в среднем проекте не менее сорока
моделей живых персонажей то я боюсь сказать какой будет у нас вес.Вторая наша проблема это тормоза.Не забываем что каждый наш кадр это
отдельно взятая модель и в этом вся проблема.Представьте себе ситуацию - на карте используются до 30 моделей одновременно + не анимированые,
С учетом количества моделей на кадр то одновременно вашему компьютеру придется воспроизводить до 1500 моделей + не анимированые. Вот тут то
и сказывается отсутствие оптимизации и правильно проработанного баланса.Видно что появилась функция frame by frame благодаря многим энтузиастам.
Итого мы имеем простой способ создания анимации,но с предельно большим весом и отсутствием оптимизации.
Что-же - разобрались что к чему, и если же вы все же в силу незнания скелетной анимации будете использовать frame by frame анимацию в своем проекте
то я просто обязан продолжить урок чтобы пояснить принцип работы и устройства такого подвида анимации...
Урок по созданию frame by frame анимации есть на сайте.Тут же я объясню как заставить эту анимацию "работать на нас".
Назначив управление нам понадобится чтобы модель воспроизводила нужные анимации в нужное время.Для этого существуют тумблеры которые устроены так
называемыми переключателями on и off . Таких объектов в 3d RAD просто не существует но мы можем настроить другие объекты не предназначенные
для этого под наши собственные нужды.Мы будем работать с объектами Event on Imput и совсем чуточку скрипта (даже поясню как он работает). Что-же ну-с
приступим !?
Заранее предупреждаю, я сначала объясняю что сделать для того чтобы добиться результата, все действия идут равномерно шаг-за шагом,они тестировались на движке и если вы выполните что-либо неправильно то все может работать некорректно , в конце урока после того как я объясню что делать я поясню как это работает и что вообще мы делали. Урок сопровождается изображениями и пояснениями к действиям и их функциям.Урок очень сложный но я даю пояснения, удачи вам!!!
Начнем?
Допустим у нас есть какая либо модель анимированная способом frame by frame. Она состоит из шести кадров:
с первого по третий - анимация шага
с четвертого по шестой - анимация удара
кадр ноль - персонаж стоит без действия
Добавляем нашу модель в 3d Rad , затем добавим Event on Imput (EOI). Для удобства (потом понадобится) переименуем наш EOI например в "Шаг".
Добавляем объект Script (Скрипт),в настройках снимаем галочку с Active и прописываем сам код:
Код
void Main()   
{   

       if (IN_1<5)OUT_0=1;
       if(IN_1>=3)
       {   
          OUT_0=1;
       }   
}

Поясняем:
if (IN_1<5)OUT_0=1; - обозначает начало анимации, с какого кадра она начинается, параметр OUT_0 - переменное значение.

if(IN_1>=3) - эта строка обозначает кадр конечный, то-есть до какого кадра будет идти анимация

OUT_0=1; - а эта строчка обозначает обратный переход к тому кадру с которого начали, переменное значение 1 ставим такое-же как и в первой строке
для корректного отображения.

Соединяем EOI со скриптом.
Соединяем модель со скриптом.

Теперь откроем окно настройки и выставляем параметры EOI:

Поясняем параметры:
script - START on imput (в окне выше извиняюсь выставил неверный параметр)
скрипт - запустить при нажатии.

Skin Mesh - ignire
Скин Мэш - игнорировать (нам он не нужен тут)

Теперь добавляем второй EOI , назовем его "Удар" и соединим с script.
В настройках указываем скрипт как "Stop on imput" (Остановить при нажатии), ну и еще ставим нужную нам
клавишу.
Добавляем второй скрипт и чтобы не перепутать с первым назовем его например script(Удар), так же соединим
с нашим Skin Mesh.В нем прописываем тот же код но уже с другими значениями
(параметры начала и конца другой анимации):
Код
void Main()   
{   

       if (IN_1<5)OUT_0=4;
       if(IN_1>=6)
       {   
          OUT_0=4;
       }   
}

И так же снимаем галочку Active в настройках.
У нас уже настроены 2 анимации, не буду вас мучить кото-васией и сразу это завершим:
Добавляем последний EOI (EOI Stand) и последний Script (назовем его ScriptStand). В скрипте прописываем
код уже со статичными значениями:
Код
void Main()   
{   

       if (IN_1<5)OUT_0=0;
       if(IN_1>=0)
       {   
          OUT_0=0;
       }   
}

Соединяем с моделью и EOI и НЕ-убираем галочку Active. В EOI ставим клавишу Enter или любую другую которая нам не нужна и
ставим галочки на режимах Continios (Продолжительный) и дольше на Toggle Mode (Режим повтора).В параметрах устанавливаем
Script как Start on Imput.
Ну а теперь самая главная часть, соединяем ВСЕ СКРИПТЫ со ВСЕМИ EOI. И ставим настройки:
EOI Stand - ставим все скрипты кроме ScriptStand как Stop on Imput.
EOI Удар - ставим все скрипты кроме ScriptУдар как Stop on Imput.
EOI Шаг - ставим все скрипты кроме ScriptШаг как Stop on Imput.
Поздравляем мы завершили работу над настройкой Frame By Frame анимации!
Ну - что же мы черт побери сделали ?
Сейчас поясню. Мы создали EOI как тот самый on off кнопки, теперь EOI запускает и отключает скрипты. К примеру возьмем EOI Шаг, как происходит действие когда мы нажимаем на стрелку UP ? При нажатии на UP объект EOI останавливает все скрипты (Удар,Stand) и активирует скрипт "ScriptУдар" в котором прописаны кадры с какого по какой воспроизводить, когда мы отпускаем клавишу UP единственный постоянно-активный объект EOI Stand останавливает все скрипты кроме "ScriptStand" чтобы когда мы например сделали действие - наш герой не продолжал бегать на месте, остановиться. Тоже самое происходит и с EOI Удар.По такому сложному на вид и простому по принципу действия слаженному действию всех объектов мы получаем правильно настроенную Frame By Frame анимацию. Можете добавлять по принципу действия EOI Шаг
и EOI Удар и другие анимации дополнительно при этом настроив кадры вашей анимации в скрипте и поставив остановку этого скрипта в EOI Stand , EOI Шаг и EOI Удар.
Спасибо что дочитали урок до конца, надеюсь я вам помог! =)

Категория: 3D RAD | Просмотров: 3557 | Добавил: _¿_ (01.01.2013) | Рейтинг: 3.0/3
HTML ссылка на материал:
BB ссылка на материал:
Похожие материалы :
Возможно вам будет интересно:
PHP - Базовые понятия (0)
Создание многопользовательской(online) игры на Game Maker. (часть 1) (0)
С чего начать создание игры для начинающих? (13)
Поиск файлов на винчестере в Delphi (0)
Создание света (освещение уровня) (0)
Подробности о Unreal Engine 3.0 (3)
Создание меню и паузы (0)
Урок по PaintNET (1)
Полезные функции и процедуры: часть 1 (0)
Создание TDS (0)
Задротство - основа MMO игр (10)
Полиморфизм, Инкапсуляция и Наследование (0)
Создание рикошета пуль от стены (4)
Работа с Сетью в Blitz3D: TCP (0)
Экономика в ммо (2)
Всего комментариев: 2
+2   Спам
2 Filinshein   (01.01.2013 21:20) [Материал]
Полностью поддерживаю Андрея. Правила едины для всех!

1 ZiP   (01.01.2013 18:19) [Материал]
Капец! surprised Влепить бы тебе замечание за ужасное оформление статьи, в частности за огромный шрифт, но меня не правильно поймут. dry Если Славе на это наплевать, то тогда я вообще не понимаю для чего надо было писать правила оформления и задавать стандарты шаблона. dry

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Поиск по всему сайту:
Поиск по разделу:

Панель пользователя
Здравствуйте, Гость


Ник:
Пароль:
Запомнить :

Ваш IP: 3.235.199.19

Случайные конструкторы

Случайные движки

Случайные статьи

Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0

На сайте были:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2024 Хостинг от uCoz
Топ Разработка игр