今天cailven用pv3d做Parkroyal Mt demo的时候一直很卡,经过他反复测试,发现是因为里面反复使用了pv3d内建的removeChild()方法。一开始认为是贴图无法被清空造成的,后来他改成了线框贴图,依然很卡。
他的代码是这样的。
因为pv3d的内建removeChild有bug不完善,所以他跳过了这个步骤,直接使用了代码:
问题描述:今天用FLARManager做AR,发现PV3D里修改矩阵后rotation不更新。
问题解决:在网上找到Kevin Cao的解决办法:调用yaw(0)一下,使其更新解决。
参考网址:
http://kevincao.com/2008/11/papervision3d-rotation-tip/
3D转2D
do3d.calculateScreenCoords(camera3D);
var real2DX:Number = do3d
.screen.x + viewport3D.width/2;
var real2DY:Number = do3d
.screen.y + viewport3D.height/2;
2D转3D
var ray:Number3D = camera.unproject(viewport.containerSprite.mouseX, viewport.containerSprite.mouseY);
ray = Number3D.add(ray, camera.position);
官方网站:http://pv3d.org/
官方演示:http://www.papervision3d.org/
官方论坛:http://forum.papervision3d.org/
达达的教程:
Papervision3D入门第1步:http://www.unbe.cn/blog/?p=306
Papervision3D入门第2步:http://www.unbe.cn/blog/?p=310
Papervision3D入门第3步:http://www.unbe.cn/blog/?p=320
Papervision3D入门第4步:http://www.unbe.cn/blog/?p=321
Papervision3D入门第5步:http://www.unbe.cn/blog/?p=325
Papervision3D入门第6步:http://www.unbe.cn/blog/?p=385
爱好的教程:
第一课:关于 Papervision 3D:http://blog.sina.com.cn/s/blog_49b35d540100a0ef.html
第二课:三种IDE创建Papervision 3D文件:http://blog.sina.com.cn/s/blog_49b35d540100a0hu.html
第三课:创建第一个Papervision 3D文件:http://blog.sina.com.cn/s/blog_49b35d540100a0w3.html
第四课:一个旋转圆锥体效果:http://blog.sina.com.cn/s/blog_49b35d540100a0wr.html
第五课:一个旋转球体效果:http://blog.sina.com.cn/s/blog_49b35d540100a212.html
第六课:深入研究Papervision3D自定义类--PaperBase:http://blog.sina.com.cn/s/blog_49b35d540100a2r9.html
第七课:Papervision3D贴图基础:http://blog.sina.com.cn/s/blog_49b35d540100a2rx.html
第八课:使用复杂模型贴图:http://blog.sina.com.cn/s/blog_49b35d540100a2yd.html
第九课:3D鼠标交互效果:http://blog.sina.com.cn/s/blog_49b35d540100a3ht.html
第十课:3D键盘交互效果:http://blog.sina.com.cn/s/blog_49b35d540100a3yu.html
第十一课:基本3D交互场景事件:http://blog.sina.com.cn/s/blog_49b35d540100a54p.html
第十二课:高级3D交互场景事件(一):http://blog.sina.com.cn/s/blog_49b35d540100a5vd.html
如果用PV3D组件开发,可以参考教程:http://hi.baidu.com/acumagic/blog/item/9fefca1fc7405d08304e15d7.html