Форум » freeDEXpano » Отчет по тестированию объекта mesh_f10 » Ответить

Отчет по тестированию объекта mesh_f10

Solpadeine: Для теста решил сделать комнату в максимальном разрешении какое позволяет мой фотоаппарат, чтобы при первоначальной загрузке выводились одни изображения, меньшего качества, а при уменьшении угла обзора, подгружались другие, более качественные изображения. И попытался вставить анимированный ролик, который должен был появляться на экране телевизора при наведении на телевизор. Обнаружилась мелкая ошибка: параметр use_y_limit работает наоборот, 1 - выключено, 0 - включено. Параметр load_type: 1 - подгружает все текстуры при загрузке сцены 0 - подгружает все текстуры, poly которых показываются 2 - не понял в чем его особенность , но на моем примере работает почти также как "1" А мне хотелось бы, чтобы при обращении к объектам poly подгружались только те текстуры которые в данный момент выводятся на экран, и видимы пользователю. Если ставить значение load_type равное "1" или "2", то загружаются сразу все изображения при загрузке сцены, если ставить значение "0" то все изображения более высокого качества загружаются когда к ним обращаешься, но все равно загружаются все разом, хотя может быть мне только в одном месте надо было посмотреть крупно. Соответственно вопрос, это я не догадался как сделать подгрузку только видимых в данный момент текстур, или это не предумотрено? Именно такой принцип на всех гигапиксельных панорамах, которые есть в интернете. Размещеная панорама на хостинге часто не загружается выдывая ошибку, что не найден какой-нибудь файл, и загружается в итоге со 2-3-го обновления страницы. Да это скорее всего проблема бесплатного хостинга, но может быть стоит сделать чтобы программа по нескольку раз пыталась обратиться к файлу при неудачных попытках. Слоем выше панорамы я разместил экран телевизора с изображением. Написал скрипты на показ, и скрытие этого слоя. Поставил на телевизор хотспот который запускает скрипты при наведении, и уходе с хотспота. Оказалось что изображение не хочет появляться пока панораму не пошевелить или не изменить fov. Пришлось извратиться и написать скрипты таким образом: <script id="on_tv" > <actionSetProperties id="pano" texture.front_tv.img="${whole_side}front_tv.jpg" /> <actionSetProperties id="pano" fov="#{@{pano.fov}+0.01}" /> </script> <script id="off_tv" > <actionSetProperties id="pano" texture.front_tv.img="" /> <actionSetProperties id="pano" fov="#{@{pano.fov}-0.01}" /> </script> Появление и исчезание слоя заработало как надо, но попытавшись вместо front_tv.jpg , выводить front_tv.swf, подмена работать отказалась. Итоговые вопросы: 1) Как динамически подгрузить только видимые на экране текстуры? 2) Почему может не работать флеш ролик, хотя jpg картинка на этом месте работает? Ссылки: http://kovka.far.ru/zal/zal.html - панорама на хостинге. http://kovka.far.ru/zal/freedexpano_2_3_1_b.xml - XML http://dl.dropbox.com/u/24983400/files_zal.zip - все файлы в архиве (30 мБ) Заранее огромное спасибо, за внимание к пользователям.

Ответов - 2

Administrator: Добрый день! Все внимательно просмотрю и будем разбираться по каждому пункту.

Administrator: По итогам разбирательств: Обнаружилась мелкая ошибка: параметр use_y_limit работает наоборот, 1 - выключено, 0 - включено. Действительно, есть такое, в следующей версии исправлю. Но сам бы нашел не скоро, спасибо :) Размещеная панорама на хостинге часто не загружается выдывая ошибку, что не найден какой-нибудь файл, и загружается в итоге со 2-3-го обновления страницы. Да это скорее всего проблема бесплатного хостинга, но может быть стоит сделать чтобы программа по нескольку раз пыталась обратиться к файлу при неудачных попытках. Загрузка файлов из флеша с сервера обычно происходит достаточно стабильно и ошибки появляются только тогда, когда запрошенных файлов действительно нет на сервере. В вашем же случае, как я подозреваю, дело не в флеше, а в кешировании фалов браузером. В некоторых случаях при попытке загрузить файл, браузер, пытаясь экономить трафик, подставляет старые версии файлов, в том числе и файл настроек XML, поэтому может грузится старая версия, даже если файл по факту изменен. Попробуйте при подобных проблемах очищать Cache браузера. Ниже будет ваш пример на моем сайте, если проблема будет возникать и на нем, то попробуем разобраться детальнее. Оказалось что изображение не хочет появляться пока панораму не пошевелить или не изменить fov. Пришлось извратиться и написать скрипты таким образом: Идею понимаю, но воспроизвести ее не могу, у меня все работает и без пренудительного изменения fov. Опять таки, в примере будет отображение как статичного изображения, так и флеш-ролика. У меня оба отображаются без проблем и дополнительных ухищрений. Посмотрите, если проблема останется, будем разбираться. Почему может не работать флеш ролик, хотя jpg картинка на этом месте работает? Ролик, который вы пытались отобразить предназначен для Flash 6. Если вы сохраните его для версии 9 или 10 и ActionScript3, то все заработает. Обратите внимание, что не обязательно заранее вписывать ролик в фоновое изображение, можно просто задавать перспективное искажение экрана с помощью координат угловых точек объекта poly. 1) Как динамически подгрузить только видимые на экране текстуры? Параметр load_type: 1 - подгружает все текстуры при загрузке сцены 0 - подгружает все текстуры, poly которых показываются 2 - не понял в чем его особенность , но на моем примере работает почти также как "1" 1-вообще все изображения использемые в панораме загружаются при открытии сцены. 2-при загрузке сцены изображения не загружаются, а загружаются только когда панорама в первый раз будет отображаться. Этот способ можно использовать, когда панорама первоначально скрыта и будет показана только после определенных действий пользователя, а если этих действий нет, то и грузить изображения не обязательно. 0-изображения загружаются только когда отображается объект poly с этой текстурой. Собственно это и есть интерактивная загрузка только необходимых изображений. Насколько я понимаю, подобная возможность вам и нужна. Но с ходу разобраться в чем ошибка не получилось, в определенных случаях все работет как нужно, иногда-нет. В ближайшее времяя надеюсь выяснить в чем проблема. А теперь обещенная сцена: http://pano.3dex.ru/examples/files_zal/zal.html В ней вместо одного вашего хотспота-два. При наведении на большой хотспот на экране телевизора должен появляться анимированный ролик. При наведении на маленький -статичное изображение. Файл настроек: http://pano.3dex.ru/examples/files_zal/freedexpano_2_3_1_b.xml.



полная версия страницы