Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 26.01.2008, 12:55   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
2D+3D

Здравствуйте! У меня вопрос:
Можно ли поворачивать меш в сторону картинки?
Ну допустим привязал я к мыши картинку, и мне надо чтобы
модель поворачивалась туда куда я двигаю мышь.
Можноли, знаете ли как?
Или вообще поворачивать не за картинкой а за мышью, чтобы
модель как бы следила за мышью

Мне это нужно для реализации управления глайдером как в механойдах.
Как поворачивать модель за картинкой я не понял, по этому поворачиваю за мешем.
Вот тут можете посмотреть исходняк управления того что вышло:
http://micronet.ifolder.ru/5109862
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 26.01.2008, 13:27   #2
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: 2D+3D

Можно из камеры производить пик на поверхность и уже поворачиваться глайдер в ту точку, но вообще тебе нужно с помощью команд MouseX(), MouseY(), MouseYSpeed(), MouseXSpeed() добиться такого эффекта. 1 способ)Значит проверяем расстояние от середины экрана до координат мыши, чем больше разница, тем сильнее поворачиваем глайдер в сторону мыши относительно центра экрана.
2 способ) Проверять скорость смещения мыши, чем выше скорость, тем сильнее поворачивать глайдер в нужную сторону.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (26.01.2008)
Старый 26.01.2008, 15:31   #3
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: 2D+3D

Blitzerg, чем тебя не устраивает поворот за 3Д обьектом? Я в игре использую 3Д мишень, меня вполне устраивает..
(Offline)
 
Ответить с цитированием
Старый 26.01.2008, 16:43   #4
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: 2D+3D

Ханон мне не надо ускорять поворот.
В механойдах 2 скорости поворота.
Первая в пределах границ, где работает стабилизатор поворота.
Вторая когда прицел вышел за границы, где стабилизатор поворота уже не работает.

Франк можно оставить систему и такую как щас у меня, она практически копирует
управление в механойдах. Но должен быть прицел в виде картинки на экране,
который перемещается за 3д навигатором глайдера. Незнаю как это сделать пока.
Потому и спрашиваю можно ли вместо поворота глайдера на 3д навигатор,
поворачивать его на 2д прицел.

Быть может кто знает тогда как заставить картинку на экране двигаться
за 3д объектом по экрану?
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 26.01.2008, 16:55   #5
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: 2D+3D

См команды
CameraProject
ProjectedX()
ProjectedY()
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (26.01.2008)
Старый 26.01.2008, 16:59   #6
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: 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 пивот_к_которому_прикреплен_прицел,пивот_мишень

Последний раз редактировалось FrankH, 26.01.2008 в 17:11.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (26.01.2008)
Старый 26.01.2008, 18:49   #7
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: 2D+3D

перед глайдером чуть впереди выставь пивот, затем припарент его к самому глайдеру, это и будет как бы наш прицел фактически. Далее получаем экранные координаты этого пивота с помощью команд что привел tormoz, и размещаем картинку прицела на экране. Получаеться что у тебя прицел будет следить за направлением поворота глайдера.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (26.01.2008)
Старый 26.01.2008, 20:27   #8
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: 2D+3D

Блитзерг, в механоидах в пределах целеуказателя (поля в центре) скорость зависит от расстояния до центра, и за его пределами также, разница в том, что в пределах поля курсор передвигается к центру экрана, а уже за его пределами - нет. Изучай геймплей вминательнее.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 26.01.2008, 23:20   #9
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: 2D+3D

Сообщение от Ize'g0re Посмотреть сообщение
Блитзерг, в механоидах в пределах целеуказателя (поля в центре) скорость зависит от расстояния до центра, и за его пределами также, разница в том, что в пределах поля курсор передвигается к центру экрана, а уже за его пределами - нет. Изучай геймплей вминательнее.
Чёт не заметил. Надо бы поиграть подольше и всмотреться во всё.
Думаю систему управления ещё раз 5 переделаю.

P.S. Вот только ещё 2 уровня в рф онлайн прокачаю и займусь этим )
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube

Последний раз редактировалось Crystal, 26.01.2008 в 23:27.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 07:25.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com