![]() |
2D+3D
Здравствуйте! У меня вопрос:
Можно ли поворачивать меш в сторону картинки? Ну допустим привязал я к мыши картинку, и мне надо чтобы модель поворачивалась туда куда я двигаю мышь. Можноли, знаете ли как? Или вообще поворачивать не за картинкой а за мышью, чтобы модель как бы следила за мышью Мне это нужно для реализации управления глайдером как в механойдах. Как поворачивать модель за картинкой я не понял, по этому поворачиваю за мешем. Вот тут можете посмотреть исходняк управления того что вышло: http://micronet.ifolder.ru/5109862 |
Ответ: 2D+3D
Можно из камеры производить пик на поверхность и уже поворачиваться глайдер в ту точку, но вообще тебе нужно с помощью команд MouseX(), MouseY(), MouseYSpeed(), MouseXSpeed() добиться такого эффекта. 1 способ)Значит проверяем расстояние от середины экрана до координат мыши, чем больше разница, тем сильнее поворачиваем глайдер в сторону мыши относительно центра экрана.
2 способ) Проверять скорость смещения мыши, чем выше скорость, тем сильнее поворачивать глайдер в нужную сторону. |
Ответ: 2D+3D
Blitzerg, чем тебя не устраивает поворот за 3Д обьектом? Я в игре использую 3Д мишень, меня вполне устраивает..
|
Ответ: 2D+3D
Ханон мне не надо ускорять поворот.
В механойдах 2 скорости поворота. Первая в пределах границ, где работает стабилизатор поворота. Вторая когда прицел вышел за границы, где стабилизатор поворота уже не работает. Франк можно оставить систему и такую как щас у меня, она практически копирует управление в механойдах. Но должен быть прицел в виде картинки на экране, который перемещается за 3д навигатором глайдера. Незнаю как это сделать пока. Потому и спрашиваю можно ли вместо поворота глайдера на 3д навигатор, поворачивать его на 2д прицел. Быть может кто знает тогда как заставить картинку на экране двигаться за 3д объектом по экрану? |
Ответ: 2D+3D
См команды
CameraProject ProjectedX() ProjectedY() |
Ответ: 2D+3D
Вместо указателя(сфера или что там у тебя) используй пивот, а дальше
делаем имажу Midhandle картинка прицела и в цикле: If EntityInView(пивот,cam) Then CameraProject(cam,EntityX(пивот),EntityY(пивот),En tityZ(пивот)) DrawImage картинка прицела,ProjectedX#(),ProjectedY#() EndIf Но лучше использовать не картинку а спрайт вместо прицела, тогда легко регулировать размер прицела и прозрачность + нет зависимости от разрешения: Global Crosshair=LoadSprite ( GLBMeshpath$+"crosshair.png",1) при создании уровня(если камера создается по новой) ch=CopyEntity (Crosshair,cam) PositionEntity ch,0,0,40 ------------------------------------- Сорри, последнее это просто прицел по центру, чтобы спрайт следил за целеуказателем создай пивот прикрепленный к камете и крепи спрайт к нему, а дальше в цикле: PointEntity пивот_к_которому_прикреплен_прицел,пивот_мишень |
Ответ: 2D+3D
перед глайдером чуть впереди выставь пивот, затем припарент его к самому глайдеру, это и будет как бы наш прицел фактически. Далее получаем экранные координаты этого пивота с помощью команд что привел tormoz, и размещаем картинку прицела на экране. Получаеться что у тебя прицел будет следить за направлением поворота глайдера.
|
Ответ: 2D+3D
Блитзерг, в механоидах в пределах целеуказателя (поля в центре) скорость зависит от расстояния до центра, и за его пределами также, разница в том, что в пределах поля курсор передвигается к центру экрана, а уже за его пределами - нет. Изучай геймплей вминательнее.
|
Ответ: 2D+3D
Цитата:
Думаю систему управления ещё раз 5 переделаю. P.S. Вот только ещё 2 уровня в рф онлайн прокачаю и займусь этим ) |
Часовой пояс GMT +4, время: 21:38. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot