![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Анимация объекта
AKMTT © (2006-01-05 00:32:00)Доброго времени суток
Помогите со следующим: делаю игру, в ней есть персонаж, который должен двигаться, допустим человечек в 2D. Как сделать анимацию? Через спрайты? Нужно отрисовать каждое движеные: вперед, назад, вверх, вниз, движение рук? Подскажите как лучше осуществить это.
fci (2006-01-09 19:31:00) [1]code.darthman.com -> download -> конкурсы -> battle
AKMTT (2006-01-08 01:06:00) [2]2XProger
:) просто думал не нужно изобретать велосипед :) Ладно буду разбираться
XProger (2006-01-08 01:03:00) [3]AKMTT, ну ты же программист! Следовательно, должен эти задачи щёлкать как семечки - это вызов твоему интеллекту, прояви творческий подход к её решению ;)
AKMTT (2006-01-08 00:07:00) [4]Так вот вопрос, к римеру щелкнул я мышкой, нужно чтобы этот прямоугольник плавно передвинулся к нужному месту. Как это реализовать, а то у меня получается, что он просто прыгает туда, или передвишается, но программа подвисает. И как лучше всего осуществить плавную смену текстур, как узнать сколько времени прошло после нажатия мыши, чтобы к пример при хотьбе изменять текстуру каждый 100 мс? GetTickCount?. Или как Вы посоветуете?
Братан (2006-01-07 06:16:00) [5]
> Аццкий_рыцарь:) (05.01.06 05:31) [2]
>
> ггггг смотри в этой теме и внимай, что скажут мастера. НО
> НИ В КОЕМ СЛУЧАЕ НЕ НАЧИНАЙ УЧИТЬ DelphiX ! уже лучше через
> канвас что-то рисовать :)
Через канвас получается как раз нормально : http://kolobochki.narod.ru/
Потому, что для таких игр FPS не нужен. А сделанный движок никогда не поздно портировать под OpenGL. Если конечно надо.
Cash (2006-01-06 16:10:00) [6]AKMTT (06.01.06 14:41) [14]:
Да, это и будет персонаж.
AKMTT (2006-01-06 14:41:00) [7]2Тряпка_с_элефантом Шутка :)
Всем спасибо :)
И еще вопрос: текстуру с текущим кадром натягивать на прямоугольник? это и будет персонаж? или каким образом?
(2006-01-05 23:07:00) [8]Удалено модератором
XProger (2006-01-05 22:53:00) [9]Тряпка_с_элефантом, эту ленту придётся порезать вручную, т.к. OpenGL не держит текстуры не 2^n
(2006-01-05 21:28:00) [10]Удалено модератором
(2006-01-05 21:15:00) [11]Удалено модератором
(2006-01-05 21:13:00) [12]Удалено модератором
AKMTT (2006-01-05 15:36:00) [13]2XProger Спасибо.
JUS (2006-01-05 12:53:00) [14]
> Аццкий_рыцарь:) (05.01.06 05:31) [2]
)))))))))))))
XProger (2006-01-05 12:40:00) [15]http://www.timeforkill.mirgames.ru/img/scr/5.jpg
Анимация спрайтовая
+ Качественно
+ Просто
- Большой размер
Но можно и со скелеткой повозиться
http://xproger.narod.ru/TFK_ModelEdit.rar- редактор
http://xproger.narod.ru/Sarge.zip- модель
+ Возможность реализации RagDoll
+ Относительно небольшой размер
- Чтобы добиться приличного качества - нужно постараться
- В своём редакторе анимировать будет сложнее, нежели чем в максе
- Общая сложность реализации и использования, но оно того стоит ;)
Cash (2006-01-05 10:03:00) [16]Пардон, с картинкой обшиб: вот так поправил:
(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 09:59:00) [17]Аццкий_рыцарь:) (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)
'+': Угол кадра
'#': Заполнение кадра
AKMTT (2006-01-05 05:34:00) [18]2Аццкий_рыцарь:) Не смешНО ОДНАКО.
Я серьезно спросил, как сделать анимированого персонажа, точнее как лучше делать? Все пишется на OpenGl.
Или в 3D Max'e делать модель?
Аццкий_рыцарь:) (2006-01-05 05:31:00) [19]ггггг смотри в этой теме и внимай, что скажут мастера. НО НИ В КОЕМ СЛУЧАЕ НЕ НАЧИНАЙ УЧИТЬ DelphiX ! уже лучше через канвас что-то рисовать :)
Кефир87 (2006-01-05 01:20:00) [20]"через" спрайты. да 8)