Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Papervision] Camera.target проблема ( (http://www.flasher.ru/forum/showthread.php?t=134248)

Fushigi 24.12.2009 18:40

Camera.target проблема (
 
Доброго времени суток! Столкнулся с проблемой. Делаю плавное движение камеры через TweenLite задавая позицию dummy объекту на который камера нацелена. Суть в том, что по клику на какой-то объект dummy туда плавно переезжает вместе с камерой, а потом камера от dummy отвязывается и может свободно вращаться. Так вот баг в том, что как-только после твининга я делаю camera.target=null, она автоматически возвращается в положение, которое было до твининга (кроме позиции), а не остается на том-же месте, и не смотрит на dummy. Код выглядит примерно так:

Код AS3:

private function onObjectClick(e:InteractiveScene3DEvent):void
                {
                        dummy.copyTransform(camera); // делаю dummy на одной оси с камерой и двигаю вперед
                        dummy.moveForward(1000);
                        camera.target = dummy;
                        TweenLite.to(dummy,1,{x:e.displayObject3D.x,y:e.displayObject3D.y,z:e.displayObject3D.z}); // двигаю dummy к цели
                        TweenLite.to(camera,1,{z:e.displayObject3D.z,onComplete:resumeFreeCamera});
                } // двигаю камеру по одной оси как по рельсе
 
                private function resumeFreeCamera():void
                {
                        camera.target=null; // отвязываю от dummy чтоб свободно вращать.
//И тут начинается баг, т.к. камера поворачивается(не ездит), в то положение, которое предшествовало твинингу.
//Т.е. по сути получается что пока у камеры есть таргет, то ее  нацеленность на что-то не отследить...
//Как-то так. А мне нужно чтоб она оставалась нацеленной на эту точку, но чтоб я уже мог ее вращать.
//Делал в дебаг моде, может поэтому глюки с камерой(
                }
 
                override protected function onRenderTick(e:Event=null):void
                {
                        super.onRenderTick(e);
                }



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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.