![]() |
DDM君 (2009-04-22 18:42:47) |
虽然还是没太看懂您想要完成什么功能。但camera.rotationZ就是camera的本地坐标吗?或者自己声明一个rz来记录旋转? |
![]() |
wusaki (2009-04-22 22:27:39) |
谢谢DDM君 问题已经解决了! |
![]() |
wusaki (2009-04-23 01:40:33) |
http://www.wusaki.cn/cao.html 机子动不了了,所以就做到这个程度........................ 真抱歉 个人相册 |
![]() |
wusaki (2009-04-23 01:53:33) |
camera.rotationZ 的确是本地坐标 但是和 roll 表示有一定区别, 不过本人偷懒做了点点不正规的方法 说明菜单下方的罗盘就是今天想问的事情了! |
![]() |
DDM君 (2009-04-23 07:57:12) |
做得真的很不错呢,应用的很灵活,哈哈。二维手绘作品也很棒! 看懂您的罗盘了,呵呵。用什么办法解决的呢? |
![]() |
wusaki (2009-04-23 12:03:57) |
所谓不正规的方法是一个特殊的修正方法 因为本身图片排列是根据X、Y轴画圆,Z轴递增的轨迹排列下去的,于是仔细想想 镜头的旋转角度=(镜头Z轴坐标%轨迹走一圈Z轴递增的量)/轨迹走一圈Z轴递增的量 * 360 + 修正值 ; 这里的修正值是因为键盘左右有控制镜头旋转,在使用FLabCamer3D的. tweenTo()和.resetToZero()方法时修正值清零,那么理论上罗盘是准确的了。 罗盘的作用其实也是提供一个修正值,人在3D世界中非常容易迷失方向,所以开发罗盘最终是为了提供修正值,用于对现在镜头所见到的位置进行准确的上下左右移动。(但是现在还没研究出算法。) PS: 我在用 tweenTo方法的时候觉得有点奇怪,有时候镜头去到想要的plane的时候,忽然会“挂歪”了,不知道为什么。 |
![]() |
DDM君 (2009-04-23 15:37:40) |
非常聪明的办法呢,用的很灵活,不错很有智慧! ‘歪’是因小数宽容度的问题=_=,我以为我们最新的flab包已经解决这问题了呢,呵呵我们有空会再看看。 |
![]() |
wusaki (2009-04-24 01:07:20) |
那么 小数宽容度应该怎么解决? |
![]() |
DDM君 (2009-04-24 09:51:14) |
我当时也没怎么注意这个问题,叫kevin君有空帮你看看^=^ 目前可以调调第三个参数due,和最后一个参数slerp,应该能暂时解决。 |
![]() |
wusaki (2009-04-24 12:06:49) |
修改了一下slerp插值 不过貌似越修改越糟糕…… |
![]() |
wusaki (2009-04-24 12:21:54) |
谢谢 调好了 , 我一直以为slerp插值要调比0.2小 但是后来发现原来调比0.5大就行了! |
![]() |
DDM君 (2009-04-24 22:03:32) |
呵呵,好样儿的!!加油 |
|
|