Version: 5.3
Art Asset Best Practice Guide
FBX 익스포트 가이드

How do I import Models from my 3D app?

To import a 3D model into Unity you can drag a file into the project window.

In the inspector > Model tab Unity supports importing models from most popular 3D applications.

For pages on importing specifically from 3D packages see these pages:

텍스처

  • Store textures in a folder called Textures next to the exported mesh within your unity project. This will enable Unity to find the Texture and automatically connect the Texture to the generated Material. For more information, see the Textures reference.

3D formats

Importing meshes into Unity can be achieved from two main types of files:

  1. Exported 3D file formats, such as .FBX or .OBJ
  2. Proprietary 3D application files, such as .Max and .Blend file formats from 3D Studio Max or Blender for example.

Either should enable you to get your meshes into Unity, but there are considerations as to which type you choose:

익스포트된 3D 파일

Unity can read .FBX, .dae (Collada), .3DS, .dxf and .obj files, FBX exporters can be found here and obj or Collada exporters can also be found for many applications

장점:

  • 필요한 데이터만 익스포트
  • Verifiable data (re-import into 3D package before Unity)
  • 일반적으로 작은 파일
  • Encourages modular approach - e.g different components for collision types or interactivity
  • Supports other 3D packages whose Proprietary formats we don’t have direct support for

단점:

  • Can be a slower pipeline for prototyping and iterations
  • Easier to lose track of versions between source(working file) and game data (exported FBX for example)

3D 애플리케이션 전용 파일

Unity can also import, through conversion: Max, Maya, Blender, Cinema4D, Modo, Lightwave & Cheetah3D files, e.g. .MAX, .MB, .MA etc.

장점:

  • Quick iteration process (save the source file and Unity reimports)
  • 초반에는 간단함

단점:

  • Unity 프로젝트를 사용하여 모든 컴퓨터에 해당 소프트웨어의 라이선스 사본을 설치해야 함
  • 불필요한 데이터로 인해 파일 용량이 커질 수 있음
  • 용량이 큰 파일로 인해 Unity 업데이트가 느려질 수 있음
  • Less validation, so it is harder to troubleshoot problems

Models

Model files that are placed in the Assets folder in your Unity project are automatically imported and stored as Unity assets.

A model file may contain a 3D model, such as a character, a building, or a piece of furniture. The model is imported as multiple assets. In the Project view the main imported object is a Model Prefab. Usually there are also up to several Mesh objects that are referenced by the Model Prefab.

A model file may also contain animation data which can be used to animate this model or other models. The animation data is imported as one or more Animation Clips.

A Mesh Filter together with Mesh Renderer makes the model appear on screen.
A Mesh Filter together with Mesh Renderer makes the model appear on screen.

Import settings for Meshes

The Import Settings for a model file will be displayed in the Model tab of the FBX importer inspector when the model is selected. These affect the mesh, it’s normals and imported materials. Settings are applied per asset on disk so if you need assets with different settings make (and rename accordingly) a duplicate file.

Although defaults can suffice initially, it is worth studying the settings glossary below, as they can determine what you wish to do with the game object.

Some general adjustments to be made for example might be:

  • Scale - this scale factor is used for compensating difference in units between Unity and 3d modeling tool - it rescales whole file. Normally you can simply set it to 1. Note that Unity’s Physics Engine is scaled as 1 unit equals 1 metre. It is important that if you want to have correct physical behaviour you should have the model correctly scaled in the original modeling application. If this cannot be done, or you do not have control over the modification of the mesh, the scale of the model can be adjusted here.
  • Generate colliders - this will generate a collison mesh to allow your model to collide with other objects.
  • Material Naming and Search - this will help you automatically setup your materials and locate textures
FBX Importer Inspector: Model tab
FBX Importer Inspector: Model tab
프로퍼티: 기능:
Meshes
Scale Factor Unity’s physics system expects 1 meter in the game world to be 1 unit in the imported file. If you prefer to model at a different scale then you can compensate for it here. Defaults for different 3D packages are as follows .fbx, .max, .jas, .c4d = 0.01, .mb, .ma, .lxo, .dxf, .blend, .dae = 1 .3ds = 0.1
Mesh Compression Increasing this value will reduce the file size of the mesh, but might introduce irregularities. It’s best to turn it up as high as possible without the mesh looking too different from the uncompressed version. This is useful for optimizing game size.
Read/Write Enabled Enables the mesh to be written at runtime so you can modify the data; it makes a copy in memory. When this option is turned off, it saves memory since Unity can unload a copy of mesh data in the game. However, if you are scaling or instantiating meshes at runtime with a non-uniform scale, you may have to enable “Read/Write Enabled” in their import settings. The reason is that non-uniform scaling requires the mesh data to be kept in memory. Normally this is detected at build time, but when meshes are scaled or instantiated at runtime you need to set this manually. Otherwise they might not be rendered in game builds correctly. The same applies if you need to create MeshColliders at runtime.
Optimize Mesh This option determines the order in which triangles will be listed in the mesh.
Import Blendshapes This option allows BlendShapes to be imported with your mesh.
Generate Colliders If this is enabled, your meshes will be imported with Mesh Colliders automatically attached. This is useful for quickly generating a collision mesh for environment geometry, but should be avoided for geometry you will be moving.
Swap UVs Use this if lightmapped objects pick up the wrong UV channels. This will swap your primary and secondary UV channels.
Generate Lightmap UVs Use this to create the second UV channel to be used for Lightmapping. See Lightmapping document.
Normals & Tangents
Normals 노멀을 계산해야 하는지 여부와 그 방법을 정의합니다. 게임 크기 최적화에 유용합니다.
Import 기본값입니다. 파일에서 노멀을 임포트합니다.
Calculate Smoothing Angle 을 기준으로 노멀을 계산합니다. 선택하면 Smoothing Angle 이 활성화됩니다.
None Disables normals. Use this option if the mesh is neither normal mapped nor affected by realtime lighting.
Tangents 탄젠트 및 바이노멀이 어떻게 계산되야 하는지 정의합니다. 게임 크기 최적화에 유용합니다.
Import 파일에서 탄젠트 및 바이노멀을 임포트합니다. 이 옵션은 FBX, Maya, 3dsMax 파일 및 노멀을 파일에서 임포트했을 때만 사용할 수 있습니다.
Calculate 디폴트 옵션입니다. 탄젠트 및 바이노멀을 계산합니다. 이 옵션은 노멀을 임포트하거나 계산할 때만 사용할 수 있습니다.
None Disables tangents and binormals. The mesh will have no Tangents, so won’t work with normal-mapped shaders.
Smoothing Angle 가장자리 각도의 날카로움 정도를 결정하는 기준 값을 설정합니다. 노멀 맵 탄젠트를 분할할 때에도 사용됩니다.
Split Tangents Enable this if normal map lighting is broken by seams on your mesh. This usually only applies to characters.
Materials
Import Materials Disable this if you don’t want materials to be generated. Default-Diffuse material will be used instead.
Material Naming Controls how Unity materials are named:
By Base Texture Name The name of the diffuse texture of the imported material that will be used to name the material in Unity. When a diffuse texture is not assigned to the material, Unity will use the name of the imported material.
From Model’s Material The name of the imported material will be used for naming the Unity material.
Model Name + Model’s Material The name of the model file in combination with the name of the imported material will be used for naming the Unity material.
Material Search Controls where Unity will try to locate existing materials using the name defined by the Material Naming option:
Local Unity will try to find existing materials only in the “local” Materials folder, ie, the Materials subfolder which is the same folder as the model file.
Recursive-Up Unity will try to find existing materials in all Materials subfolders in all parent folders up to the Assets folder.
Everywhere Unity will try to find existing materials in all Unity project folders.

참고 항목

Art Asset Best Practice Guide
FBX 익스포트 가이드