1. 首页 > 笙耀百科 >

unity单位_unity单位设置

unity导出时要如何导出自己设置的比例

一、比例问题的产生原因

unity单位_unity单位设置unity单位_unity单位设置


简而言之:在默认情况下U3D系统的一个单位(1unit)等于1米,而在3dax中默认的单位是inch,因此产生了上述的比例问题。下面的引用来自unity论坛:

By default, the units in Unity are meters. So the default size for terrains is 1000m x 1000m, with a max height of 600m. You can change this in the Terrain->Set Resolution menu.

The default settings for grity, and audio dopplar also reflect the default 1 unit = 1m.

This means that if you want to use the units as some other distance (eg, inches, feet, miles, or whatever), as well as importing models scaled to this new size, you'll also need to adjust the grity and dopplar settings accordingly so that they produce sensible results for your new world scale.

知道了比例问题产生的原因,接下来就要想办法来解决。

二、解决办法

解决方法有两个方面,一种是在unity中调整模型的Scale Factor;另一种是在3dax导出的时候按照unity的单位导出。下面分别进行介绍:

(1)在unity中进行调整

模型由3dax按照inch的系统单位导出成FBX格式的文件,导出的模型一个单位代表一个inch。unity每个单位代表1米,而unity导入FBX模型是以厘米为小单位的,因此需要对模型进行一定比例的放大作。放例应该设为多少呢?先做一个实验:

在max中创建一个11的plane,并把参数设置成:

导出fbx文件时注意把单位设置成厘米(cm):

将fbx文件导入unity后,把Insepector面板里的Scale Factor设为1,即放大100倍。下图左侧是一个11的terrain(一平方米),右侧就是放大100倍后的plane。可以看出来plane的边长大概是terrain的2.5倍,也就是2.5米左右。可以来计算一下:max中一个1inch 1inch的plane,其实也就是2.54cm 2.54cm ——> 以cm为单位导出成fbx文件 ——> 导入unity后放大100倍,变成2.54米 2.54米(2.54个单位)的plane。看来这个流程应该是正确的。

总结——在unity中调整放例:

1、如果模型以厘米为单位从max中导出,则导入unity放大100倍可以得到想要的结果。

2、如果模型以inch为单位(默认情况下)从max中导出,则导入unity后需放大254倍。1inch 2.54 –> 2.54cm –> 乘以100倍得到结果

关于unity3d中单位的问题

力单位是N,可以用刚体自己测试,把物体重量设为1,然后给刚体AddForce,y轴向上9.8,物体会停在空中,可见默认重力是9.8,虽然依然不确定力的单位,但是不多能推断出力的单位是N,而且unity3D是基于物理引擎的,那么单位也应该和现实世界一样。。。

关于unity3d中世界的基本单位?

localPosition是指相对于父物置的偏移值worldPosition是在整个场景中的真实位置在没有父物体时,localPostion就是worldPositon就像你使用世界地图和导航仪一样 世界地图使用的是经纬度(世界坐标position),而导航仪会以你为起点告诉你目标与你的距离和方向(以父级为坐标轴的本地坐标localposition)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息