Flash papervision3d 从服务器加载 dae 模型

Posted

技术标签:

【中文标题】Flash papervision3d 从服务器加载 dae 模型【英文标题】:Flash papervision3d load dae model from server 【发布时间】:2012-10-13 04:32:30 【问题描述】:

尝试在 Flash AS3 中使用 papervision3d 加载 DAE 模型。我希望在用户打开 swf 文件后,它会从其他服务器加载 DAE 模型和纹理。

我正在使用此代码链接模型:

ModelDAE.load( "http://someurl.com/model.dae", materialsList);

用flash编译后效果很好。但是在我将我的 swf 文件上传到网络后,它不起作用,显示空白屏幕。

如果我将 DAE 模型蚂蚁纹理放在同一服务器和同一文件夹中,并像这样链接模型:“model.dae”,它就可以工作。但我希望该模型将从其他服务器加载。

感谢您的建议。

所有代码:

package 

import flash.display.Bitmap;
import flash.events.Event;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.view.BasicView;


public class ProjectDAE extends BasicView

    private var ModelDAE:DAE;
    protected var bitmapMaterial:BitmapFileMaterial;

    public function ProjectDAE () 
    
        this.loaderInfo.addEventListener ( Event.COMPLETE, onFullyLoaded );
    

    private function onFullyLoaded(e:Event):void 
    
        bitmapMaterial  = new BitmapFileMaterial( "http://....jpg");
        var materialsList:MaterialsList = new MaterialsList ( ) ;
        materialsList.addMaterial ( bitmapMaterial, "all" ) ;           

        ModelDAE = new DAE();
        ModelDAE.load( "http://....dae", materialsList);
        this.scene.addChild(ModelDAE);

        this.startRendering ( ) ;
    


    override protected function onRenderTick(event:Event = null):void 
    
        super.onRenderTick ( event );
    


【问题讨论】:

【参考方案1】:

可能是跨域问题,参考http://kb2.adobe.com/cps/142/tn_14213.html

【讨论】:

以上是关于Flash papervision3d 从服务器加载 dae 模型的主要内容,如果未能解决你的问题,请参考以下文章

从 COLLADA 将蒙皮网格导入 PaperVision3d 3.0 时遇到问题

是我需要导出到 .dae 的包 org.papervision3d.core.io 吗?

Papervision 3D:如何在 collada 文件上强制尺寸

如何使用 papervision3D 控制 collada 模型的动画?

ActionScript 3 Papervision3D - lookAt()

ActionScript 3 Papervision3D - distanceTo()