4. Asset Import and Creation - 에셋 불러오기와 생성하기

Unity3D 2012. 6. 19. 11:39
반응형

Asset Import and Creation

에셋파일을 프로젝트에 추가하기 위해서는 프로젝트 폴더안에 Assets폴더로 옮기기만 하면 된다. 그러면 유니티에서 자동으로 불러와진다. 업데이트된 파일을 다시 저장을 하여도 유니티에서 인식하고 다시 불러올 것이다.

Hints

큰 프로젝트에서 작업할때나 모든 에셋을 조직화하거나 프로젝트뷰에서 쉽게 검색하기 위해서는 에셋에 항상 레이블을 추가하는게 좋다.

프로젝트 폴더를 백업할때는 항상 Library폴더와 Assets폴더를 백업하라. Library폴더는 모든 메타 데이터와 오브젝트간의 연결을 포함하고 있다.

프로젝트 뷰 안에서 핵심컨텐츠를 이동하고 이름을 변경하라. 아무것도 부서지지 않을것이다.

결코 파인더(탐색기)나 다른 프로그램으로부터 어떠한 것도 이동하거나 이름을 변경하지 마라. 모든게 부서질 것이다. 짧게 말해서, 유니티는 에셋마다 많은 메타 데이터(불러오기 셋팅, 텍스처 압축 버전 등)를 저장하는데 외부에서 파일을 이동하면 더이상 사용할 수 없게 된다.

Asset Types

        Mesh Files & Animations

        Texture Files

        Sound Files

Mesh Files & Animaitions

유니티에서 지원하는 3D 어플리케이션의 리스트는 다음을 참고하라.

불러오려는 메쉬파일이 애니메이션을 포함할 필요는 없다. 만약 애니메이션을 사용할 경우, 하나의 파일에서 모든 애니메이션을 불러오거나, 애니메이션마다 분리된 파일에서 불러오도록 선택할 수 있다. 애니메이션을 불러오는 것에 대해서는 Animation Import 페이지를 참고하라.

Textures

유니티는 모든 종류의 이미지 포맷을 지원한다. 심지어는 레이어로 구분된 포토샵 파일도 완벽하게 불러온다.

텍스처의 해상도는 2의 제곱승(예, 32x32, 64x64, 128x128, 256x256 등)으로 만들어져야 한다.

텍스처를 불러오면, 당신은 그것을 재질(Material)에 할당해야 한다. 재질은 메쉬, 파티클 시스템 또는 GUI 텍스처에 적용될 수 있다. 불러오기 설정(Import Settings)을 이용하면 게임에서 서로 다른 타입의 어플리케이션을 위해서 큐브맵이나 노멀맵으로 변환활 수 있다.

텍스처 불러오기에 대한 더 많은 정보는 Texture Component page를 참고하라.

Sounds

유니티에서는 무압축 오디오와 Ogg Vorbis의 2가지 타입을 지원한다. 당신이 프로젝트에 불러오는 어떤 타입의 오디오 파일들이라도 이 두가지 중에 하나로 변환이 될 것이다.

변환 형식

        .AIFF - 무압축 오디오로 변환. 짧은 효과음에 최적.

        .WAV - 무압축 오디오로 변환. 짧은 효과음에 최적.

        .MP3 - Ogg Vorbis로 변환. 긴 배경음에 최적.

        .OGG - 압축 오디오 포맷. 긴 배경음에 최적.

Meshes

어떤 3D 게임이든지 그 핵심에는 메쉬(텍스처가 적용되고 삼각형으로 구성된 물체)가 있다.

유니티에서 메쉬들은 renderer 컴포넌트와 함께 렌더링된다. 비록 다양한 변화를 줄수는 없지만 Mesh Renderer는 가장 공통적으로 사용이 된다.

        렌더러는 게임오브젝트의 위치에 메쉬를 출력한다.

        메쉬의 형태는 렌더러의 재질을 통해 제어된다.

유니티에서 메쉬를 만들진 못한다. 그러나 다른 어플리케이션은 가능하다.

각각의 프로그램에서 메쉬를 불러오는 방법은 아래의 페이지를 참고하라.

        Maya

Cinema 4D

3DS Max

Cheetah3D

Modo

Lightwave

Blender

하얀뱀 : 3DS Max로 부터 오브젝트를 불러오는 내용을 작성한 매뉴얼 5번을 먼저 보세요.

Import settings => 불러오기 설정.

불러온 메쉬를 선택하면 Inspector 창에서 불러오기 설정에 접근할 수 있다.

Meshes

Scale Factor

        유니티 물리 시스템은 게임 세상에서의 1미터가 불러온 파일에서 1유닛이 되기를 기대한다. 만약 다른 크기의 모델을 원한다면, 이 부분을 수정하라.

Use File Units

        이 옵션은 3dsMax 파일에서만 유효하다. 체크하면 1FileUnit = 1UnityUnit으로 3dsMax 파일을 불러온다. 그렇지 않은 1cm = 1UnityUnit으로 불러온다.

Mesh Compression

        이 옵션을 켜면 메쉬의 파일사이즈가 줄어들 것이다. 그러나 부정적으로 보일수도 있다. 압축하지 않은 것과 크게 차이나지 않는다면 가능한한 High로 설정하는게 좋다. 게임사이즈 최적화를 참고하라.

Generate Colliders

        활성화하면, 자동적으로 Mesh Colliders(메쉬 충돌박스)가 추가된다. 이것은 환경 기하학에 대한 충돌 메쉬를 빠르게 생성하는데 유용하다. 그러나 메쉬가 움직일 경우에는 사용하지 않아야 한다.

Swap UVs

        라이트맵 오브젝트가 잘못된 UV 채널을 가져올 경우, 이것을 사용하라. 이것은 primary 와 secondary UV 채널을 서로 바꿀 것이다.

Generate Lightmap UVs

        라이트맵핑을 위해서 사용되어질 UV2를 생성하기 위해 이것을 사용하라.

Advanced Options(고급옵션)은 여기를 보라.

Normal & Tangents

Normals

        이것은 노멀이 어떻게 계산될지를 정의한다. 이것은 게임사이즈 최적화에 유용하다.

        Import - 기본 옵션, 파일로부터 노멀을 불러온다.

        Calculate - Smoothing Angle에 기반해서 노멀값을 계산한다. 만약 선택하면, Smoothing Angle이 활성화된다.

        None - 노멀을 사용하지 않는다. 만약 메쉬가 실시간 빛에 의한 영향을 받지 않거나 노멀 맵핑을 사용하지 않는다면 이 옵션을 사용하라.

Tangents

        tangents와 binormal이 어떻게 계산될지를 정의한다. 이것은 게임사이즈 최적화에 유용하다.

        Import - 파일로부터 불러온다. 이 옵션은 노멀이 파일로부터 불러와졌을 때만 그리고 FBX, Maya, 3dsMax 파일에서만 사용가능하다.

        Calculate - 기본 옵션, tangents와 binormal을 계산한다. 이 옵션은 노멀이 Import이거나 Calculate 일때만 사용가능하다.

        None - 사용하지 않는다. 메쉬는 Tangents를 가지지 않을 것이고, 그러므로 노멀 맵핑 쉐이더와 함께 작동하지 않을 것이다.

Smoothing Angle

        Sharp Edge가 얼마나 Hard Edge로 다뤄질지를 정한다. 노멀맵 tangent를 분할하는데도 사용된다.

Split Tangents

        메쉬의 이음매에 의해 노멀맵 라이트닝이 깨진다면 이것을 활성화하라. 이것은 일반적으로 캐릭터에만 적용한다.

Materials

Generation

        얼마나 많은 재질이 생성될지를 제어한다.

        Off - 재질을 전혀 생성하지 않는다.

        Per Texture - 텍스처마다 재질을 생성한다. 활성화 했을 때, 다른 장면(Scene)들은 같은 텍스처를 사용했을 때 같은 재질 설정을 공유한다.

        Per Material - 이것은 장면(Scene)마다 재질을 생성하므로 해당 장면만이 재질을 사용하게 된다.

Animations

Generation

        애니메이션을 불러오는 방법을 제어한다.

        Don’t Import - 애니메이션 또는 스키닝을 불러오지 않는다.

        Store in Original Roots - 애니메이션은 당신의 애니메이션 패키지(이것은 유니티에서 루트 오브젝트와 다를 수 있다.)의 루트 오브젝트에 저장된다.

        Store in Nodes - 애니메이션은 그들이 애니메이트하는 오브젝트와 함께 저장된다. 당신이 복잡한 애니메이션 설정을 가지고 있고 완전히 스크립트로 제어하기를 원할 경우 이것을 사용하라.

        Store in Root - 애니메이션은 장면의 변환 루트 오브젝트(Scene’s transform root objects)에 저장이 된다. 계층(hierarchy)을 가진 애니메이션일 경우, 이것을 사용하라.

Bake Animations

        IK를 사용하거나 애니메이션 패키지에서 시뮬레이션할 때, 이것을 활성화하라. 유니티는 불러올 때 FK로 변환할 것이다. 이 옵션은 Maya, 3dsMax, Cinema4D 파일에서 사용가능하다.

Animation Wrap mode

        불러온 메쉬에 사용될 애니메이션의 기본 Wrap Mode를 설정.

Split Animations

        하나의 파일안에 다양한 애니메이션을 가지고 있다면, 여기서 다양한 클립으로 분할할 수 있다.

        Name - 애니메이션 클립의 이름.

        Start - 해당 클립의 시작 프레임.

        End - 해당 클립의 마지막 프레임.

        WrapMode - 애니메이션의 끝에 도달했을 때 무엇을 할 것인가.

        Loop - 애니메이션이 만들어진 방법에 의존한다. 애니메이션 클립이 루프되기 위하여 하나의 추가적인 프레임이 필요할 경우 사용하라. 만약 애니메이션이 정확하게 보이지 않는다면, 이 옵션을 시도해보라.

Animation Compression

Anim. Compression

        이 메쉬의 애니메이션에 적용될 압축 타입.

        Off - 사용하지 않음. 이것은 유니티에서 키 프레임의 수를 감소하지 않아 가장 정확한 애니메이션을 불러온다는 것을 의미한다. 하지만 성능이 느려지고, 파일과 실행 메모리가 늘어난다. 이 옵션을 사용하는 것은 권장되지 않는다 - 만약 더 높은 정확도의 애니메이션이 필요하다면, Keyframe Reduction을 사용하고 Animation Compression Error값을 더 낮게 허용하라.

        Keyframe Reduction - 불러올 때 키프레임을 감소한다. 만약 선택하면, Animation Compression Errors 옵션이 나타난다.

        Keyframe Reduction and Compression - 불러올 때 키프레임을 감소하고 파일에 애니메이션을 저장할 때 키프레임을 압축한다. 이것은 오로지 파일 크기에만 영향을 준다 - 실행중 메모리 크기는 Keyframe Reduction과 똑같다. 만약 선택하면, Animation Compression Errors 옵션이 나타난다.

Animation Compression Errors

        이 옵션은 Keyframe Reduction을 선택하였을 경우에만 사용가능하다.

        Rotation Error - rotation curves가 얼마나 감소되어야 할지를 정의한다. 더 작은 값은 사용하면, 더 높은 정확도를 얻을 수 있다.

        Position Error - position curves가 얼마나 감소되어야 할지를 정의한다. 더 작은 값은 사용하면, 더 높은 정확도를 얻을 수 있다.

        Scale Error - sclae curves가 얼마나 감소되어야 할지를 정의한다. 더 작은 값은 사용하면, 더 높은 정확도를 얻을 수 있다.

Material Generation => 재질 생성.

재질은 다음의 규칙에 기반하여 발견된다.

        유니티는 장면안에서 오브젝트에 바인딩된 메인 diffuse 재질의 이름을 얻는다.

        유니티는 장면(scene) 안의 Materials 폴더안에서 이 이름으로 재질을 찾는다.

        유니티는 위 방법에 따라 각각의 Materials 폴더에서 재질을 찾기 위해 프로젝트 폴더로 간다.

만약 유니티가 재질을 찾지 못한다면, 텍스처로부터 그것을 생성하려고 시도한다.

        유니티는 장면과 같은 이름의 폴더에서 올바른 이름의 텍스처를 체크한다.

        유니티는 장면(Scene) 안의 Textures 폴더에서 올바른 이름의 텍스처를 체크한다.

        유니티는 위 방법에 따라 각각의 Textures 폴더에서 텍스처를 찾기 위해 프로젝트 폴더로 간다.

        만약 유니티가 텍스처를 찾는다면, 그 아래에 Materials 폴더를 생성하고 그 안에 재질을 생성한다.

Colliders

유니티는 Mesh Colliders 와 Primitive Colliders의 두가지 타입의 충돌체를 가지고 있다. 고정적인 메쉬를 사용할 때는 Mesh Colliders를 사용하고 자동차처럼 움직이는 메쉬에는 Primitive Colliders를 사용하라. Primitive Colliders를 사용할 경우, Generate Colliders 설정을 비활성화 하라.

        

Animations

만약 당신이 매우 높은 폴리곤 버전으로 만들어진 노멀 맵과 캐릭터를 가지고 있다면, 180도의 Smoothing angle로 게임 퀄리티를 불러와야 한다. 이것은탄젠트 분할에 의한  odd-looking 이음매를 방지한다. 이음매가 여전히 표현된다면, Split tangests across UV seams를 활성화하라.

만약 당신이 그레이스케일 이미지로부터 노멀맵을 변환한다면, 이것에 대해 걱정할 필요가 없다.

Hints

        가능한한 많이 메쉬를 함께 병합하라. 재질과 텍스처를 공유하도록 만들어라. 이것은 매우 큰 성능의 이득을 가진다.

        3D어플리케이션에서 월드 좌표계의 중심에 메쉬를 만들어라. 이것은 유니티에서 더 쉽게 위치할 수 있도록 만들어줄 것이다.

See Also => 이것도 보세요.

        Modeling Optimized Characters => 최적화된 캐릭터 모델링하기.

        How do I use normal maps? => 노멀맵 사용하기.

        How do I fix the rotation of an imported model? => 불러온 모델의 회전각 수정하기.

        

작성중...

반응형
: