스프라이트 & 아틀라스
스프라이트
이미지나 사운드를 assets 폴더에 에셋 형태로 등록하면 에셋 컴포넌트라고 불리는 에셋 전용 컴포넌트가 추가됨.
아틀라스
⊢ 여러 개의 이미지들을 하나로 묶어 놓은 것
⊢ 스프라이트 팩커 : 스프라이트 시트 혹은 아틀라스를 만드는 도구
⊢ 묶기 : 팩커로 묶은 아틀라스는 Library/AtlasCache 에 저장. Asset안에 존재하지 않고 백엔드에서 최적화되는 개념. 개발은 텍스처 사용
∟ 나누기
Texture Type : sprite
sprite mode : multiple
sprite editor
slice
압축포맷
아이폰
알파값포함 이미지 : RGBA 32bit
알파값미포함 : RGB CompressedPVRTC 4bits
안드로이드
알파값포함 이미지 : RGBA Compressed ETC2 8 bits
알파값미포함 : RGB CompressedETC2 4 bits
인스펙터, 컴포넌트
texture type : sprite
sprite mode
⊢ single : 등록한 이미지를 하나의 스프라이트 이미지로 취급(각 이미지는 고유한 프레임)
∟ multiple :
packing tag : 스프라이트 이미지 여러 장을 한 장으로 모음. 팩킹 이름이 같으면 하나의 이미지로 팩킹
pixels to units
유니티의 기본단위는 1m. 100입력 시 100픽셀이 1m
그러므로 Scale x,y 값이 100이 되면 원본 크기
Generate Mip Maps : 끄면 텍스처 품질이 올라간다
filter mode : 텍스쳐가 3D에 의해 transform 되었을 때 어떻게 필터 되는지 설정
⊢ Point
⊢ Bilinear
∟ Trillinear
참고
1. 머터리얼 추가
2. 머터리얼 이미지 선택 후 쿼드에 드래그
3. 스크립트에서 상태 열거형 추가 후 텍스처 배열 추가
public enum ObjectState {
Breath
Run
...
}
public class obje : MonoBehaviour {
public ObjectState OS;
public Texture[] Breath_Images;
public Texture[] Run_Images;
...
public float Ani_Speed;
public float _now_ani_time
}
4. 인스펙터창에서 이미지 추가
여러장 순서대로 추가하는 방법
1. shift 계속 눌러진 상태로 첫번째 이미지 클릭
2. shift 계속 눌러진 상태로 마지막 이미지 클릭
3. 마지막 이미지 클릭 후 왼클릭 떼지말고 바로 드래그해서 멀티플로 추가
5. 동작
public void Breath_On {
OS = ObjectState.Breath;
Ani_Count = 0;
}
public void Breath_Ing {
renderer.material.mainTexture = Breath_Images[Ani_Count];
Ani_Count = 1;
}
void Update() {
if (_now_ani_time >= Ani_Speed) { // 인스펙터에서 Ani_Speed 0.01로 세팅
if(OS==ObjectState.Breath) {
Breath_Ing();
}
now_ani_time = 0;
} else {
_now_ani_time += Time.deltaTime; // 0.01이 안지났으면 프레임간격시간 더해주고
}
}
'모바일 개발 > 유니티' 카테고리의 다른 글
유니티 | NGUI - UIRoot UIPanel (0) | 2020.03.09 |
---|---|
유니티 | NGUI 기초 (0) | 2020.03.09 |
유니티 | 파티클 모델링 (0) | 2020.03.07 |
유니티 | 메카님 애니메이션 (0) | 2020.03.07 |
유니티 | 이미지와 모델링 (0) | 2020.03.07 |
유니티 | 스크립트와 리소스 최적화 (0) | 2020.03.07 |
유니티 | IAP 설정과 검증 (0) | 2020.03.07 |
유니티 | 클래스 (0) | 2020.03.07 |
댓글