Unity의 Sprite와 Texture2D 클래스의 차이점은 무엇입니까?


19

유니티에는 Texture2D클래스와 Sprite(related SpriteRenderer)이 있습니다. 이 두 클래스의 차이점은 무엇입니까? 둘 다 이미지를 나타냅니다. 2D 게임에서 다른 것을 선호해야합니까?

Sprite사용하는 "빌보드"쿼드를 직접 만들 필요가 없다는 점의 주요 차이점은 무엇입니까? 그리고 Sprite항상 카메라에 직접 렌더링됩니까?

답변:


16

당신은 맞습니다-다소. 스프라이트는 기본적으로 카메라에 대해 직접 렌더링되지만 3D 장면에서 스프라이트 렌더러를 사용하는 경우이를 쉽게 변경할 수 있습니다.

Sprite는 씬의 실제 오브젝트 인 반면 Texture2D는 정확히 말한 것입니다. 질감. 텍스처는 머티리얼에, 머티리얼은 게임 오브젝트 (예 : 평면)에 부착되어야합니다.

Unity 3.x 시절에는 즉시 스프라이트 지원이 없었기 때문에 자체 Sprite Manager / Class를 롤링해야했습니다 (또는이 성가신 문제를 해결하려고 애셋 스토어에서 에셋을 구매할 수있는 옵션이있었습니다) ). Unity 개발자가 마침내 2D 게임 (스프라이트, 스프라이트 시트, 2D 물리)에 대한 기본 지원을 제공 할 때까지 Unity는 4.x까지 2D 게임을 지원할 의도가 없었지만 (그렇지만 개발자는이를 실현할 방법을 찾았습니다).

2D 게임을하고 있다면 항상 Sprite 클래스를 사용하십시오. 자신을 굴리는 것보다 낫고 충분한 것을 제공합니다.


AFAIK Sprites는 원하는 경우 Unity에 의해 자동으로지도 책에 포장됩니다.
bummzack

이것은 Unity Pro, 까다로운
벌레들

4
나는 이것이 Unity 5에서 무료로 믿습니다
Chris Hawkes

@ChrisHawkes 사실 그것입니다 - 스프라이트가지도 책에 포장 할 수있다 (그리고 연습을 권장) 윈도우> 스프라이트 패커를 통해 - 바로 문 : 확인
AgentKnopf

6

Sprite에서 내가 좋아하는 장점은 다음과 같습니다.

  1. 모든 SpriteRenderer는 기본적으로 동일한 재질을 사용합니다. Sprite-Default는 모두 서로 다른 이미지 / 아틀라스가있어 Unity의 동적 일괄 처리 중 하나의 조건을 자동으로 만족시킵니다.
  2. Sprite-Default 재질이 모두 같더라도 SpriteRenderer 's inspector를 통해 서로 다른 색조를 적용 할 수 있습니다. 재질에 '색'속성이 연결되는 Texture2D 기반 방식에서는 불가능합니다. 이것은 알파 값의 색상을 통해 스프라이트를 페이드 아웃하는 데 매우 유용합니다.
  3. 비 균일 스케일링으로 동적 배치를 지원합니다.
  4. 단일 모드 / 다중 모드가 있으므로 다중 모드를 사용하여 각 이미지를 텍스처 아틀라스와 별도의 스프라이트로 잡을 수 있습니다.
  5. 장면 뷰에서 스프라이트의 모서리를 잡고 기즈모 스케일 / 회전 도구로 변경하지 않고 스프라이트의 크기를 조정하거나 회전 할 수 있습니다.

4
6. Unity는 스프라이트의 투명하지 않은 부분의 윤곽에 맞게 형상을 자동 생성합니다. 이를 통해 쿼드와 동일한 스프라이트를 렌더링하는 것과 비교하여 오버 드로를 줄일 수 있으며 아틀라스에서 스프라이트를 더 단단히 포장 할 수 있습니다.
DMGregory
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.