![]() |
|
||||||||||
|
|||||
|
[+] за варез
|
Доброй ночи.
Возник вопрос по папервижену следующего характера: камера движется прямолинейно. параллельно движению камеры находится плоскость (для определенности крвадратный Plane). При стандартных настройках камеры (zoom=2, focus=100), когда камера визуально не доходит до плоскости на процентов 30 от ее длинны, плоскость исчезает. Тоже самое, если камера откатывается назад - появляется позже чем надо. Это решается увеличением зума, но такое решение не всегда может быть использовано. Что то мне подсказывает, что должен быть какой то другой подход ![]() использую as3, эффект одинков и в 1.5 и в great white, с разными настройками вьюпорта и разными камерами. если зум не увеличивать - вот такая фиготень ![]() Заранее благодарен |
|
|||||
|
Камера находится в точке (0,0,0) Видит только те объекты которые по направлению камеры имеют положительные координаты (например z) Посмотри значения координат для плоскости.
Focus говорит о расстоянии на котором параллельная плоскость будет в масштабе 100%. Такая камера новые плейны со стандартными координатами будет отображать 1 к 1. Zoom показывает как быстро изменяются размеры. Последний раз редактировалось Rzer; 24.05.2008 в 00:29. |
|
|||||
|
[+] за варез
|
Цитата:
если оно дефолтное =2, то пол под ногами пропадает. что в принципе наверное логично - координаты плиток меньше коородинат камеры. если зум сделать =3 и не смотреть под ноги - становится всё ок если смотреть - таже проблема. при значении зума = 5 - эти проблемы исчезают, но угол обзора камеры становится неподходящим. Подозреваю, что можно сделать так, чтоб объект перестал рендерится только когда полностью исчезнет из поля зрения камеры, те. не координата станет меньше, а координата+длинна будет меньше координаты камеры? Естественно без использования зумма... |
|
|||||
|
[+] за варез
|
Получается что без зума никак ?
![]() |
|
|||||
|
Мне кажется, что ты неправильно задал размеры вьюпорта. И вот этот фрагмент кода я не совсем понимаю:
container = new Sprite();
addChild(container);
container.name = "mainCont";
container.x = 200;
container.y = 200;
scene = new Scene3D(container);
Мой совет тебе - распиши подробней свой код через viewport. UPD: Стандартные размеры вьюпорта: Чтобы центр твоей камеры находился в центре квадрата нужно сдвинуть контейнер по х на 320 и по у на 240. а не на 200 и 200. Но лучше подробно распиши через вьюпорт задав ему размеры 200 на 200. Последний раз редактировалось Rzer; 25.05.2008 в 17:45. |
|
|||||
|
[+] за варез
|
Спасибо, про это както не подумал
![]() |
|
|||||
|
[+] за варез
|
Ситуация такая - бег по трубе
Делаю вьюпорт огромным - 6000x6000. Труба - сегментами, импортирована из maya. При зуме меньше 10 - сваливает сегментами ![]() Делить трубу на совсем маленькие сегменты - будет больше тормозить.... Если смотреть в пол - зум естественно не помогает... |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|