![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 50
|
Помогайте, кто чем может )
На сцене есть 2 контейнера (ObjectContainer). objectContainer1 и objectContainer2 В objectContainer1 есть объект plane. Задача - перенести объект plane из objectContainer1 в objectContainer2, но так, чтобы положение и поворот plane остались неизменными. т.е., чтобы plane не изменил своего положения. Нужно это для последующей анимации plane в objectContainer2, т.е. чтобы plane плавно переместился из заданной позиции objectContainer1 в заданную позицию objectContainer2 Есть 2 решения: Решение 1: 1. Получить глобальные координаты (coords1) plane пока он находится в objectContainer1 2. Перенести plane в objectContainer2 3. Получить глобальные координаты (coords2) plane пока он находится в objectContainer2 4. Удалить plane из objectContainer2 5. Анимировать plane из coords1 в coords2 6. Перенести plane в objectContainer2 Это решение реализуемо, но не годится, т.к. нужно, чтобы plane сразу стал объектом в objectContainer2 Решение 2: 1. Перенести plane в objectContainer2, но так, чтобы plane остался в предыдущей позиции (Вот тут вся загвоздка) 2. Анимировать plane в objectContainer2 P.S. Вывести plane из objectContainer1 так, чтобы plane оставался на месте я могу. Примерно так: var rot = Matrix3D.matrix2euler(plane.sceneTransform); var pos = plane.scenePosition; objectContainer1.removeChild(plane); scene.addChild(plane); plane.x = pos.x; plane.y = pos.y; plane.z = pos.z; plane.rotationX = rot.x; plane.rotationY = rot.y; plane.rotationZ = rot.z; Как прицепить его к objectContainer2, чтобы он оставался в этой же позиции неясно ( В общем нужно по известному глобальному (x,y,z и rotX, rotY, rotZ) для objectContainer2 и глобальному (x,y,z и rotX, rotY, rotZ) для plane получить локальные (x,y,z и rotX, rotY, rotZ) для plane в objectContainer2 P.P.S Спасибо за внимание Последний раз редактировалось nauroman; 27.08.2007 в 11:18. |
![]() |
Часовой пояс GMT +4, время: 18:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|