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

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

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

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 28.04.2011, 00:13   #1
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
2д координаты в мировые

Подскажите, какой функцией, используя координаты курсора, узнать координаты в мире(то место на terrain'e, где находится курсор).
В справке там только с объектами такие функции.

В общем, подобно функции xCameraPick, но чтобы можно было получить координаты не объекта, а точки в мире.

Ну думаю понятно
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 06:18   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: 2д координаты в мировые

в блице был PickedX, PickedY, PickedZ
тут наверное будет xPickedX(), xPickedY(), xPickedZ()
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Medan (28.04.2011)
Старый 28.04.2011, 12:37   #3
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
Ответ: 2д координаты в мировые

Я же объясняю, надо координаты не объекта, а точки в мире, где находился курсор.
xPickedX(), xPickedY(), xPickedZ()
Это дает координаты объекта.
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 12:41   #4
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: 2д координаты в мировые

Как раз таки это дает 3д координаты курсора.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Medan (28.04.2011)
Старый 28.04.2011, 13:18   #5
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
Ответ: 2д координаты в мировые

Как раз таки это дает 3д координаты курсора.
Тогда покажите примером.
Т.к. у меня координаты объекта дает, если курсор нах. не на объекте, то эти ф-ции возвращают по нулям.
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 14:51   #6
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: 2д координаты в мировые

Дорогой друг, вот представь себе такую вешь, экран представляющий из себя плоскость и точка на нём координаты который ты хочешь узнать в 3D пространстве. Точка ли это в 3D пространстве? На первый взгляд точка, а если посмотреть на это сбоку? Опа-на это же бесконечная линия! Которая исходит из точки экрана и идёт от экрана вдаль. Получается координаты получить невозможно, т.к. неизвестно на каком удалении от камеры ты желаешь получить точку на этой прямой. Чтобы как то её указать нужно эту линию с чем то пересечь... На эту роль подойдёт любая плоскость или объект. Место пересечения линии и объекта и даст нам точку.

Понятно объяснил?
__________________
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 16:45   #7
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
Ответ: 2д координаты в мировые

Опа-на это же бесконечная линия!
Поэтому.... Я и говорил.... что
узнать координаты в мире(то место на terrain'e, где находится курсор)
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 16:48   #8
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
Ответ: 2д координаты в мировые

И опять же, функция, которую указал в 1ом посте. Она возвращает, не точку координат, где находится курсор, а лицо(объект) на котором находится курсор. Разве в 1ом посте я не понятно объяснил суть проблемы?
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 17:13   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: 2д координаты в мировые

Слушай сюда: ты тупой, смирись с этим.
Ты же сам пишещь что:
> узнать координаты в мире(то место на terrain'e, где находится курсор)
Вот и делай ему CameraPick.
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
maxturbo (28.04.2011), Nex (28.04.2011), pepel (28.04.2011)
Старый 28.04.2011, 19:44   #10
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 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(200Then TranslateEntity cam,0,0,20
If KeyDown(208Then TranslateEntity cam,0,0,-20
If KeyDown(203Then TranslateEntity cam,-20,0,0
If KeyDown(205Then TranslateEntity cam,20,0,0
выбарнный обьект
If KeyHit(2flag=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 к примеру.
Вложения
Тип файла: rar data.rar (153.4 Кб, 376 просмотров)
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Medan (28.04.2011)
Старый 28.04.2011, 23:09   #11
Medan
Нуждающийся
 
Регистрация: 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
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: 2д координаты в мировые

Сообщение от Medan Посмотреть сообщение
А ты не тупой?
Раз я говорю что функция camerapick в дальнейшем возвращает КООРДИНАТЫ ОБЪЕКТА, А НЕ ТОЧКИ КУРСОРА!!!!!!!! ЕСЛИ ОБЪЕКТ СТОИТ В КООРДИНАТАХ 0;0;0 ТАК ЭТО Ф-ЦИЯ И ВОЗВРАЩАТЬ ВСЕГДА БУДЕТ 0;0;0, при нахождении курсора на объекте, И НИКОГДА НЕ ВОЗВРАТИТ 0;0;1!


Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - не адекват.
Он тебе все правильно объяснял Взгляни на код что я тебе дал и прочитай еще раз его пост, думаю ты поймешь что он тебе хотел объяснить
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Medan (28.04.2011)
Старый 28.04.2011, 23:16   #13
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: 2д координаты в мировые

Сообщение от Medan Посмотреть сообщение
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - неадекват.
Take it easy, он же по-доброму! :3
(Offline)
 
Ответить с цитированием
Старый 28.04.2011, 23:21   #14
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: 2д координаты в мировые

Сообщение от Medan Посмотреть сообщение
Извиняюсь, конечно, но такого грубого отношения на форумах никогда не видел. Напрашивается вывод, что этот "разумный" человек - неадекват.
Все остынь Ни кто тебя тут не оскорбляет Все сказанное тут предел программистов ))))) Когда научишься чему либо, будешь точно так же отвечать на глупые вопросы новичков )))
Ты лучше скажи то, что я выложил это хоть то?? Или не совсем то??
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Medan (28.04.2011)
Старый 28.04.2011, 23:24   #15
Medan
Нуждающийся
 
Регистрация: 27.04.2011
Сообщений: 80
Написано одно полезное сообщение
Ответ: 2д координаты в мировые

прочитай еще раз его пост
То что он сказал, я и так знал. Поэтому и писал что не просто в пустоте точку, а на террайне. И снова повторюсь, писал, что функции xPickedX и т.п., возвращают координаты объекта.
Если уж это не понятно, перефразирую так.
Надо получить мировые координаты, в точке где находится курсор, на поверхности объекте.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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