|
Xors3D Графический движок с поддержкой DirectX9 |
28.04.2011, 00:13
|
#1
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
2д координаты в мировые
Подскажите, какой функцией, используя координаты курсора, узнать координаты в мире(то место на terrain'e, где находится курсор).
В справке там только с объектами такие функции.
В общем, подобно функции xCameraPick, но чтобы можно было получить координаты не объекта, а точки в мире.
Ну думаю понятно
|
(Offline)
|
|
28.04.2011, 06:18
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: 2д координаты в мировые
в блице был PickedX, PickedY, PickedZ
тут наверное будет xPickedX(), xPickedY(), xPickedZ()
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.04.2011, 12:37
|
#3
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
Я же объясняю, надо координаты не объекта, а точки в мире, где находился курсор.
xPickedX(), xPickedY(), xPickedZ()
|
Это дает координаты объекта.
|
(Offline)
|
|
28.04.2011, 12:41
|
#4
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: 2д координаты в мировые
Как раз таки это дает 3д координаты курсора.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.04.2011, 13:18
|
#5
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
Как раз таки это дает 3д координаты курсора.
|
Тогда покажите примером.
Т.к. у меня координаты объекта дает, если курсор нах. не на объекте, то эти ф-ции возвращают по нулям.
|
(Offline)
|
|
28.04.2011, 14:51
|
#6
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: 2д координаты в мировые
Дорогой друг, вот представь себе такую вешь, экран представляющий из себя плоскость и точка на нём координаты который ты хочешь узнать в 3D пространстве. Точка ли это в 3D пространстве? На первый взгляд точка, а если посмотреть на это сбоку? Опа-на это же бесконечная линия! Которая исходит из точки экрана и идёт от экрана вдаль. Получается координаты получить невозможно, т.к. неизвестно на каком удалении от камеры ты желаешь получить точку на этой прямой. Чтобы как то её указать нужно эту линию с чем то пересечь... На эту роль подойдёт любая плоскость или объект. Место пересечения линии и объекта и даст нам точку.
Понятно объяснил?
__________________
|
(Offline)
|
|
28.04.2011, 16:45
|
#7
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
Опа-на это же бесконечная линия!
|
Поэтому.... Я и говорил.... что
узнать координаты в мире(то место на terrain'e, где находится курсор)
|
|
(Offline)
|
|
28.04.2011, 16:48
|
#8
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
И опять же, функция, которую указал в 1ом посте. Она возвращает, не точку координат, где находится курсор, а лицо(объект) на котором находится курсор. Разве в 1ом посте я не понятно объяснил суть проблемы?
|
(Offline)
|
|
28.04.2011, 17:13
|
#9
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: 2д координаты в мировые
Слушай сюда: ты тупой, смирись с этим.
Ты же сам пишещь что:
> узнать координаты в мире(то место на terrain'e, где находится курсор)
Вот и делай ему CameraPick.
__________________
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
28.04.2011, 19:44
|
#10
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: 2д координаты в мировые
Сообщение от Medan
И опять же, функция, которую указал в 1ом посте. Она возвращает, не точку координат, где находится курсор, а лицо(объект) на котором находится курсор. Разве в 1ом посте я не понятно объяснил суть проблемы?
|
Держи пример...
Graphics3D 1024,768,32,2 SetBuffer BackBuffer() Type obj Field mesh% Field name$ End Type Global flag Global cam=CreateCamera() CameraRange cam,0.1,10000 TurnEntity cam,45,0,0 MoveEntity cam,0,100,0 TurnEntity CreateLight(),45,45,0 map=LoadMesh("data\mesh.b3d") EntityPickMode map,2 ;Грузим меши a.obj=New obj a\mesh=CreateCube() a\name="cub" HideEntity a\mesh Repeat ;схватываем нажата ли мышь mouse1=MouseHit(1) ; обзор камерой If KeyDown(200) Then TranslateEntity cam,0,0,20 If KeyDown(208) Then TranslateEntity cam,0,0,-20 If KeyDown(203) Then TranslateEntity cam,-20,0,0 If KeyDown(205) Then TranslateEntity cam,20,0,0 ; выбарнный обьект If KeyHit(2) flag=1 CameraPick(cam,MouseX(),MouseY()); пикаем Select flag ; в зависимости от флага Case 1 For a.obj=Each obj HideEntity a\mesh If a\name="cub" PositionEntity a\mesh,PickedX(),PickedY(),PickedZ() ; ставим меш куда нужно ShowEntity a\mesh If mouse1=True Then ; если нажата клавиша - ставим куда нужно копию меша copy=CopyEntity(a\mesh) PositionEntity copy,PickedX(),PickedY(),PickedZ() End If End If Next End Select RenderWorld Text 10,10,"Чтоб выбрать куб нажмите клавишу 1" Flip Until KeyHit(1) End
Справка самый лучший друг программиста Там все подробно описано...
Если работаешь на Xors3D не забудь изменить команды на ксорсовские...
Прилагаю media к примеру.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.04.2011, 23:09
|
#11
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
Слушай сюда: ты тупой, смирись с этим.
Ты же сам пишещь что:
> узнать координаты в мире(то место на terrain'e, где находится курсор)
Вот и делай ему CameraPick.
|
А ты не тупой?
Раз я говорю что функция camerapick в дальнейшем возвращает КООРДИНАТЫ ОБЪЕКТА, А НЕ ТОЧКИ КУРСОРА!!!!!!!! ЕСЛИ ОБЪЕКТ СТОИТ В КООРДИНАТАХ 0;0;0 ТАК ЭТО Ф-ЦИЯ И ВОЗВРАЩАТЬ ВСЕГДА БУДЕТ 0;0;0, при нахождении курсора на объекте, И НИКОГДА НЕ ВОЗВРАТИТ 0;0;1!
Так я понял, на примере своей работы с этой функцией.
А если я и не прав, это не позволяет так относиться к людям.
Тебе вряд ли 14 лет. Так и вести себя надо подобающе.
Если все люди будут говорить друг другу "Ты тупой. Ты тупой" из-за того, что кто-то что-то не понял. То будет полный п****ц.
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - неадекват.
|
(Offline)
|
|
28.04.2011, 23:13
|
#12
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: 2д координаты в мировые
Сообщение от Medan
А ты не тупой?
Раз я говорю что функция camerapick в дальнейшем возвращает КООРДИНАТЫ ОБЪЕКТА, А НЕ ТОЧКИ КУРСОРА!!!!!!!! ЕСЛИ ОБЪЕКТ СТОИТ В КООРДИНАТАХ 0;0;0 ТАК ЭТО Ф-ЦИЯ И ВОЗВРАЩАТЬ ВСЕГДА БУДЕТ 0;0;0, при нахождении курсора на объекте, И НИКОГДА НЕ ВОЗВРАТИТ 0;0;1!
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - не адекват.
|
Он тебе все правильно объяснял Взгляни на код что я тебе дал и прочитай еще раз его пост, думаю ты поймешь что он тебе хотел объяснить
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.04.2011, 23:16
|
#13
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: 2д координаты в мировые
Сообщение от Medan
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - неадекват.
|
Take it easy, он же по-доброму! :3
|
(Offline)
|
|
28.04.2011, 23:21
|
#14
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: 2д координаты в мировые
Сообщение от Medan
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - неадекват.
|
Все остынь Ни кто тебя тут не оскорбляет Все сказанное тут предел программистов ))))) Когда научишься чему либо, будешь точно так же отвечать на глупые вопросы новичков )))
Ты лучше скажи то, что я выложил это хоть то?? Или не совсем то??
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.04.2011, 23:24
|
#15
|
Нуждающийся
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
|
Ответ: 2д координаты в мировые
прочитай еще раз его пост
|
То что он сказал, я и так знал. Поэтому и писал что не просто в пустоте точку, а на террайне. И снова повторюсь, писал, что функции xPickedX и т.п., возвращают координаты объекта.
Если уж это не понятно, перефразирую так.
Надо получить мировые координаты, в точке где находится курсор, на поверхности объекте.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:09.
|