![]() |
DDM君 (2009-08-01 11:37:08) |
有可能是您的空间不知道3ds,比如我们的空间就不支持dae,所以我们被迫把扩展名改称xml。 但是3ds是没法直接改扩展名的。 |
![]() |
DDM君 (2009-08-01 11:37:28) |
修改:“不支持” |
![]() |
chch723 (2009-08-03 14:09:42) |
那真麻烦了 |
![]() |
chch723 (2009-08-03 18:04:47) |
请问DDM君,在AWAY3D中导入XML模型的语句怎么写,还要导入新的什么类吗?我是美工,不大懂程序的东西,也找不到着方面的教程。。谢谢了 |
![]() |
chch723 (2009-08-03 18:08:48) |
DDM君要是知道什么AWAY3D学习的好地方,介绍我自己去看也行,我鸟语差的很。。 |
![]() |
DDM君 (2009-08-04 11:32:51) |
目前flash3d主要分化就是pv3d,away3d和A3d了。不过后盾最强的还是大规模协作下产生的pv3d啦。 比如导入xml就写 a:Collada=new Collada(“什么什么.xml"); away3d到现在由于我们研究所一直没时间对前段时间新出api做过系统的代码浏览,所以发言权也不算很高。不过基本的东西还是不会变的。但如果是对flash3d有兴趣又是初学的话,强烈建议从pv3d开始,因为你能接触到更核心的内容。 ps:away3d最麻烦的事情就是其参数大多都是用单个Object,阅读起来如果没有帮助手册,就非常麻烦,而且参数属性不容易看出来。 |
![]() |
chch723 (2009-08-04 16:59:23) |
按照你的方法改了源码,这个写法好象相当标准,我直接把源码发下,你帮我看看什么问题,我预览只提示一个错误。好象是类指定错误。这东西搞2天了,只怪我基础太差。。 import away3d.loaders.*; import away3d.containers.*; import away3d.materials.*; import away3d.cameras.*; import away3d.core.math.*; import away3d.core.utils.*; import away3d.core.render.*; import away3d.containers.*; import flash.filters.GlowFilter; var move:Boolean=false; var lastPanAngle:Number; var lastTiltAngle:Number; var lastMouseX:Number; var lastMouseY:Number; var scene:Scene3D = new Scene3D(); var camera:HoverCamera3D=new HoverCamera3D({zoom:2,focus:200,distance:100}); camera.targetpanangle=camera.panangle=0; camera.targettiltangle=camera.tiltangle=0; camera.mintiltangle =-90; var view:View3D=new View3D({scene:scene,camera:camera}); addChild(view); view.x=200; view.y=200; var ey:Collada = new Collada("ey.xml"); view.scene.addChild(ey); view.render(); function MouseDown(event:MouseEvent):void { lastPanAngle=camera.targetpanangle; lastTiltAngle=camera.targettiltangle; lastMouseX=stage.mouseX; lastMouseY=stage.mouseY; move=true; } function MouseUp(event:MouseEvent):void { move=false; } |
![]() |
DDM君 (2009-08-05 08:41:25) |
把错误那句也贴出来吧 |
![]() |
hiddenshark (2009-08-05 11:07:07) |
away3d中,scene.addChild不能直接用Collada类。 错误提示是:Collada类无法强制转换为Object3D类。 我试着用view.scene.addChild(ey.container); 编译通过,可是模型并没有显示出来。不知何故。 |
![]() |
chch723 (2009-08-05 11:26:36) |
终于有人理解我了,高手快出现啊 |
![]() |
DDM君 (2009-08-06 10:50:44) |
我也帮忙看了一下手册,太奇怪了,away3d的collada居然是只是个flash.events.EventDispatcher,所以不能直接操作collada。 但是collada.load的时候,他会返回一个Object3DLoader,这个就是个ObjectContainer3D了,可以直接操作他。 |
![]() |
hiddenshark (2009-08-06 14:29:05) |
我也这样试过了。 model1 = Collada.load("cx.xml", {scaling:0.1, material:"blue#red"}); scene.addChild(model1) 可场景里什么也没有。 我在网上找到一篇源代码,看一下。 http://www.infiniteturtles.co.uk/projects/away3d/demos/MultiMario/srcview/index.html 这里说的是用embed将xml导入成类,然后使用。 可我导入编译后,仍旧什么也没有。难道还得打灯光????? |
![]() |
chch723 (2009-08-06 17:01:52) |
我去网上找了源码,AWAY3D好象不能使用XML类型的模型我.load了一遍,还是找不到AWAY3D是怎么输出DAE的。但为什么官网说支持collada呢,好郁闷啊。我又赶快学习了DDM君的PV3D系列教程,模型是弄出来了,但是MAX导出的DAE文件在PV3D里面轴向混乱,Z轴变为Y轴。而且PV3D在单面片物体上贴图畸变严重,在AWAY3D就好的多。PV3D好象使用XML里面的贴图路径会出现线框,还要单独导入贴图才搞定。AWAY3D的语句好精练,同样效果PV3D里要写好多。PV3D好象是出来的早,所以实例和源码比较多。AWAY3D连个中文教程都没有,而且导出的SWF还带LOGO。。我感觉PV3D就象PS用途广,AWAY3D象painter比较专。我是美工,只能这么比喻了。另外谢谢DDM兄不厌其烦的解答我的问题。现在很少见这么热心的人了。 |
![]() |
chch723 (2009-08-06 17:12:32) |
DDM君,collada.load的时候,他会返回一个Object3DLoader,这个就是个ObjectContainer3D了,可以直接操作他。这句话什么意思,不太理解了,我是初学者,不太懂。难道是用ObjectContainer3D.load?可是也不行啊,提示说调用未定义的load,???? |
![]() |
DDM君 (2009-08-07 11:01:07) |
model1 = Collada.load("cx.xml"); scene.addChild(model1) 理论上这样写就可以了,但是hiddenshark君说没法看到,是不是因为scale太小了呢?调整为10或者100呢? |
|
|