我正在为地板视觉化(从透视的角度看瓷砖地板)工作,并且在镜头前发疯。基本上,我有一个2D矩形(在X&Y轴上),我想把它看作是一层地板(稍后我会“瓦”--类似于棋盘)。问题是,在花了几个小时摆弄LookDirection和位置(在透视相机中)之后,我似乎无法让它直视正方形(就好像在看房间一样)。我改变的任何东西都不能让我看到场景的“头对”(无论是X轴还是Y轴在“后面”),它总是被固定在一个角度上。我不想旋转模型,只有相机。我该怎么做?
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="-40,60,50" LookDirection="0.8,-.7,-0.8" UpDirection="0,0,1" />
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<DirectionalLight Color="White" Direction="-1,-1,-3" />
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D Positions="0,0,0 25,0,0 25,25,0 0,25,0 " TriangleIndices="0 1 3 1 2 3 "/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Red"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</Model3DGroup>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>发布于 2013-11-05 22:35:26
我相信你因为你的LookDirection而陷入了困境。这是一个方向向量,所以有X、Y和Z集合会给您提供偏移量的外观。你是以一个角度,而不是直接指向太空。向前看,将X设置为LookDirection中的0,然后将相机的Position X移动到场景的中心,即12.5 (因为您的方格从0到25)。
<PerspectiveCamera Position="12.5,60,50" LookDirection="0,-.7,-0.8" UpDirection="0,0,1" />这将产生一个“正面对”的观点。根据你所说的,似乎你想离“地板”更近一些,所以我把Position移近了“地板”,减小了LookDirection矢量上的角度,就像这样。
<PerspectiveCamera Position="12.5,50,20" LookDirection="0,-.7,-0.35" UpDirection="0,0,1" />这产生了以下情况。

https://stackoverflow.com/questions/19798168
复制相似问题