Unity3d模型导入都需要注意哪些事项?

2020-07-03 10:27发布

5条回答
老刘头 -一条徜徉在三维世界中的老鱼
1楼 · 2020-07-03 12:10.采纳回答

Unity3d模型导入技巧

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、起名字可以起这个武器的实际名称,如果不知道的话,也可以叫做Tankl,Tank2 这样,但最重要的是贴图名字和模型名字要相同,否则很乱。


1.所有的模型在原点创建,没有具体的特定要求下,需要以物体对象中心为轴心;

2.模型面数:移动端(300-1500个多边形达到比较好的效果)PC端(1500-4000比较适宜)正常的单个物体最好控制在1000面以下,所有的物体面数不超过20000个三角面;

3.模型单位:在建模型之前设定好单位,在unity3d中用到的单位设置必须要一样,模型和模型之间的比例要正确,和程序导入的单位要一致,如果到程序中单位需要缩放也尽可能统一调整缩放比例,统一单位为米;

4.模型使用的材质,首先在3dMax和Maya中,不是所有的材质在Unity3d中都可以支持使用,只有Standard(标准材质)和Multi/Sub-Object(多维/子物体材质)被Unity3d软件所支持。

5.模型贴图格式和尺寸:常用的图片格式是.tga和.png(带透明通道)、不带通道为.jpg,贴图的尺寸最好为2的N次方,最大的贴图尺寸不能超过1024X1024,当然特定的要求,尺寸可以根据具体的需求而定。

6.贴图命名不要有中文字命名,并且不能有重名;

7.材质命名和物体名称最好保持一致,易于整理,材质球的父子层级的命名尽可能一致;

8.带Alpha通道贴图图片格式最好为tga和png格式,在命名可以加_al加以区分。


Transform
3楼 · 2020-07-05 01:05
  1. 模型需要是.fbx格式。

  2. 注意导入模型的比例,3DMax或者MAYA模型的基本单位和Unity不同,导出的时候需要注意。

  3. 轴向问题,Unity是Y轴向上,3DMax是Z轴向上。导出注意调整轴向。

蜗牛
4楼 · 2020-07-06 13:55

1、x轴向偏转

3dmax模型导入后自动有一个x轴270度的偏转,巧合的是,在unity中旋转模型的时候,你会发现y轴参照方向永远朝上,而x和z轴则以模型本身的局部坐标为准,这样当模型沿x轴旋转270度之后,z轴正好与y轴重合,这样你试图用程序控制方向的时候就会发现旋转y和旋转z效果相同,这显然不是你期望的结果。

2、材质问题

模型在3dmax里赋予材质之后,不管通过何种方式导入到unity中,都是没有材质的,好在untiy自动生成了这些材质的材质球,我们需要做的是将贴图再重新设置一遍。

另外一个是多重材质,多重材质暂时还不知道如何在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


小狮子
5楼 · 2021-04-08 15:16

模型的类型必须是.fbx  材质  模型大小等等

相关问题推荐

  • 回答 6

    第一步:对着Assets点击右键,选择ExportPackage第二步:选择场景文件以及和场景相关的资源或者素材,然后点击Export第三步:给导出的资源取名,并且选择要保存的位置即可

  • 回答 87
    已采纳

    玩游戏玩的很好,说明你对于游戏里面的规则、剧情设置还是比较了解的,对于从事游戏相关岗位来说也是优势之一。但是学习游戏开发还是要对游戏开发的工作内容做进一步的了解,游戏开发涉及代码较多,可以通过进一步的了解,判断自己是否适合学习这个方向,另外...

  • 回答 18

    个人觉得如果有一定的技术基础的话还是可以考虑自学,如果零基础的话可能会有些难度

  • 回答 11

    游戏开发入门不难。后期发展需要你有丰富的奇思妙想。游戏开发肯定是培训好,自学学得不系统,并且不易发现自身薄弱之处。游戏开发的学习时长还是要看你自己对知识与技术的掌握能力,一般来说,游戏开发的学习时长大约在五个月左右。...

  • 回答 10

    问题还是出在粒子的sorting fudge。在unity的2d模式下,游戏本身的背景相当于是sorting fudge的0,当你把粒子的sorting fudge设为0以上的时候,粒子就都会被背景盖住。所以在3d模式下给alpha正值来给add垫底的话,到了2d模式下就会通通不显示。所以遇上这样的...

  • 回答 17

    虚幻4引擎,你会看到和平精英加载页面左下角有这个图标。

  • 回答 8
    已采纳

    转载知乎上的两位答友的回答,各有道理。作者:风小锐链接:https://www.zhihu.com/question/322249959/answer/675883379来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。未来Unity有可能出现3A大作吗? 有可能。基于Unity已...

  • 回答 11

    在Assets文件夹里面.点击右键Create/Material即可以创建材质球

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 18

    粒子系统由粒子发射器、粒子动画器和粒子渲染器三部分组成,主要用于游戏场景中一些特殊效果,如水、烟火等等

  • 回答 18

    首先,Python开发游戏非常尴尬,原因是没有好用的游戏开发库。Python开发游戏仅推荐PyGame,PyGame是对多年以前很流行的游戏开发库——SDL的封装。但是说实话功能太简陋了,做个动画都得考虑刷新的问题。楼主要做简单小游戏,只需要画一两周熟悉Unity引擎,然...

  • 回答 9

    1.标记水体碰撞的位置2.计算水波的传递 通过波动公式,3D或者2D 波动公式都行3.水面顶点采样波动传递结果计算结果做顶点Y轴偏移

  • 回答 15

    Unity3D中两种阴影的实现传统的ShadowMapShadowMap说起来十分简单,把摄像机和光源的位置重叠,那么场景中该光源的阴影区域就是那些摄像机看不到的地方,主要应用在前向渲染路径中。具体实现分以下几个步骤:如果有平行光开启了阴影,Unity就会为该光源计算它...

  • 回答 18

    Doozy UI是Unity UI视图层的框架,本身使用的还是UGUI的组件,但提供了一套强大的UI管理功能,可以很方便的实现一些炫酷效果,方便的UI系统管理与事件传递机制。

  • 回答 12

    Unity3d更好,因为U3D占有的市场更大,目前cocos大都是用来开发棋牌游戏的,在这方面它有着巨大的优势。而Unity3d既可以用来开发大型3D游戏,也可以用来开发vr游戏、vr应用,这是比较不错的,未来有着巨大的前景。另外ue4也是个不错的选择,近年来用ue4开发的...

  • 回答 11

    当Unity 需要做热更新的时候(2013年开始),而普通的C#又做不到的时候,而对于游戏行业来说Lua脚本热更新已经是很成熟的方案,自然Lua 热更新就成为了Unity热更新的首选。

没有解决我的问题,去提问