我在搅拌机(2.5)中创建了一个立方体并应用了材质和纹理。但是当我将该模型导入Papervision 3d(2.1)时,我什么都没看到 - 只是一个空白的屏幕。另一方面,如果我使用任何其他.dae模型(例如,我指的是Papervision3D Essentials书,所以我使用了那些样本),那么我可以看到模型。有什么问题?为什么我从搅拌机输出的模型不起作用?
这是我的剧本:
package {
import flash.events.Event;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.view.BasicView;
import org.papervision3d.objects.parsers.Collada;
public class modelTest extends BasicView
{
private var model:DisplayObject3D;
private var distance:Number = 1000;
private var speed:Number = 0.2;
private var rangeX:Number = 0.02;
private var rangeY:Number = 0.02;
private var rangeZ:Number = 0.05;
private var targetRotationX:Number = 0;
public function modelTest()
{
stage.frameRate = 40;
init();
startRendering();
}
private function init():void
{
model = new DAE();
DAE(model).load("assets/cube.dae");
scene.addChild(model);
viewport.interactive = true;
model.addEventListener(FileLoadEvent.LOAD_COMPLETE, modelLoaded);
}
private function modelLoaded(e:FileLoadEvent):void
{
trace("Used materials by this model: " + model.materials);
true).addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, click);
}
override protected function onRenderTick(e:Event=null):void
{
super.onRenderTick();
}
}
}
这是输出:
INFO: Papervision3D 2.1 rev920 (August 11th, 2009)
INFO: Viewport autoScaleToStage : Papervision has changed the Stage scale mode.
INFO: DisplayObject3D: COLLADA_Scene
INFO: DisplayObject3D: Cube
INFO: DisplayObject3D: Lamp
INFO: DisplayObject3D: Camera
Used materials by this model: Material_001-material
Blender文件:http://imageedit.netai.net/cube.blend
答案 0 :(得分:0)
PV3D没有保持最新状态,如果你想利用Stage3D(3D场景的Flash GPU加速),你会想要尝试Away3D或其他一些引擎。 / p>
话虽如此,自从我触及PV3D之后已经有一段时间了,但我记得我必须非常具体地了解我的Collada几何体是如何编写的 - Papervision3D中的解析器只读取规范的一个子集(如果它试图阅读完整的规范,解析器将是巨大的 - 为什么Away3d不支持它的一部分)
搜索“Papervision的Collada blender export”会在网上向我展示一些有用的帖子,例如:
http://osflash.org/pipermail/papervision3d_osflash.org/2007-February/001726.html
告诉我们您的Collada导出必须有三角形。
或者,您可以深入了解Collada Parser并找出它正在寻找的内容 - 您会看到加载程序只是在寻找三角形,而只是在XML中的特定位置。