Player Movement
Доброго времени суток, уважаемые Булчане!
Начал один небольшой проект. Он немного похож вот на это. ( по геймплею ) http://www.youtube.com/watch?v=5P24yC9dGuY только полностью в 3D с небольшой перспективой. Так вот, вопрос состоит в том, как правильно сделать преодоление препятствий, и броски, а так же контратакующие движения. Если учитывать, что каждый персонаж привязан к физической капсуле. |
Ответ: Player Movement
Цитата:
|
Ответ: Player Movement
Я стесняюсь спросить, а как получить последний кадр анимации? ))
Командой AnimTime() или AnimLeight?) |
Ответ: Player Movement
Цитата:
AnimLength() — общее количество кадров, соответственно покажет конечный кадр. Зависит как будет анимация, если она из этой капсулы выходит то коллизии не будет. То есть коллизии только для того, что бы в друг друга и в стены не входили персонажи. Наблюдение за видео-играми показало что такое сплошь и рядом. |
Ответ: Player Movement
А что если физическое тело на время анимации превращать в кинетическое?
Кстати, Arton, да и другие булчане... Подскажите, какими способами можно создать взаимодействие персонажей(скажем , броски, или что то типа того) ? |
Ответ: Player Movement
Цитата:
Я бы рекомендовал движок BlitzBullet. Цитата:
Понятие не имею, теория о меня: Нужны точки в активных местах персонажа (модельки), оружие, предметах. Например точка в кулаке, идёт анимация удара, проверка где находится кулак (его точка), внутри врага, наносим урон и так далее. Что бы один персонаж взял и швырнул другого, можно пойти другим путём. Заранее сделать эту анимацию. То есть игрок подводит своего персонажа на расстояние взаимодействия с врагом, оба персонажа могут скрыться на время и проигрывается анимация как гг хватает и кидает врага, анимация скрывается, вновь персонаж игрока, враг превращается в регдолл (или анимация полёта с перемещением модели). Такой способ очень часто применяется, но проблема сделать автоматическую доводку персонажей до нужного расстояния, иначе часто можно наблюдать: нажал удар за спиной, твой персонаж «телепортнулся» на врага и убивает его, при этом оба стоят не там где надо. С оружием совмещение написанного выше: У персонажа есть готовая анимация сражения кулаками, с ножом, мечом, палкой и т. д. Но в самой анимации на месте где должно быть оружие, отдельная кость (или точка (или точка с костью, зависит от того что нужно)), которой собственно персонаж и машет, а дальше на эту «болванку» можно закреплять разные модели оружие. получаестя анимация на определённый тип оружия. Оружие имеет активные точки, или имеет коллизию и идёт проверка, задевает «палка» врага, или нет. Короче суть такова: анимация делается для определённого типа предметов, если персонаж взял кирпич, то ту же анимацию можно применить и для схожего по внешним и физическим характеристикам предмета, например камень. А сам предмет закрепляется в точке, можно сделать «кирпич» дочернем объектом, но лучше всего «держать» его в координатах точки (руки), 3 координаты и 3 угла. P. S. Надеюсь понятно написал :mda: |
Ответ: Player Movement
Уважаемый Arton, большое спасибо за развернутый и оперативный ответ.
В принципе, я тоже изначально так думал, как ты и описал, но не был до конца уверен в правильности хода моих мыслей, теперь убедился, что вариант не плохой. Но, подумать конечно придётся ) Я использую связку Xors3d+PhysX, думаю можно что то реализовать из того, что тобой описано. Еще раз спасибо. |
Ответ: Player Movement
И вот какая идея появилась) чтобы не было телепортации в момент анимации взаимодействия игрока и противника, и игроку и противнику надо спереди и сзади на уровне стоп припарентить по триггеру, в тех местах, где должен стоять противник в момент броска например)
|
Ответ: Player Movement
Цитата:
|
Ответ: Player Movement
Вполне реальное предложение)
И еще. Что если в разных местах уровня, сделать триггеры, при контакте с которыми, игрок выполняет определенное действие ( например карабкается, повисает, и все такое ) ? |
Ответ: Player Movement
Цитата:
Также серьёзной проблемой станет имитация инверсной кинематики в движке. Так как модель привязана к пивоту или капсуле, то при проигрывании анимации атак и прочего(которые в большинстве случаев изготавливаются при помощи инверсной кинематики) модель будет отбегать от пивота или капсулы на изрядное расстояние. Если для прямолинейного движения (типа бега) это не является существенной проблемой, так как можно в анимации убрать все передвижения модели по осям X и Z и передвигать родителя модели, то в случаях анимаций, в которых на разных фазах модель передвигается с разной скоростью по разным осям это решение не подойдёт, потому как моделька персонажа будет просто неестественно сучит ногами по земле, в то время как в действительности ступни персонажа должны являться источником этой инверсной кинематики и плотно стоять на земле не проскальзывая. В этом прожекте я передвигал пивот по осям X и Z, к которому привязана модель на те значения, которые брал из 3ds Maxa, в зависимости от проигрываемого кадра, а в движок импортировал анимации без перемещения модели по осям X и Z. Тогда это решение показалось оптимальным. |
Ответ: Player Movement
Цитата:
На уровни раскидывают триггеры для ботов, где перелезть, где лифт и т. д. Это часть их «интеллекта». По другому и смысла нет делать т. к. тогда надо действительно делать ИИ. И само игровое пространство очень-очень интерактивным. |
Часовой пояс GMT +4, время: 12:25. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot