在做c++ 和directx 编程的时候,我们需要从3dmax 里面导出模型到程序里面,但是不幸的是,他们的坐标并不统一,3dmax使用的生活中的长度单位,如cm mm dm m,但是,我们程序中是不认识这些坐标的,程序中的坐标是,像素,那么他们之间的关系到底是怎么样子的呢,他们是怎么转换的呢??
我在网络上查了好多资料,竟发现没有这方面的内容,只好自己实验,通过在3dmax里边设好坐标单位,建立了几个模型,然后用directx的API,中那些绘图接口,我做了好几次实验,发现:3dmax中的1m*1m*1m的立方体,和directx中的绘制立方体的接口绘制出来的1*1*1的大小相仿,但是并不完全一致,我想这个需要统一一个标准,遗憾的是,现在还没有这个标准,估计做引擎的公司都是自己定的标准,但是,同过我的实验得出的结论是:
使用3dmax建模的文件坐标每一米对应着directx中的一个单位长度,但是,不是完全的相等,只是大致相当!