Unity 에셋 워크플로우 가이드
이 문서에서는 Unity 에셋 워크플로우에 대해 설명하고 다양한 에셋 타입 및 해당 타입들이 지원하는 임포터에 대해 소개합니다. 특히, 빌트인 임포터와 사용자 정의 스크립트 임포터의 차이점과 활용 방법을 설명합니다.
빌트인 임포터
Unity는 다양한 에셋 파일 유형을 지원하기 위해 여러 가지 빌트인 임포터를 제공합니다. 이들 임포터는 Unity 에디터의 네이티브 코드로 구현되어 있으며, 주로 3D 모델, 텍스처, 오디오 파일 등 기본 에셋 타입에 대한 임포트 기능을 제공합니다.
임포터 파일 포맷
| 임포터 | 파일 포맷 |
|---|---|
| AssemblyDefinitionImporter | asmdef |
| AssemblyDefinitionReferenceImporter | asmref |
| AudioImporter | ogg, aif, aiff, flac, wav, mp3, mod, it, s3m, xm |
| ComputeShaderImporter | rsp, unity |
| FBXImporter | fbx, mb, ma, max, jas, dae, dxf, obj, c4d, blend, lxo |
| IHVImageFormatImporter | astc, dds, ktx, pvr |
| LocalizationImporter | po |
| Mesh3DSImporter | 3ds |
| NativeFormatImporter | anim, animset, asset, blendtree, buildreport, colors, controller, cubemap, curves, gradient, spriteatlas, texture2D |
| PluginImporter | dll, winmd, so, jar, java, kt, aar, suprx, prx, rpl, cpp, cc, c, h, jslib, jspre, a, m, mm, swift, xib, bundle, dylib, config |
| PrefabImporter | prefab |
| RayTracingShaderImporter | raytraceShaderImportercginc, cg, glslinc, hlsl, shader |
| SpeedTreeImporters | pm, st |
| SubstanceImporter | .sbsar |
| TextScriptImporter | txt, html, htm, xml, json, csv, yaml, bytes, fnt, manifest, md, js, boo |
| TextureImporter | jpg, jpeg, tif, tiff, tga, gif, png, psd, bmp, iff, pict, pic, pct, exr, hdr |
| TrueTypeFontImporter | ttf, dfont, otf, ttc |
| VideoClipImporter | avi, asf, wmv, mov, dv, mp4, m4v, mpg, mpeg, ogv, vp8, webm |
| VisualEffectImporter | vfx, vfxoperator, vfxblock |
스크립트된 임포터
스크립트된 임포터는 Unity에서 기본적으로 지원하지 않는 포맷에 대한 커스텀 임포터를 작성할 수 있는 기능을 제공합니다. Unity는 본래 에셋을 네이티브 임포터로 먼저 임포트한 뒤, 필요한 경우 스크립트된 임포터를 사용하여 추가적인 에셋 포맷을 임포트합니다.
지원되는 에셋 타입 - 스크립트된 임포터
| 임포터 | 파일 포맷 |
|---|---|
| StyleSheetImporter | .uss |
| UIElementsViewImporter | .uxml |
활용 예제
- 3D 모델 임포트: FBX 파일 형식의 3D 모델을 Unity 프로젝트에 임포트하여 게임 오브젝트로 사용합니다.
- 오디오 파일 임포트: 다양한 형식의 오디오 파일을 Unity에 임포트하여 비디오 게임의 효과음 및 배경음악으로 사용할 수 있습니다.
- 커스텀 에셋 타입 추가: 스크립트된 임포터를 생성하여 애니메이션 데이터와 같은 사용자 정의 파일 포맷을 Unity에서 사용할 수 있도록 구현할 수 있습니다.
결론
Unity에서 에셋 임포트는 프로젝트의 품질과 효율성을 크게 향상시킵니다. 다양한 빌트인 임포터를 활용하고, 필요에 따라 스크립트된 임포터를 활용함으로써 유연한 에셋 관리 및 활용이 가능합니다. Unity의 이러한 기능들을 적절히 사용하여 게임 개발 시 더욱 효과적으로 작업할 수 있습니다.