Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

2D RPG - касательно спрайтов.   Найти похожие ветки 

 
LUCIFER (rh ZAROLF)   (2004-03-24 06:08) [0]

Хотелось бы знать как профильно делаются спрайты в RPG. Допустим в Диаблометре герой делится на несколько независимых спрайтов: ноги,туловище,руки,голова. И каждый можно заменить например - руку с топором на руку с мечом. Ну ладо типа это ни проблема, проблема в том - чтобы вся эта груда спрайтов ровно передвигалась, и не теряла остальные части тела - дабы не усугубить играбельность. Как можно энто всё ровно закрепить?


 
wiz ©   (2004-03-24 08:02) [1]

imho алгоритмически ;)


 
LUCIFER (rh ZAROLF)   (2004-03-24 08:14) [2]

> imho алгоритмически ;)

Лучше ответа я и не ожидал.


 
wiz ©   (2004-03-24 08:18) [3]

а если серьёзно, то в чем проблема?

Задаём, что спрайт "руки" висит в (X1,Y1) координатах от некоторой точки на экране, которая задаёт положение человека.

Задаём еще по "вектору смещения" (Xn,Yn) для каждого sub-спрайта персонажа (ноги, торс и т.п.).

При выводе спрайта персонажа в точке (X,Y), устраиваем вывод каждого спрайта в точке (X+Xn,Y+Yn). Если координаты целочисленные или "действительные с правильным округлением", то гарантированно получаем единый объект...

Оставшаяся за кадром работа: расчитать (например, исходя из предварительной картинки в PhotoShop"е) эти самые (Xn,Yn)


 
wiz ©   (2004-03-24 08:20) [4]

>Лучше ответа я и не ожидал.
мой второй ответ тебя больше устраивает? ;)))


 
LUCIFER (rh ZAROLF)   (2004-03-24 09:06) [5]

> а если серьёзно, то в чем проблема?

Вот ты описал всё просто так, даже если я так и сделаю - то мой герой будет ходить как бревно.


 
wiz ©   (2004-03-24 09:32) [6]

>как бревно.
A) во-первых, что ты имеешь ввиду под "как бревно"?
B) во-вторых, вопрос был задан "Как можно энто всё ровно закрепить?". я всего-лишь ответил на твой вопрос.

Теперь касательно брёвен.

Я делал подобное в 3D (Тренировался со скелетной анимацией).

В моём случае каждая вершина полигона (vertex) была прикреплена к некоторой кости (bone) в её положение высчитывалось относительно положения bone. Tсли точнее, то там каждый vertex крепился к одной bone или двум bone с весовыми коефициентами. Данный метод (в более сложном варианте) используется в 3dsMax"е для скелетной анимации.

Конечно, персонаж у меня частенько двигался неестественно, но это было связанно только с тем, что у меня нет "под рукой" аппаратуры motion capture, а отбивать все фазы движения ручками - дело довольно трудное (особенно если нет "таланта" 3d-художника).

Но! Герой смотрелся достаточно органично. правильно отмоделенные части можно было смело менять.

В твоем же случае, нужно сделать правильные спрайты... если картинка в спрайте будет двигаться реалистично и спрайты будут правильно подогнаны друг к другу, то и весь персонаж будет смотреться нормально.


 
wiz ©   (2004-03-24 09:51) [7]

да, и еще учти, что движение картинки спрайта должно быть согласованно с движением самого спрайта.

т.е. если спрайт сдвинулся на несколько пикселов влево, то одна нога на картинке должна сдвинуться на столько же пикселов вправо (при ходьбе). Иначе у пользователя возникнет ощущение скольжения или полета персонажа над поверхностью.

Резюмируя всё написанное: "задача органичности и реалистичности движения персонажа - на 80% работа художника, а только на 10% программера"

(оставшиеся 10% задачи - работа менеджера (продюсера), который сможет свести художника и проггера в одном месте и в одно время, и проследит, что они ПРАВИЛЬНО передали друг другу информацию)

PS: если ты работаешь над проектом один, всё равно imho стоит делать внутреннее деление на гейм-дизайнера, художника, программера. Это позволит тебе: во-первых, четко понимать что куда нужно сделать, что сделано/не сделано, а во-вторых понимание структуры проекта.



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
6-1083838439
Artix
2004-05-06 14:13
2004.07.04
Инет и delphi


14-1086274635
McSimm
2004-06-03 18:57
2004.07.04
Обратите внимание. Акция.


1-1087162291
Ivanov
2004-06-14 01:31
2004.07.04
работа с DLL


1-1087913598
Stein
2004-06-22 18:13
2004.07.04
Анализ гипертекста


3-1086191903
IVS
2004-06-02 19:58
2004.07.04
Неоправданно вырос файл базы InterBase