Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.014 c
2-1158216030
абабаба
2006-09-14 10:40
2006.10.01
скопировать строку в массив


1-1155723489
Aleksandr.
2006-08-16 14:18
2006.10.01
Как отключать нажатие кнопок после выбора системной кнопки Help?


3-1153389366
NGPOL
2006-07-20 13:56
2006.10.01
Удаления в дочерней таблице


2-1157719138
Juri
2006-09-08 16:38
2006.10.01
проверка на существования записи в базе данных


2-1158065122
p314
2006-09-12 16:45
2006.10.01
Двойное объявление классов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский