|
|
|||||
Регистрация: Oct 2009
Сообщений: 386
|
Ошибка при подгрузке 3D модели
попытался подгрузить 3D модель
использовал свою модель а код вот от сюда: http://wiki.alternativaplatform.com/...80%D0%B0%D1%8F Получил ощибку выполнения Error: Error #2030: End of file was encountered. at flash.utils::ByteArray/readUTFBytes() at alternativa.protocol.codec.complex::StringCodec/doDecode() at alternativa.protocol.codec::AbstractCodec/decode() at versionBase1Custom0.a3d.material.codec::A3DImageCodec/doDecode() at alternativa.protocol.codec::AbstractCodec/decode() at platform.client.A3DModelsBase.versionBase1Custom0.a3d.material.codec::A3DImageNotNullVectorCodec/doDecode() at alternativa.protocol.codec::AbstractCodec/decode() at versionBase1Custom0.a3d.codec::A3DCodec/doDecode() at alternativa.protocol.codec::AbstractCodec/decode() at alternativa.protocol::Protocol/decode() at alternativa.engine3d.loaders::ParserA3D/parse() at simple3D/onA3DLoad() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/onComplete() В чём может быть ощибка |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Модель неправильного формата, например.
|
|
|||||
Регистрация: Oct 2009
Сообщений: 386
|
Взял другую модель, из сети, эфект тот же
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Тогда, кмк, лучше спросить на профильном форуме.
|
|
|||||
Регистрация: Oct 2009
Сообщений: 386
|
В прилогаемых примерах есть пример парсинга, пару моментов ни как не пойму
По порядку private function onContextCreate(e:Event):void { stage3D.removeEventListener(Event.CONTEXT3D_CREATE, onContextCreate); // Загрузка моделей // Models loading var loaderA3D:URLLoader = new URLLoader(); loaderA3D.dataFormat = URLLoaderDataFormat.BINARY; loaderA3D.load(new URLRequest("parsersexample/model.A3D")); loaderA3D.addEventListener(Event.COMPLETE, onA3DLoad); var loaderCollada:URLLoader = new URLLoader(); loaderCollada.dataFormat = URLLoaderDataFormat.TEXT; loaderCollada.load(new URLRequest("parsersexample/model.DAE")); loaderCollada.addEventListener(Event.COMPLETE, onColladaLoad); var loader3DS:URLLoader = new URLLoader(); loader3DS.dataFormat = URLLoaderDataFormat.BINARY; loader3DS.load(new URLRequest("parsersexample/model.3DS")); loader3DS.addEventListener(Event.COMPLETE, on3DSLoad); // Listeners // Подписка на события stage.addEventListener(Event.ENTER_FRAME, onEnterFrame); stage.addEventListener(Event.RESIZE, onResize); onResize(); } .A3D - формат для альтернативы(как конвертировать знаю) .DAE - А вот это что за зверь и как его получить? далее по тексту назначаются текстуры для моделей, а если моделки уже с текстурами, этого можно не делать? Добавлено через 9 часов 34 минуты что так ни кто и не подскажет |
|
|||||
.dae это диалект ХМL под названием COLLADA
он поддерживает не только модели с материалами но и анимацию родная поддержка или плагин для экспорта в колладу есть в любом уважающем себя 3д редакторе все эти форматы описывают модель и материалы, некоторые материалы используют текстуры эти текстуры не содержатся в файле с моделью. текстура это картинка, которую необходимо подгрузить отдельно, для корректного отображения материала Добавлено через 3 минуты ваша ошибка скорее всего связана с тем что модель содержит что-то, что не поддерживается альтернативой попробуйте загрузить эту модель вот сюда http://a3dplayer.com/ и если тут заработает, то ищите ошибку у себя
__________________
Хороший отдых - половина работы. |
|
|||||
Регистрация: Oct 2009
Сообщений: 386
|
а не подбросите статейку или мануал как .dae фаил писать надо? так значит если фактуры в самой моделки то с .dae маяться не надо? модели не мои к сожалению
|
|
|||||
.dae файл писать не надо, в него надо экспортировать модели из 3д редактора
например в cinema4D можно просто зайти в меню file > export > collada 1.4 Формат .3ds тоже не содержит в себе саму текстуру, только её имя преимущество .3ds в том что это бинарный формат - меньше весит преимущество .dae в том что там есть анимация про альтернативовский формат не знаю, но скорее всего его преимущество в том что он быстро парсится
__________________
Хороший отдых - половина работы. |
|
|||||
Регистрация: Oct 2009
Сообщений: 386
|
В привидённом мною в посте № 5 примере используются все три файла, это обязательно?
Второй вопрос: далее в том же примере написано private function onA3DLoad(e:Event):void { // Model parsing // Парсинг модели var parser:ParserA3D = new ParserA3D(); parser.parse((e.target as URLLoader).data); trace(parser.objects); var mesh:Mesh; for each (var object:Object3D in parser.objects) { if (object.name == "Cylinder01") { mesh = object as Mesh; break; } } |
|
|||||
Регистрация: Mar 2011
Сообщений: 58
|
Вы же сами сказали что там загружаются 3 разных типа моделей... Естественно грузить все подряд не нужно, грузите только то что нужно вам для создания сцены...
Одна модель может состоять из нескольких мешей... У каждого этого меша есть имя. Имя задается в программе 3D-моделирования... ЗЫ: C такими знаниями я бы вам не советовал пока лезть в 3D... Почитайте про основы хотя бы. Что такое вьюпорт, виртуальная камера, фрустум, 3D-сцена... |
Часовой пояс GMT +4, время: 15:31. |
|
« Предыдущая тема | Следующая тема » |
|
|