|
发表于 2010-6-11 00:32:00
|
显示全部楼层
Re:3D RPG游戏中 camera对着人物旋转问题
首先,你犯了个数学错误。
你的摄像机在(0,0,100),向下15度,那么跟平面的交点只能是(0,0,100)了。?
应该改为摄像机在(0,100,0),向下15度,交点为(0,0,373.2)。
- 变量部分:
- float r=373.2f;//大致等于100/tan(15)
- float camera_angle=0.0f;
- float target_x=0.0f,target_y=0.0f,target_z=373.2f;
- float camera_x,camera_y=100.0f,camera_z;
- 渲染部分:
- camera_angle+=time*60.0f;
- camera_x=r*cos(camera_angle)+target_x;
- camera_z=r*sin(camera_angle)+target_z;
- gluLookAt(
- camera_x,camera_y,camera_z,
- target_x,target_y,target_z,
- 0,1,0);
- 然后渲染物体
复制代码
谢谢我吧。 |
|