Создание анимации персонажа при помощи 3DMAX и FrameAnimator
1. Создание модели песонажа
3D-модель персонажа
2. Сцена для создания анимации
1 - персонаж;
2 - камера ( 'Ortographic Projection' ( 3DMAX ) );
3 - источник света для создания тени персонажа на земле ( 'Cast Shadows', 'Use Ray-Traced Shadows', 'Decay' в 'None' ( 3DMAX ) );
4 - произвольный источник света для создания общего освещения( 'Cast Shadows' отключить, 'Decay' в 'None' ( 3DMAX ) );
5 - съемочная плоскость для формирования фонового цвета и тени на итоговом изображении;
a1 - угол наклона камеры ( -25.7 );
a2 - угол наклона источника света для тени ( -75.7 );
a3 - угол поворота камеры ( -150, -90, -30, 30, 90, 150 ).
3. Генерация фреймов
Пакет анимации из пяти фреймов для ориентации 'South East'. Для реендеринга отключить 'Anti-Aliasing' ( 3DMAX ). 'StayFrame' не входит в пакет 'AB', но входит в пакет 'AA'.
4. Создание проекта анимации
Фрейм.
1 - фактические габариты картинки;
2 - целевое изображение персонажа;
3 - пустые границы. ( Не обрезайте их самостоятельно. Они нужны для корректного расчета смещения логических границ фреймов относительно друг друга. FrameAnimator обрежет сам эти пустые поля непосредственно перед генерацией FRM-файла, если установить опцию 'Edit\Options...\Autocutting' );
4 - фон, интерпретируемый, как прозрачный;
5 - логическая граница фрейма ( Если опция FrameAnimator 'Edit\Options...\Autocutting' не включена, то логическая граница совпадает с фактическими габаритами картинки. Для разных фреймов в коллекции логические границы различны );
H, W - высота и ширина фрейма;
OffsetX, OffsetY - смещение логического центра ( В FrameAnimator это значения FramesOffset[direction].X и FramesOffset[direction].Y ).
5. Настройка анимации
1 - фрейм стоящего персонажа (Не входит в анимацию ходьбы);
2 - фреймы анимации ходьбы;
3 - повторное воспроизведение фреймов анимации ходьбы ( воспроизведение повторяется до тех пор, пока персонжа не дойдет до нужного места на карте );
dx1, dy1 - смещение первого фрейма в момент начала воспроизведения анимации:
FirstOffset[direction].Х = FramesOffsets[direction].X + FrameOffsets[direction][1].X
FirstOffset[direction].Y = FramesOffsets[direction].Y + FrameOffsets[direction][1].Y
dx2, dy2 - смещение между двумя соседними фреймами ( В FrameAnimator это значения FrameOffset[direction][i].X и FrameOffset[direction][i].Y. FrameAnimator рассчитает их автоматически, если не обрезать пустые поля изображений!!! );
dx3, dy3 - смещение между последним фреймом и первым фреймом при повторном воспроизведении анимации ( В FrameAnimator это значения FrameOffset[direction][1].X и FrameOffset[direction][1].Y Установите значение X и используйте кнопку 'OffsetWizard' в диалоговом окне 'FrameOffset' для расчета корректного значения Y ).