- 最后登录
- 2018-6-29
- 注册时间
- 2011-7-1
- 阅读权限
- 20
- 积分
- 359
- 纳金币
- 335582
- 精华
- 0
|
unity3d
导入
3dmax
模型会产生若干问题,按照官方的说明,将
max
模型导成
fbx
文件导入
untiy
似乎也不能解决
1
、
x
轴向偏转
3dmax
模型导入后自动有一个
x
轴
270
度的偏转,巧合的是,在
unity
中旋转模型的时候,你会发现
y
轴参照方向永远朝上,而
x
和
z
轴则以模型本身的局部坐标为准,这样当模型沿
x
轴旋转
270
度之后,
z
轴正好与
y
轴重合,这样你试图用程序控制方向的时候就会发现旋转
y
和旋转
z
效果相同,这显然不是你期望的结果。解决这个问题的方法是,将
.max
文件导出为
.3ds
文件再导入
untiy
,而不是官方说的导成
.fbx
2
、材质问题
模型在
3dmax
里赋予材质之后,不管通过何种方式导入到
unity
中,都是没有材质的,好在
untiy
自动生成了这些材质的材质球,我们需要做的是将贴图再重新设置一遍,如果你的材质还有其他效果,比如
lightmap
,则需要选择正确的
shader
之后再设置贴图。
另外一个是多重材质,多重材质暂时还不知道如何在
unity
中显示,所以在制作模型的之后,应该先确定哪些部件应该合在一起,而哪些需要独立,比如,对于一架直升飞机来说,身体和螺旋桨就可以分为两个部件,而不应该把螺旋桨与发动机合并成一个部件,这样程序就无法旋转螺旋桨了。
3
、缩放因子问题
模型导入到
untiy
中,如果你之前在
3dmax
中没有关心过
“
单位
”
问题,则它在场景里的大小一定会出呼你的意料。
unity
中的
1
单位是
fbx
文件中的
1
单位的
100
倍
所以,如果我们想
unity
中使用
1
单位
=1
米的话,那在
max
和
maya
中制作的时候,单位就设置成
1
厘米
如果我们想
unity
中
1
单位
=100M
,那单位就设置为
1M
如果我们想
unity
中
1
单位
=1
厘米的话,那单位就设置为
0.1
毫米,或者在单位为
1
厘米的情况下把比例因子改为
1
在
max
中,单设置应该像这样
1Unit = 1
厘米,这样在
unity
中
1
格就等
3dmax
中的
1M
了
针对经常出现的问题,将需要注意的点罗列如下
:
1
、物体的头要朝下
2
、所有游戏中的车辆飞机大致都可以分成两个部分,一个是身体,一个是炮台或螺旋桨,那么身体要有一个统一的名称,都叫做
Body
,螺旋桨叫做
Airscrew
,炮台叫做
Barbette
,这样我就可以找到所有的身体,并把爆炸效果的火焰和身体连接起来
3
、模型尺寸比例问题,参考前文所说的设置,另外不管是飞机,还是坦克,尺寸都在
10
米左右(以这个尺寸为基准),也就是
3dmax
里的
10
格大小
4
、模型要在场景中居中,否则导入物体质心位置不对
5
、起名字可以起这个武器的实际名称,如果不知道的话,也可以叫做
Tank1
,
Tank2
这样,但最重要的是贴图名字和模型名字要相同,否则很乱
|
|