[Logo]
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing  
[Register] Register / 
[Login] Login 
Messages posted by: Golem
Forum Index » Profile for Golem » Messages posted by Golem
Author Message
я обошелся без шаманства,
все делал как в примерах..

как я понимаю, контролер по умолчанию смотрит вперед по оси Y.
соответственно если камеру направить поворотом тоже по оси Y - камера тоже будет смотреть туда-же куда и контролер.
а дальше направляя контролер будет направляться и обзор камеры...
если я не ошибаюсь - камера, при привязке камеры к WalkController-у помещается в его центр
(это по умолчанию.. что будет, если после привязки изменить ее координаты - пока не пробывал, возможно координаты камеры изменятся относительно контролера).
соответственно вам нужно установить в нужную позицию на сцене не камеру, а иенно WalkController.
то же и с направлением камеры (возможно оно задается относительно оси контролера) - по умолчанию она смотрит вверх.
чтобы смотреть вперед я поворачивал ее на 90 градусов (camera.rotationX = - MathUtils.DEG90);
и привязывал к контролеру.
после чего, если было нужно - менял направление у WalkController-а.

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

применив кривой способ создания события MouseEvent3D.MOUSE_DOWN для родительского не-Mesh-объекта, мне удалось таки отловить на нем нажатие мышью.
но при попытке потащить объект выскакивает ошибка. судя по всему почему-то сбрасывается переменная активного объекта.
подозреваю что сам подход в принципе неверен..

если не трудно, толкните пожалуста в какую сторону надо двигаться, чтобы мой объект, состоящий, например, из кубика, шарика и пирамидки драггался как одно целое...
то есть, класс "главный" загружает класс "шарик-пирамидка-кубик", который в свою очередь загружает три класса - "шарик", "пирамидка" и "кубик", которые могут загружать в себя что-то еще. из из всего этого Mesh-ами будут объекты только самого нижнего уровня.

наверняка же есть способ, но из-за того, что мое ООП пока находится в стадии изучения, приходится пробовать все методом тыка в документацию..
уточню:
правильно ли я понял, что в данном случае, собственные грани есть только у объекта x3DSLoader.loader:Loader3DS, а у самого x3DSLoader их как бы и нет?
и ловить события мыши мне надо непосредственно на x3DSLoader.loader ?
день добрый.
есть класс загрузки 3DS-файла - x3DSLoader (основан на уроке "Импорт модели").
есть основной класс, в котором я создаю сцену, ставлю камеру, ... .
там же создаю объект класса x3DSLoader (шарик) и добавляю на сцену примитив Box.

для обоих объектов прописал листенеров
дальше, как в примере SimpleMouseEventsDemo.as (нашел здесь http://forum.alternativaplatform.com/posts/list/281.page#1540) идет обработка мышиных событий, то есть просто двигаю объекты.
так вот, на Box-е все работает, а на загруженном - не ловит клик мышкой.

Подозреваю, что дело в том, что непосредственно загруженный из 3DS объект является дочерним по отношению к ball(x3DSLoader), который выступает чем-то вроде контейнера без габаритов, и возможно надо как-то обеспечить наследование отлова событий.
здесь http://forum.alternativaplatform.com/posts/list/352.page#1927 видел чем-то похожую проблему, но указанное решение мне не подходит..

добавил исходyик на Flash CS4.
уточню на всякий случай:
то есть если я делаю комнату, и мне нужен дверной проем, через который можно будет ходить, я должен делать стену с дверью из трех прямоугольников?.....
возможно
когда возьмусь за импорт 3DS конкретно - попробую.
пока что экспериметы с уроком по импорту работают не слишком быстро..
до 7 секунд на загрузку внешне кажущейся простой модели.

в любом случае спасибо! разбил поверхности на два прямоуугольника - перестал проваливаться.
невесело..
теперь придеца строить мощные алгоритмы расчета UV-координат на стыковке граней..
примерно вот как-то так


или есть более простые способы наложения тайловых текстур на несколько состыкованных полигонов?
значит я все-таки был прав и дело в форме этих полигонов?..
ясно.. спасибо (:
а
Не надо так делать
это как?
не надо создавать невыпуклые многоугольники?
то есть мне его разбить на два прямоугольника?..
че-то совсем неинтересно..
а если структура будет вообще сложная.. типа профиля лестницы или звезды - разбивать ну кучу мелких поли?
да, у меня стоит CS 4.
попробовал walkcontroller.
не помогло, тоже самое - пол и потолок насквозь.
думал сначала что дело в tile-текстуре пола и потолка, но нет..
больше пол/потолок от стен ничем не отличается, кроме горизонтальности..
сработало. (:
спасибо.
то есть получается, что само по себе создание объекта внутри класса не подразумевает автоматическое присоединение его как дочернего?
утро доброе!
не могу понять почему на сцене не отображается примитив Box.
создал класс:


создаю на сцене объект:


Треугольник на экране есть, а коробки - нет.
день добрый!
сделал во flash cs4 комнату, за основу брал исходники урока "Материалы".
навесил текстур на стены и потолок с полом.
камеру поставил внутри.
при движении камеры - она легко пролетает через потолок и пол.
причем иногда упирается в эти поверхности и проскальзывает по ним некоторое расстояние, но потом проваливается.
со стенами все нормально. упирается и дальше не идет.

есть подозрение что такое происходит из-за сложной формы пола/потолка.
кто-нибудь сталкивался с подобным? и повторяется ли у вас этот глюк?

библиотеки использовал для FP10.
 
Forum Index » Profile for Golem » Messages posted by Golem
Go to:   
Powered by JForum 2.1.8 © JForum Team