使Camera LookDirection看起来正面
如何在WPF
查看3D
模型的前端?
我很困惑为LookDirection设置XYZ。
我不知道当我设置xyz时会发生什么,我不知道相机在哪里看。 对于UpDirection
我不知道同样的事情。
以下是我的相机属性:
camera.Position = new Point3D(100, 100, 150); camera.LookDirection = new Vector3D(-100, -100, -100); camera.UpDirection = new Vector3D(0, 0, 1);
问题是相机从后面看。 模型显示为下面的立方体。
如何使它看起来正面?
另请解释如何设置xyz。 我知道什么属性做但我无法想象他们。
我认为X是从右到左.Y是深度。 Z是最多的。
想象一下,你在3D空间中移动头脑而不是相机。 然后Camera.Position
指定你的头部所在的位置, Camera.LookDirection
确定你正在看的方向, Camera.UpDirection
显示你头部的方向。 以下图片为您清理了一切。
在第一张图像中,相机以+ Z轴为中心,向下看-Z轴和您的形状:
例如,当将camera.Position
设置为(x = 1,y = 0,z = 10)时,摄像机位置会改变如下:
因此,相机向右移动一点,因此您将在视图的左侧看到您的形状。
现在,如果将camera.LookDirection
更改为说(x = 0,y = 1,z = -1),那么相机只需查看点(0,1,-1),如下所示:
重要编辑:
根据DaveInCaz的评论, LookDirection
与LookAtPoint
不同( LookAtPoint
前属性是Point3D
而不是Vector3D
)。
LookDirection
实际上等于“看点”减去“相机位置” 。
这意味着在上图中,如果我们想要位于(1,0,10)的相机看点(0,1,-1),那么LookDirection
应该是:
(0,1,-1) – (1,0,10)=( – 1,1,-11)。
最后, camera.UpDirection
确定相机顶部指向的位置。 在下图中,将camera.UpDirection
设置为(-0.5,1,0)会导致摄像机逆时针旋转:
我希望这些照片能为你清楚。