快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: 站在5米外看10米高的楼,和100米外看10米的楼能一样高吗? 三维世界和二维世界的尺寸本来就不一样,不要钻牛角尖啦 ~










最近更新:
● wan925446570阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(15:12:45)
● wan925446570阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(10:01:38)
● DDM君阁下在讨论区里 回复“怎么配置away3d 4.0运行环境啊?...”(19:07:43)
浏览主题:flabCmera3D的镜头自动聚焦不准怎么办?

flabCmera3D的镜头自动聚焦不准怎么办?
yukon12345 (2010-05-21 22:30:27)

我把几个plane放到一个球形(sphere)的displayObject3D里,然后让这个displayObject3D旋转,点击plane可以聚焦到plane,点击的同时停止那个球形旋转,但经常聚焦不准,就是无法正对plane,求问到底是怎么回事?
private function onPlaneClick(evt:InteractiveScene3DEvent):void {
  camera.tweenTo(Plane(evt.currentTarget),240);
}







flash 3d 研究所 yukon12345
(2010-05-21 23:00:39)
额。。说错,是把一个球sphere的个各定点坐标(vertices)赋给各plane。让它们着落成球形。
然后把plane们放到displayObject3D里,让displayObject3D旋转,就一起跟着旋转了。。
但问题是聚焦点错误。。我看了下3d包,是由于plane没有更新自己的x,y,z导致的,求问这是为什么呢?
怎样在displayObject3D旋转时候让附加在它里面的plane的xyz变动呢?


flash 3d 研究所 noxss
(2010-05-22 09:25:21)
var acturalPosOfPlane:Number3D = plane.position.add( father.position );


flash 3d 研究所 yukon12345
(2010-05-22 13:20:50)
楼上: plane们的father.position还是不变啊。因为它只是旋转,并没有变x,y,z



flash 3d 研究所 noxss
(2010-05-23 01:29:07)
理解错您的意思了。。那试试这样吧:
方法1:
var transtorm:Matrix3D = Matrix3D.multiply4x4(plane.transform, father.transform);
var position:Number3D = new Number3D(transtorm.n14, transtorm.n24, transtorm.n34);

方法2:
var position:Number3D = new Number3D(plane.sceneX, plane.sceneY, plane.sceneZ);

没验证过,好久不用PV了,不过思路是这样。。


flash 3d 研究所 yukon12345
(2010-05-23 02:03:05)
谢楼上,我放弃放球体容器里了,直接利用球的空间绝对坐标定位给plane然后orbit镜头。。ok了


flash 3d 研究所 DDM君
(2010-05-23 14:40:02)
可能需要调整一下镜头方向。由于代码不是我负责的,所以也不记得具体要注意些什么了 OTL...


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了