|
3D-программирование Вопросы, касающиеся программирования 3D мира |
09.05.2009, 13:36
|
#16
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: проблема c camerapick
Ааааргх!
Даже на форуме не раз обсуждалось.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо MiXaeL за это полезное сообщение:
|
|
09.05.2009, 16:25
|
#17
|
Элита
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений (для 3,833 пользователей)
|
Ответ: проблема c camerapick
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.05.2009, 16:35
|
#18
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: проблема c camerapick
Бывает еще не пикается из-за вывернутых нормалей, при кривом экспорте.
---
Отступление по CameraPick, всегда вспоминаеься т.к. сам встревал )) - оно может тормозить даже на очень мощных компах и даже если пикать всего 1 раз за 10 циклов, почему хз, но по возможности лучше заменять на LinePick.
|
(Offline)
|
|
13.05.2009, 17:11
|
#19
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: проблема c camerapick
Пишу тут, что бы не создавать новой темы.
я делаю 3D меню
каждая строка меню это детеныш
когда наводиш на строку мышем она мерцает (это я сделал) подскажите а как сделать чтобы при клике на строке происходило действие?
CameraPick Возвращает номер выбранного объекта, а он, номер меняется
Pick=CameraPick( MenyCamera,MouseX(),MouseY() )
If Pick
EntityAlpha Pick,Sin( MilliSecs() )*.5+1
; If MouseDown(1)
; Select
; Case
;
; Case
;
; Case
; End Select
; EndIf
Endif
Я догадываюсь, что както надо через имена детенышей но как их привязать к pick'ам ?
|
(Offline)
|
|
14.05.2009, 00:06
|
#20
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: проблема c camerapick
Из теории вопроса: CameraPick возвращает хендл того объекта который пикнули. Соответственно если он совпадает с хендлом какого-л. детёныша (как ты выражаешься) то следует производить действие. Хендлы детей можно получить FindChild (если известно имя объекта в максе) или GetChild (удобно когда надо перебрать каждый). Учи матчасть. (т.е. GoTo Blitz Help)
А так код верно строишь!
Pick=CameraPick( MenyCamera,MouseX(),MouseY() )
If Pick
EntityAlpha Pick,Sin( MilliSecs() )*.5+1
If MouseDown(1)
Select Pick
Case хендл детёныша
что делать
Case хендл другого детёныша
что делать
Case ну ты понял
End Select
EndIf
Endif
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
14.05.2009, 09:29
|
#21
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: проблема c camerapick
Еще разок вставлю свои 5 к
Pick=CameraPick( MenyCamera,MouseX(),MouseY() )
вот как раз из-за такой строки, выполняемой каждый цикл, одна простенькая игра нереально тормозила на некоторых компах, а на некоторых шла нормально.
С тех пор мне кажется, что уместно использовать только
if MouseHit(1) Pick=CameraPick( MenyCamera,MouseX(),MouseY() )
ну это имхо...
---
В твоем случае вместо
Select Pick
можно юзать
Select EntityName$(Pick)
предварительно дав всем кнопкам имена (в максе наверно меню делаешь)
|
(Offline)
|
|
14.05.2009, 11:46
|
#22
|
ПроЭктировщик
Регистрация: 13.02.2009
Сообщений: 134
Написано 21 полезных сообщений (для 22 пользователей)
|
Ответ: проблема c camerapick
Господа спасибо,
в перебор вставлял DebugLog EntityName$(GetChild(Meny,i))
а в Seleсt не додумался встывить , видать устал вчера.
Damp
в моем случаи пикать после клика не подойдет, у меня при наведении мышем мерцание красивое ( чесно признаюсь гдето в примерах стырил) . Насчет тормозов, это менюшка, сделана как функция. пры выходе в меню игра встает на паузу.
ABTOMAT
Спасибо, приятно слышать
у меня сразу ещё вопрос не относящейся к делу.
DebugLog выводит что захочеш в Debugger
а какая команда выводит окно сообщений? (с кнопкой, как при ошибке)
нашел RuntimeError
Последний раз редактировалось Sleepybear, 14.05.2009 в 12:33.
|
(Offline)
|
|
14.05.2009, 16:07
|
#23
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: проблема c camerapick
а какая команда выводит окно сообщений?
|
да, она
также можно использовать winapi (возможностей больше)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
14.05.2009, 22:40
|
#24
|
Нуждающийся
Регистрация: 13.01.2007
Сообщений: 88
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: проблема c camerapick
Сообщение от ABTOMAT
А ты думал в сказку попал?))
Я дак вообще давно забил на блицовый пик, юзаю теперь физиксовый пик, очень удобно и главное что физ модель как раз достаточно проста чтобы её пикать без лагов.
|
а как физиксовым пиком тыкать по объктам мышкой (ну как в camerapick)?
|
(Offline)
|
|
15.05.2009, 01:37
|
#25
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: проблема c camerapick
Сообщение от Hellfalcon
а как физиксовым пиком тыкать по объктам мышкой (ну как в camerapick)?
|
http://forum.boolean.name/showpost.p...20&postcount=9
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
15.05.2009, 22:44
|
#26
|
Нуждающийся
Регистрация: 13.01.2007
Сообщений: 88
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: проблема c camerapick
Сообщение от ABTOMAT
|
Я читал это , но я не понял, как сделать чтоб можно было тыкнуть по объекту мышкой не в центре ,а где-нибудь скраю(в любом месте экрана).
|
(Offline)
|
|
21.05.2009, 10:57
|
#27
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: проблема c camerapick
Развиваю тему :
Сделал пиканье по LoadAnimMesh, всё пикается, всё хорошо.
Добавил вторую камеру с маленьким вьюпортом 100x100 в уголке - перестало пикаться. Обычные меши пикаются, а составные - нет. Почему ?
|
(Offline)
|
|
21.05.2009, 14:23
|
#28
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: проблема c camerapick
Может не ту камеру указываешь в CameraPick(...)
|
(Offline)
|
|
21.05.2009, 14:29
|
#29
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: проблема c camerapick
Я вторую камеру вообще нигде не указываю, она только создается, позиционируется, и задается вьюпорт, и всё.
secCam и mainCam перепутать трудновато.
|
(Offline)
|
|
21.05.2009, 15:48
|
#30
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: проблема c camerapick
ты её хоть камерапроджектиш на 0?
или она у тебя на каждой итерации отрисовки юзаетцо? 2 рендера - жесть.
и главное терь логика завязана на рендере =\
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:54.
|