【发布时间】:2011-03-06 12:56:22
【问题描述】:
我正在 Flash 中进行简单的 3D 转换来旋转东西,但我得到了扭曲。我可以向左、向右、向上、向下旋转,但不能对角旋转,因为它完全扭曲了我的脸(我画的脸)。
我认为我无法以某种方式移动相机,但我没有足够的经验来理解我的错误。
这是文件:http://www.2shared.com/video/J7ahd6VG/final.html
示例:当面部围绕 y 轴(垂直于屏幕)旋转约 45°,然后围绕 x 轴旋转时,感觉没有透视感对……脸太窄了。
我所做的是将它们之间的旋转矩阵相乘(提供角度的鼠标位置)得到变换点,将它们投影到屏幕上并用它们绘制框。
我使用本教程开始:http://bgstaal.net/blog/?p=57
有人遇到过类似的问题吗?
【问题讨论】:
-
没关系,我找到了解决办法:在操作矩阵时不要直接修改变量(例如:p.x = a[0]*p.x+a[1 ]*p.y+p.u*a[2]),否则第一个之后的所有后续值都是错误的。
-
+1,我喜欢这个解决方案 :) 另外,如果你真的找到了解决问题的方法,我认为你可以回答你自己的问题并接受那个问题。
-
@Solenoid 我同意你应该接受你自己的答案。否则会误导路人。 PS 恭喜你自己找到了答案!