如何在Silverlight中获得完美的等距视角?
我想在Silverlight中创建一个3D环境,它必须是等轴测视角。 如果我使用平面投影,我可以使网格类似于等距透视图,但它不是一个完美的等距透视图,因为网格单元不相等。
http://uwconcept.be/projects/uwconceptcity/grid_base_1.jpg
人们必须能够沿着网格“滚动”;即向前,向后,向左和向右移动。您可以将其视为在网格上飞行,但始终保持正确的等距视角。旋转将不会实现(在第一个版本中)。即使它将被实施,旋转也将精确地为90度,以保持等距透视。
编辑:我还注意到,当我尝试在Silverlight中重现透视时,“正常”等距x,y,z坐标不适用。 “正常”转换显示在以下维基百科文章中:http://en.wikipedia.org/wiki/File:Wikipedia_isometric_cube_3.jpg
答案 0 :(得分:1)
SL4内置的3D投影支持可能不足以满足您的需求。它非常有限,通常仅用于旋转简单物体。
但你还有两个选择:
我曾经尝试过一次,只是为了好玩。绘制平坦的景观非常容易,但是一旦你想要支撑斜坡就会变得更加困难。
如果你最终这样做,那么我希望你开源项目,因为你可以用等距3D做很多乐趣: - )
答案 1 :(得分:1)
如果你可以等待SL5发布,它应该有一个3D API。 Silverlight 5 beta宣布于2011年上半年发布(现在应该是任何一天)。最终版本计划于2011年底发布。
我认为SL API应该类似于WPF的3D API。根据我的随意理解,您可以使用OrthographicCamera(包含在WPF中)的正确角度创建等轴投影。