XNA记录一下

想不到自己会去搞c#,XNA,3D,这都没接触过的东西。零散散看了一些网上的教材,感觉还是看书来得实在;那么就先记录下来,待买过书阅读后,再来重温修正这里的文字。

 

想象一下空间,就是我们存在的3D空间,想象某一点就是的定义的原点(0,0,0)Vector3.Zero,我们要观察的物体在(x,y,z),我们的摄像机camera在(x1,y1,z1),那么想要我们的物体在摄像机里旋转,很直观的有2种方法,要么转动物体,要么转动摄像机;那么要怎么转呢?

这里有个概念,就是matrix矩阵,是一个工具,我们用它来保存信息位置,方向,角度。这里有3个matrix,world,view,projection;

 

 

1. world 就是物体在世界坐标中的位置方位,就是个个顶点相对原点的偏移的集合

2. view 就是我们观察物体近切面和远切面之间的锥形空间

3. projection ,可以想象成就是我们的屏幕,是view 锥形空间在屏幕的投影

 

转动物体就是改变world,转动物体后个个顶点的坐标肯定要变。

转动相机,就是改变view,很灵活哦,相机在3维空间的移动,实际就是计算相机在空间里的运动轨迹,立体几何知识啦

 

一个XNA程序分几个阶段

初始化,加载素材,更新,绘画,卸载。

 

有关逻辑放到Update里去,而Draw里要尽量只放有关绘图的代码

 

当然可能有误,待日后修正

 

用照相机进行拍摄的步骤:

 

1. 把相机固定在三脚架上,并让它对准场景(视图变换)

2. 对场景进行安排, 使物体在照片中的位置是我们所希望的(模型变换)

3. 选择相机镜头,并调整放大倍数(投影变换)

4. 确定最终照片的大小。例如我们很可能需要把它放大(视口变换)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值