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

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

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

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

Ответ
 
Опции темы
Старый 31.08.2015, 15:37   #1
Unvid
AnyKey`щик
 
Регистрация: 31.08.2015
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Проблема с CameraPick

Добрый день!

Вчера я натолкнулся на такую вот проблему:

CameraPick ведет себя словно шар выше чем он есть на самом деле, как видно на картинке. Шар 100% неподвижный.
Пробовал ставить EntityPickMode на 1, 2, 3, пробовал вставлять туже функцию в разные места (до PositionEntity и после).
Единственная операция которая производятся с камерой это TurnEntity camera,MouseYSpeed(),0,0.

Код:

(из функции которая вызывается в главном цикле перед UpdateWorld и RenderWorld)
	mouseover_msg = ""
	
	Local e = CameraPick(camera, GraphicsWidth()*0.5, GraphicsHeight()*0.5)
	If Not e Then Return
	If Not EntityName(e) Then Return
	
	it.item_ground = Object.item_ground(EntityName(e))
	If it <> Null
		mouseover_msg = it\parent\name
	EndIf
(из функции которая создает item_ground)
	it.item_ground = New item_ground
	it\entity = CreateSphere()
	
	EntityPickMode it\entity, 3
	EntityColor it\entity, 0, 255, 0
	NameEntity it\entity, Handle(it)
	PositionEntity it\entity, x, y, z
	
	it\parent = i
Вобщем я в тупике. Буду благодарен любой помощи!
(Offline)
 
Ответить с цитированием
Старый 31.08.2015, 15:43   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Проблема с CameraPick

Последний раз использовал блитз около 10 лет назад, но помню там был баг с EntityPick если объект находится строго в позиции (0, 0, 0)

А вообще выглядит так что Bounding Box криво задан.
__________________
(Offline)
 
Ответить с цитированием
Старый 31.08.2015, 16:23   #3
Unvid
AnyKey`щик
 
Регистрация: 31.08.2015
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Проблема с CameraPick

Координаты не 0;0;0

Когда я добавил коллизию с полом и "TranslateEntity it\entity, 0, -g, 0" с g#=1.0, то проблема пропала.
Однако когда g не равен 1.0, то проблема возвращается - если g выше 1, то шар уходит "вниз" (хотя визуально он на полу). Меньше 1, и он всё ещё "наверху". На коллизии это не влияет; только на CameraPick

ScaleEntity также плохо работает с CameraPick, судя по всему
(Offline)
 
Ответить с цитированием
Старый 31.08.2015, 17:09   #4
L-ee-X
Разработчик
 
Аватар для L-ee-X
 
Регистрация: 06.06.2011
Адрес: Ирк. обл.
Сообщений: 541
Написано 133 полезных сообщений
(для 220 пользователей)
Ответ: Проблема с CameraPick

а если попробовать ScaleMesh?
__________________
(Offline)
 
Ответить с цитированием
Старый 02.09.2015, 17:15   #5
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Проблема с CameraPick

Сообщение от Unvid Посмотреть сообщение
Координаты не 0;0;0

Когда я добавил коллизию с полом и "TranslateEntity it\entity, 0, -g, 0" с g#=1.0, то проблема пропала.
Однако когда g не равен 1.0, то проблема возвращается - если g выше 1, то шар уходит "вниз" (хотя визуально он на полу). Меньше 1, и он всё ещё "наверху". На коллизии это не влияет; только на CameraPick

ScaleEntity также плохо работает с CameraPick, судя по всему
Не будем забывать, что коллизии разбирает функция UpdateWorld, а ты пикаешь до её вызова - отсюда и некорректные результаты
__________________


(Offline)
 
Ответить с цитированием
Старый 03.09.2015, 02:00   #6
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Проблема с CameraPick

http://www.blitzbasic.com/b3ddocs/co...e=EntityRadius
http://www.blitzbasic.com/b3ddocs/co...EntityPickMode

При EntityPickMode "сфера" используется EntityRadius для расчётов.

Сфера просто сфера, без иерархии?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 03.09.2015, 17:32   #7
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Проблема с CameraPick

а не может быть, что центр пика камеры смещён?
относительно экрану шиндошс?

скорее всего в этом и причина.
помню бывало неладное когда переносил проект с эвм меньшего разрешения экрана, на эвм с большим р.э.
(Offline)
 
Ответить с цитированием
Старый 03.09.2015, 18:49   #8
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Ответ: Проблема с CameraPick

Сообщение от LLI.T.A.L.K.E.R. Посмотреть сообщение
а не может быть, что центр пика камеры смещён?
относительно экрану шиндошс?

скорее всего в этом и причина.
помню бывало неладное когда переносил проект с эвм меньшего разрешения экрана, на эвм с большим р.э.
Вряд ли.

Local e = CameraPick(camera, GraphicsWidth()*0.5, GraphicsHeight()*0.5)
Unvid, скинь весь код.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Ответ


Опции темы

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

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


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


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