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

Вниз

Анимация объекта   Найти похожие ветки 

 
AKMTT   (2006-01-05 00:32) [0]

Доброго времени суток
Помогите со следующим: делаю игру, в ней есть персонаж, который должен двигаться, допустим человечек в 2D. Как сделать анимацию? Через спрайты? Нужно отрисовать каждое движеные: вперед, назад, вверх, вниз, движение рук? Подскажите как лучше осуществить это.


 
Кефир87 ©   (2006-01-05 01:20) [1]

"через" спрайты. да 8)


 
Аццкий_рыцарь:)   (2006-01-05 05:31) [2]

ггггг смотри в этой теме и внимай, что скажут мастера. НО НИ В КОЕМ СЛУЧАЕ НЕ НАЧИНАЙ УЧИТЬ  DelphiX ! уже лучше через канвас что-то рисовать :)


 
AKMTT   (2006-01-05 05:34) [3]

2Аццкий_рыцарь:) Не смешНО ОДНАКО.
Я серьезно спросил, как сделать анимированого персонажа, точнее как лучше делать? Все пишется на OpenGl.
Или в 3D Max"e делать модель?


 
Cash ©   (2006-01-05 09:59) [4]

Аццкий_рыцарь:)   (05.01.06 05:31) [2]:
:D :D :D :D
Уже научен горьким опытом!?
:D :D :D :D

AKMTT   (05.01.06 00:32):
... допустим человечек в 2D ...
Это, типа, берем картинку чувака, и надо ее проанимировать? :)))

... Или в 3D Max"e делать модель? ...
А, это типа, ты хочешь взять чувака из 3DMax-а, и запихать его в игру? :)))

:)))

Не, а если серьезно, то:
Ты пишешь 2D игру на OpenGL, так? Иначе далее можно не читать.
Да, действительно, ход мыслей верен. Можно взять 3D-Max,
создать в нем модель, а потом, путем рендеринга сделать 2D текстуру.
Собирай эту текстуру в анимацыонную лену. Это когда два
последовательных кадра занимают соседнее положение на картинке.
Потом после перегонки этой картинки в OpenGl текстуру сделай
рамочную сетку. Внутри текстуры левый верхний край - это (0,0),
а правый нижний - (1,1). (для подсказки, правый верхний край - (1,0)).
А все, что между 0 и 1 - составляет содержимое текстуры.
Тем сасым, квадрат в сетке будет из четырех вещественных чисел.
Левого верхего и правого краев кадра и левого и правого нижних краев.
Подумай, как можно из размеров кадра и всей ленты вытянуть эти
значения.

Вобщем так:

(0,0)                                       (1,0)
+-------+-------+-------+-------+
|##1##|##2##|##3##|##4##|
+-------+-------+-------+-------+
|##5##|##6##|##7##|##8##|
+-------+-------+-------+-------+
|##9##|#10##|#11##|#12##|
+-------+-------+-------+-------+
|#13##|#14##|#15##|#16##|
+-------+-------+-------+-------+
(0,1)                                       (1,1)
"+": Угол кадра
"#": Заполнение кадра


 
Cash ©   (2006-01-05 10:03) [5]

Пардон, с картинкой обшиб: вот так поправил:

(0,0)                                       (1,0)
+-------+-------+-------+-------+
|###1###|###2###|###3###|###4###|
+-------+-------+-------+-------+
|###5###|###6###|###7###|###8###|
+-------+-------+-------+-------+
|###9###|##10###|##11###|##12###|
+-------+-------+-------+-------+
|##13###|##14###|##15###|##16###|
+-------+-------+-------+-------+
(0,1)                                       (1,1)
"+": Угол кадра
"#": Заполнение кадра


 
XProger ©   (2006-01-05 12:40) [6]

http://www.timeforkill.mirgames.ru/img/scr/5.jpg
Анимация спрайтовая
+ Качественно
+ Просто
- Большой размер

Но можно и со скелеткой повозиться
http://xproger.narod.ru/TFK_ModelEdit.rar - редактор
http://xproger.narod.ru/Sarge.zip - модель
+ Возможность реализации RagDoll
+ Относительно небольшой размер
- Чтобы добиться приличного качества - нужно постараться
- В своём редакторе анимировать будет сложнее, нежели чем в максе
- Общая сложность реализации и использования, но оно того стоит ;)


 
JUS ©   (2006-01-05 12:53) [7]


> Аццкий_рыцарь:)   (05.01.06 05:31) [2]

)))))))))))))


 
AKMTT   (2006-01-05 15:36) [8]

2XProger Спасибо.


 
имя   (2006-01-05 21:13) [9]

Удалено модератором


 
имя   (2006-01-05 21:15) [10]

Удалено модератором


 
имя   (2006-01-05 21:28) [11]

Удалено модератором


 
XProger ©   (2006-01-05 22:53) [12]

Тряпка_с_элефантом, эту ленту придётся порезать вручную, т.к. OpenGL не держит текстуры не 2^n


 
имя   (2006-01-05 23:07) [13]

Удалено модератором


 
AKMTT   (2006-01-06 14:41) [14]

2Тряпка_с_элефантом Шутка :)
Всем спасибо :)
И еще вопрос: текстуру с текущим кадром натягивать на прямоугольник? это и будет персонаж? или каким образом?


 
Cash ©   (2006-01-06 16:10) [15]

AKMTT   (06.01.06 14:41) [14]:
Да, это и будет персонаж.


 
Братан   (2006-01-07 06:16) [16]


> Аццкий_рыцарь:)   (05.01.06 05:31) [2]
>
> ггггг смотри в этой теме и внимай, что скажут мастера. НО
> НИ В КОЕМ СЛУЧАЕ НЕ НАЧИНАЙ УЧИТЬ  DelphiX ! уже лучше через
> канвас что-то рисовать :)


Через канвас получается как раз нормально : http://kolobochki.narod.ru/
Потому, что для таких игр FPS не нужен. А сделанный движок никогда не поздно портировать под OpenGL. Если конечно надо.


 
AKMTT   (2006-01-08 00:07) [17]

Так вот вопрос, к римеру щелкнул я мышкой, нужно чтобы этот прямоугольник плавно передвинулся к нужному месту. Как это реализовать, а то у меня получается, что он просто прыгает туда, или передвишается, но программа подвисает. И как лучше всего осуществить плавную смену текстур, как узнать сколько времени прошло после нажатия мыши, чтобы к пример при хотьбе изменять текстуру каждый 100 мс? GetTickCount?. Или как Вы посоветуете?


 
XProger ©   (2006-01-08 01:03) [18]

AKMTT, ну ты же программист! Следовательно, должен эти задачи щёлкать как семечки - это вызов твоему интеллекту, прояви творческий подход к её решению ;)


 
AKMTT   (2006-01-08 01:06) [19]

2XProger
:) просто думал не нужно изобретать велосипед :) Ладно буду разбираться


 
fci   (2006-01-09 19:31) [20]

code.darthman.com -> download -> конкурсы -> battle



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

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

Наверх




Память: 0.51 MB
Время: 0.054 c
3-1154175894
Тфьу
2006-07-29 16:24
2006.10.01
Посоветуйте компонент


3-1154413284
Sir
2006-08-01 10:21
2006.10.01
Posgre SQL & Delphi7


2-1157697862
qp
2006-09-08 10:44
2006.10.01
ConnectionString


15-1157880735
ArtemESC
2006-09-10 13:32
2006.10.01
VISA


2-1157903717
Blacksus
2006-09-10 19:55
2006.10.01
Как из DLL изменить свойства объекта?