WEB开发网
开发学院图形图像Flash Flash与3D编程探秘(六)- 全方位旋转摄像机 阅读

Flash与3D编程探秘(六)- 全方位旋转摄像机

 2008-11-12 11:51:10 来源:WEB开发网   
核心提示: 围绕x轴旋转pitch角度:y=Math.cos(pitch)*y_before-Math.sin(pitch)*z_before;z=Math.sin(pitch)*y_before+Math.cos(pitch)*z_before;围绕z轴旋转tilt角度:x=Math.cos(til

围绕x轴旋转pitch角度:

y=Math.cos(pitch)*y_before-Math.sin(pitch)*z_before;

z=Math.sin(pitch)*y_before+Math.cos(pitch)*z_before;

围绕z轴旋转tilt角度:

x=Math.cos(tilt)*x_before-Math.sin(tilt)*y_before;

y=Math.sin(tilt)*x_before+Math.cos(tilt)*y_before;

那么基本的知识已经说完了。总结一下,当你在使用这些方程式操作摄像机全方位旋转的时候,只要取得相应的变量,然后替换在方程里就可以了。是不是看起来有点 难理解?不要担心,适应这些东西是需要花一点时间(特别是这些对你来说还是新课题的话),不过适应以后你应该就觉得很简单了。坦白的说,其实你并不需要知 道到底这些是怎样得来的,你只要知道如何使用它们从而得到想要得结果就可以了(当然完全理解会对你以后的学习有一些帮助)。这些方程你可以写成一个函数,然 后命名它为“给我旋转”方程,当你需要摄像机旋转的时候,只要呼唤“给我旋转”就好了,至于“给我旋转”怎么做的工作,你就不需要担心了。

全方位旋转摄像机 

只说这些理论的东西,你肯定会觉得乏味,那么我举个例子来说明。下面这个程序演示了摄像机的全方位旋转,运行程序你会看到你置身在一个巨大的正方体中,这个正方体是由很多我们的朋友小P组成的,不过这回我们用不同颜色的小P来代表不同的边。使用WS键控制纵向旋转,AD键控制横向旋转,QE控制倾斜角度,鼠标点击屏幕禁止或者允许鼠标移动控制纵向和横向旋转。

全方位旋转摄像机,使用WS纵向旋转,AD横向旋转,QE倾斜角度,鼠标点击禁止或者允许鼠标控制

制作步骤:

1. 首先定义几个常量,MAX_OBJ是我们每条边上的物体数量,CUBE_WIDTH是我们正方体的边长。

上一页  1 2 3 4 5 6 7  下一页

Tags:Flash 编程 探秘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接