Overlay+scenenode проблема с перемещением камеры
Всем привет!
В моем проекте необходимо реализовать приборную панель(mesh). Я попробовал 2 варианта решения: 1) mesh и camera прикреплены к общему SceneNode. Для перемещений двигаем SceneNode. 2) прикрепил mesh к overlay с помощью add3d: Код:
Как это можно исправить? Спасибо за ответы ) |
Ответ: Overlay+scenenode проблема с перемещением камеры
зачем к оверлею прикручивать? можно просто камеру и панель к одному ноду прикрутить и двигать вместо камеры этот узел, и будет все гуд.
|
Ответ: Overlay+scenenode проблема с перемещением камеры
Цитата:
Цитата:
|
Ответ: Overlay+scenenode проблема с перемещением камеры
Напиши как делал первый вариант
|
Ответ: Overlay+scenenode проблема с перемещением камеры
Вместе с impersonalis выяснили, что корень жука зарыт в недостаточной точности float.
Вектора задаются типом Ogre::Real. В моей версии OgreSDK 1.7 он определен(OgrePrerequisites.h) как float (точность всего 7 знаков). Real можно переопределить как double(15-16 знаков). Для этого необходимо прописать деф в проекте и при ручной сборке огра (OgreBuildSettings.h): Код:
#define OGRE_DOUBLE_PRECISION 1 |
Ответ: Overlay+scenenode проблема с перемещением камеры
Ого где собака зарыта.
+1 |
Ответ: Overlay+scenenode проблема с перемещением камеры
Цитата:
Точно такой же эффект непринуждённо получается и на Blitz3D (где только float*) и на Xors3D** (где пользователь не имеет подобного Огру уровня доступа к движку, а в штатной сборке - тот же float). Алгоритмически верное общее решение - реализовывать секторную подгрузку уровня. Это позволит оставлять камеру и окружение недалеко от нуля, храня их виртуальные координаты в числах двойной точности или как либо ещё. *здесь и далее - речь о одинарной точности ** можете даже не баловаться с entity order и parent-ми: достаточно елозить камерой далеко от нуля и устанавливать чуть перед ней entity |
Ответ: Overlay+scenenode проблема с перемещением камеры
Я обычно делаю 1 единица равна одному метру игрового поля, тогда все ок. А то бывает тени глючить начинают или еще чего.
|
Часовой пояс GMT +4, время: 19:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot