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

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

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

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

Ответ
 
Опции темы
Старый 10.08.2006, 11:40   #1
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Подмигивание Как узнать мировые координаты объекта

Как узнать мировые координаты объекта.
И почему пули летят криво не по прицелу
If MouseDown(1)
s.pyl=New pyl
s\entity=CopyEntity(shot_sprite)
PositionEntity s\entity,EntityX(lox),EntityY(lox),EntityZ(lox)
RotateEntity s\entity, EntityPitch(cam),EntityYaw(lox),0


EndIf
vs#=20
max_dist#=1000
For a.pyl=Each pyl
MoveEntity a\entity,0,0,vs#
If a\dist#>max_dist#
FreeEntity a\entity
Delete a
; ElseIf EntityCollided(a\entity,TypeBAZA)
; FreeEntity a\entity
; Delete a
EndIf
Next

(Offline)
 
Ответить с цитированием
Старый 10.08.2006, 11:56   #2
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Как узнать мировые координаты объекта

Не издевайся! Координаты, а также ориентация обьекта возвращается функциями EntityX()... , и далее по списку.

Из конкретики у меня всё.

Далее пошел процесс построения догадок. Ибо вопрос не подразумевает ответа вообще: нет никаких данных.

Догадка1:
EntityYaw( entity,global)
Кроме хендла ентити, в интересующие нас ф-и передается еще значение true/false вторым параметром. При 0- ф-я возвращает относительные координаты/ориентацию указанной ёнтити, при 1- абсолютные. Если ёнтити с именами "cam" и "lox" имеют паренты, то размещение пули по их относительным координатам тебе ничего не даст. Ставь вторым параметром 1 (true). А где там у тебя прицел- я не знаю.

Догадка 2:
И почему пули летят криво не по прицелу
Какие руки, такие и пули.
(Offline)
 
Ответить с цитированием
Старый 10.08.2006, 22:15   #3
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: Как узнать мировые координаты объекта

Как узнать мировые координаты объекта.
Приношу свои извенения ко всем кто прочел этот вопрос ,
я хотел узнать как найти мировые координаты привязоного объекта.

Догадка 2:

Цитата:
И почему пули летят криво не по прицелу
Какие руки, такие и пули.
В какойто мери ты прав
(Offline)
 
Ответить с цитированием
Старый 10.08.2006, 23:30   #4
jimon
 
Сообщений: n/a
Re: Как узнать мировые координаты объекта


представляем мега новый язык программирования "йо"

#define move ->
#define do ->>
обект -> стена ->> "ап"

компилер разворачивывает ето в мега код
обект move стена do "ап"

и линкер добивает
обект ап стена


там есть global и local координаты... тебе надо global учим основы САПР
 
Ответить с цитированием
Старый 11.08.2006, 01:22   #5
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Как узнать мировые координаты объекта

я хотел узнать как найти мировые координаты привязоного объекта
Так узнал, или нет ?
если второе - перечитай пост Дипломата
__________________
(Offline)
 
Ответить с цитированием
Старый 11.08.2006, 08:35   #6
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: Как узнать мировые координаты объекта

Когда ты копируешь пулю - оригинал, привяжи копию к оружию или пивоту на конце ствола( CopyEntity( пуля_оригинал, оружие_или_пивот ) ), тогда копия автоматически сориентируется так же как и оружие или пивот. Далее открепи ее EntityParent( пуля_копия, 0 ) и теперь в функции обновления двигай вперед по координате Z
MoveEntity пуля_копия, 0, 0, скорость_пули

Еще как вариант - ориентировать пулю по вектору оружие -> цель
Координаты точки попадания пули например узнавать с помощью CameraPick( камера, координата_прицела_X, координата_прицела_Y )
точка_попадания_X = PickedX()
точка_попадания_Y = PickedY()
точка_попадания_Z = PickedZ()
потом, зная координаты оружия
оружие_X = EntityX( оружие )
оружие_Y = EntityY( оружие )
оружие_Z = EntityZ( оружие )
Далее получаем из этих координат вектор
Dx# = точка_попадания_X - оружие_X
Dy# = точка_попадания_Y - оружие_Y
Dz# = точка_попадания_Z - оружие_Z
Выравниваем пулю по этому вектору ( линии от оружия до точки попадания ) с помощью AlignToVector
AlignToVector( пуля_копия, Dx, Dy, Dz, 0 )
и все, теперь в функции обновления можем ее двигать вперед по координате Z
MoveEntity пуля_копия, 0, 0, скорость_пули
ЗЫ
Я правда непомню нужно ли делать компоненты вектора отрицательными или нет
AlignToVector( пуля_копия, -Dx, -Dy, -Dz, 0 )
Вобщем поэкспериментируй
ЗЫ
Глобальные координаты(мировые) узнаються с помощью последнего параметра - флага в некоторых функциях
например
EntityX( обьект, флаг_глобальных_координат )
тоесть ставь последний параметр как True.
(Offline)
 
Ответить с цитированием
Старый 11.08.2006, 14:21   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Как узнать мировые координаты объекта


2vlad: судя по тому, что объясняет тебе Платон(Cyan) - в FAQ ты не заглядывал =/
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование экранных координат клика мыши в мировые Aceton 3D-программирование 6 01.04.2009 01:46
Арестован сумасшедший трейдер, обрушивший мировые рынки johnk Болтовня 16 04.03.2008 04:48
Координаты крысы в 3Д shybovycha PureBasic 9 18.06.2007 17:42
Координаты Fant 3D-программирование 7 08.02.2007 21:36
Координаты бушуют Progger_Leo 3D-программирование 7 27.12.2006 20:54


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


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