![]() |
Медленно проваливаться
Всем привет. Вопрос такой, как смоделировать медленное погружение
в какой либо меш, в тоже время с возможностью движения. Кто помнит старые игры - в игре Dizzy герой медленно проваливался в облако, но мог идти влево - вправо и прыгать. |
Re: Медленно проваливаться
if x=x1 and z=z1 then moveentity mesh,x,-0.001,z
|
Re: Медленно проваливаться
Проблема в том, что все облака это большой меш. Соответственно столкновение с ними это collisions. А collisions останавливает все последующие moveentity, translationentity... А вот как создать последующее медленное погружение, после обработки столкновения.
|
Re: Медленно проваливаться
попробуй объект привязать к pivot вокруг которого будет collisions для облака и при прикосновении объект опускать относительно pivot
|
Re: Медленно проваливаться
тут надо отключать колизию..
Код:
Const CubeType=1 |
Re: Медленно проваливаться
entityCollision Entity, 0
|
Re: Медленно проваливаться
Попробую по другому сформулировать вопрос.
Как проверить объекты на столкновение, или даже на наложение друг на друга, но при этом не выполнять никаких действий, типа стоп или скольжение. Т.е. функция выдает 1 если два объекта столкнулись или 0 если нет. При условии, что второй объект - полигон, а значит может иметь сложную форму, а не только сферу или куб. |
Re: Медленно проваливаться
Нашел! Оказыться есть команда MeshesIntersect mesh,mesh.
Только написано, что она медленная. Кто нибудь знает насколько она тормозит? |
Re: Медленно проваливаться
Все зависит от кол-ва треугольников у обоих мешей, сам представь - эта функция проверяет каждый треугольник с каждым.
И тебе уже сказали же - когда игрок столкнется с облаком отключай коллизию с помощью EnityType(Игрок, 0), а когда он будет находиться над облаком (подпрыгнет) включай ее обратно EntityType(Игрок, НомерКоллизииИгрока) |
Re: Медленно проваливаться
Ну хорошо. Столкнулись с облаком, отключил коллизию, отключил гравитацию, иначе герой просто провалится вниз. скорость падения задал постоянной 0.001.
Все отлично - медленно ползем вниз. И пошел в какую либо сторону. Облако кончилось - нужно выловить этот момент и включить коллизии и гравитацию.Или когда ноги героя медленно доползли до низа облака, нужно включать гравитацию, опять же как определить момент окончания облака. |
Re: Медленно проваливаться
Ну тогда юзай EntityPick(), она будет возвращать хендл меша облака если оно оказалось в радиусе игрока.
а облако ставь на проверку с помощью EntityPickMode() |
Часовой пояс GMT +4, время: 16:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot