天天看点

好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果

好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果

效果呢就是这么个效果,但是大家要发挥想象力,比如做成一个可以旋转的按钮等等。

定义一个这样的资源就好。

关键是在grid里放这么一个东西:

正面:

右侧:

大家对比上面这两个就知道正面的镂空是怎么来的了……

左侧:

后方:

大家先不管meshgeometry3d这些东西是做什么的,后面我尽量简单快速的讲解它们。

所以先来看看程序的内部。

像这种程序肯定会涉及到计时器的,就是dt_tick方法。我将它设置为每次都转动1度,而下面这一行则是间隔的时间。

其余的每个方法都用于调节角度,可以看到在正面时会将角度重置一次。

所以接下来看看positions是什么意思。

好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果

原谅我把正方体画歪了,图中另外用箭头指出了“正面”、“右侧”等。

大家看看positions中都是3个数字一组对吧,这就是一个点,我在图中已经标识出来了。而triangleindices中也是3个数字一组,这3个数字指示了positions中的组合索引(从0开始索引),然后3个数字组成三角形,如图中箭头所指向的。

而texturecoordinates是wpf的3d纹理坐标,这里就不深究的,后面可以深入探讨写一篇博客。

大家也可以拿源码回去慢慢弄着玩嘛……

所以这篇博客就到此为止咯。掰掰……