【发布时间】:2012-12-07 20:56:36
【问题描述】:
我遇到在 3D 世界中将相机移动到物体后面时遇到困难。我会创建两种视图模式。
1:用于 fps(第一人称)。 第二:人物背后的外景(第二人称)。
我在网上搜索了一些示例,但它在我的项目中不起作用。
这是我的代码,用于在按下 F2 时更改视图
//Camera
double X1 = this.camera.PositionX;
double X2 = this.player.Position.X;
double Z1 = this.camera.PositionZ;
double Z2 = this.player.Position.Z;
//Verify that the user must not let the press F2
if (!this.camera.IsF2TurnedInBoucle)
{
// If the view mode is the second person
if (this.camera.ViewCamera_type == CameraSimples.ChangeView.SecondPerson)
{
this.camera.ViewCamera_type = CameraSimples.ChangeView.firstPerson;
//Calcul position - ?? Here my problem
double direction = Math.Atan2(X2 - X1, Z2 - Z1) * 180.0 / 3.14159265;
//Calcul angle - ?? Here my problem
this.camera.position = ..
this.camera.rotation = ..
this.camera.MouseRadian_LeftrightRot = (float)direction;
}
//IF mode view is first person
else
{
//....
【问题讨论】: