严格来说模型本身并没有单位,它有的只是几何变换的数值。
例如我们有一个身高为170厘米的人物模型,模型中并不会存储“厘米”这个单位,只会存储170这个数字。这意味着这个人物到底多高,取决于导入这个模型的3D程序怎么去“解释”这个170。如果3D程序“认为”这个170的单位是厘米,那导入之后就是能看到正确的人物大小;如果3D程序“认为”这个170的单位是米,那就会看到100倍大小的人物。
一般的3D程序中都有设置单位的方法,预先设置单位后,会把所有导入场景的模型的数值都“解释”成这个单位对应的大小。
但有的引擎或者平台没有设置单位这么一说,其实这就是一种相对大小的思想。就是比如说项目启动后,先约定项目中使用的单位是米,那建模软件中导出的人物模型的身高只能是1.7这个量级的数值范围(例如1.2到2.2),而不能是170这个量级的数值范围(例如120到220)。当只有一个物体时,大小并没有很大的意义,而当导入一幢楼房的模型后,这个楼房模型的高度的数值如果是50这个量级的数值范围(例如10到100),那人物和楼房一比对,发现相对大小是和真实世界差不多的,那就没有问题。所有的模型都按这个单位来导出,那项目中所有的物体的相对大小都是正常的。
如果模型导入到场景中后发现与其他物体相比大小不正常,或者因为单位不对而导致在场景根本看不见,可以调整模型物体的缩放来校正单位的错误。例如把原先单位为厘米的人物模型导入到约定了以米为单位的场景中,就需要缩小100倍才能有正确的大小。
文章
5.49K人气
5粉丝
3关注
©Copyrights 2016-2022 杭州易知微科技有限公司 浙ICP备2021017017号-3 浙公网安备33011002011932号
互联网信息服务业务 合字B2-20220090