[Aaronyang] 写给自己的WPF4.5 笔记20 [3d课 1/4]
假设你是高中毕业的,ok,数学知识几何知识中,我们学过 x,y,z 3个轴然后就可以画出形状了。
1. 新建空白窗体,grid换成canvas,然后新增一个Viewport3D元素
3d中显示的元素是无数个三角形组成的,比如正方体也是三角形组成的。我们来看下 MeshGeometry3D
Positions和TriangleIndices当然还有其他属性。Positions定义一系列3维坐标(x,y,z),TriangleIndices描述了怎么个点顺序,这两个好比StringFormat,Positions对应值,TriangleIndices对应位置
例如<MeshGeometry3D Positions="-1,0,0 0,1,0 1,0,0" TriangleIndices="0,2,1"/>表示从点(-1,0,0)到(1,0,0) 再到(0,1,0),好,你看懂了,还有个细节,三角形的出点顺序必须是逆时针的。
所以3维的空间中,调整z轴,就可以从远到近,从近到远。
Material材质,不同的材质,就会不同的 光源 的反射效果
除了前面材质,还有BackMaterial后面看的材质,如果不设置,则3d从后面看是什么也看不见的。
材质类提供了3种Material和一个Material组,Diffuse是创建平滑的无光泽表面,在各个方向上均匀地散射光线。
Specular是创建有光泽的、高亮度的外观,例如玻璃和金属,直接反向反射光线。
Emissive创建发光的外观,产生自己的光线(尽管这些光线不能从场景中的其他对象反射回来)
MaterialGroup组合多种材质,按照添加顺序叠加材质。
OK,到目前位置,界面上还是什么都看不见,我们还需要 光源和摄像机
光源
灯光位置,类型,方向,灯光强度来照亮对象。
灯光类
www.ayjs.net
内容已经迁移到:http://www.ayjs.net/2015/03/60/
关于摄像机调节的话,在Blend5中有个摄影轨迹
=============潇洒的版权线==========www.ayjs.net===== Aaronyang ========= AY =========== 安徽 六安 杨洋 ========== 未经允许不许转载 =========
-------------------小小的推荐,作者的肯定,读者的支持。推不推荐不重要,重要的是希望大家能把WPF推广出去,别让这么好的技术消失了,求求了,让我们为WPF技术做一份贡献。-----------------