본문 바로가기
Unity/Basic

유니티 이미지 파일 렌더링 (Rendering Image File)

by 노튜 2025. 2. 11.
728x90
반응형

 

1. 이미지 파일 (Image File)

 

이미지 파일은 사진, 그림 등의 정보를 디지털화되어 저장한 파일이다. 이미지 파일은 다양한 파일 형식(File Formats)이 있다. 이는 사용 목적, 압축 방법, 특허 등에 따라 기술의 발전과 함께 변화되어 왔기 때문이다. 이미지 파일 형식은 PNG, JEPG(JPG), GIF, BMP 등이 있다.

유니티는 BMP, TIFF, TGA, JPG, PSD 등 가장 일반적인 이미지 파일 형식을 대부분 지원한다(Unity). 본 글의 작성자는 대부분의 프로그램에서 지원하고 있기 때문에 주로 PNG 파일을 사용한다. PNG(Portable  Network Graphics)는 GIF를 대체하기 위해 개발된 오픈소스 포맷이다. PNG는 무손실 압축으로 편집에 유리하다.

2. 유니티에서 이미지 파일 렌더링

유니티는 대부분의 이미지 파일 형식을 지원한다. 하지만 이미지 파일을 직접적으로 사용하지는 못한다. 실제로 유니티에서 이미지 파일을 Scene에 추가를 하려고 시도를 하면, 불가능한 것으로 표시된다. 사용하기 위해서는 이미지 파일을 유니티 이미지 파일 형식으로 변환해야한다. 이에 유니티에서 제공하는 기능을 사용하여야 이용할 수 있다. 유니티는 이미지 파일을 사용하기 위한 다양한 방법들을 제공한다. 기본적으로 SpriteRenderer와 MeshRenderer를 사용한 방법이 있다.

 

반응형

 

2.1. Sprite을 이용한 이미지 파일 렌더링

SpriteRenderer 컴포넌트는 Sprite 타입을 렌더링하는 렌더러이다.  SpriteRenderer는 Scene에서 Sprite가 시각적으로 표시되는 방식을 제어하는 역할을 한다. SpriteRenderer를 사용한 이미지 렌더링을 위해서는 이미지 파일을 Sprite로 변환해주어야 한다. 이미지 파일은 유니티로 임포트를 하면 Texture Type - Default 형식이다. 이를 Sprite 타입으로 변환한다. 이미지 파일을 선택하고 Texture Type을 Sprite (2D and UI)로 변경한다. 

 

이미지 파일 → Texture Type → Sprite (2D and UI) → Apply 

Image (Png file Formats To Sprite)

 

Sprite로 변환한 이미지 파일을 Scene에서 렌더링하기 위해 Scene에 SpriteRenderer 컴포넌트를 생성한다. 유니티는 SpriteRenderer가 Sprite를 시각적으로 표현하기 위한 방법을 제어하도록 몇 가지 템플릿들을 제공하고 있다. 9-Sliced, Capusle, Circle, Hexagon Flat-Top, Hexagon Pointed-Top, IsometricDiamond, Square, Triange이다.

 

본 글에서는 Square 타입을 사용하여 이미지 파일을 렌더링한다.

Game Object → 2d Object → Sprites → Square

 

 

Square를 선택하여 Sprite Renderer를 생성한다. 생성한 Square 게임 오브젝트를 선택하면, Inspector 창에 SpriteRenderer 컴포넌트가 추가되어 있는 것을 확인할 수 있다. 앞서 Sprite로 변환한 이미지 파일을 SpriteRenderer의 Sprite에 등록한다.

 

이미지의 렌더링은 SpriteRenderer에서 담당한다.

이미지를 Scene에서 이동하거나, 크기를 변경하는 것은 Game Object의 Transform을 사용하여 제어를 한다.

※ 오브젝트의 이동 및 회전 등은 언급하지 않는다. (본인이 적은 다른 포스트를 참고해 주세요.)

 

Sprite Renderer

 

728x90

2.2. World Canvas를 사용한 이미지 파일 렌더링

앞선 글에서는 이미지 파일을 Sprite로 변환하고, SpriteRenderer를 사용해 렌더링을 진행하였다. UI는 기본적으로 Sprite를 Image 컴포넌트를 사용해 Canvas에서 렌더링 한다. 이번에는 Canvas를 사용해 이미지 파일을 렌더링 하는 방법을 제시한다.

Sprite 형식으로 변환된 이미지 파일을  World Canvas에서 렌더링하는 방법은 매우 간단하다.

  1. Cavas를 World Canvas로 만든다.  
  2. Canvas에 Image 컴포넌트를 추가한다.
  3. Image 컴포넌트에 Sprite를 추가한다.      

Cavas를 World Canvas로 만드는 방법은 Canvas의 Rende Mode를 World Space로 변경하면 가능하다.

 

World Canvas

 

위의 이미지는 월드상에서 Sprite 형식으로 변환한 이미지를 월드상에서 렌더링하는 모습이다. Image 컴포넌트를 조작해 이동 및 크기를 조절하는 방법은 Transform이나 RectTransform의 Position, Scale 등의 값을 변경하면 된다.   

 

2.3. Texture를 사용한 이미지 파일 렌더링

Game Object는 Mesh를 사용하여 모양을 구성하고, MeshRenderer를 사용하여 Material에 정의된 렌더링 방법으로 Texture를 렌더링 한다. 유니티는 Cube, Capsule, Plane 등의 기본 모형을 템플릿으로 제공하고 있다. 이것들 중에 Plane을 만들고 Plane에 이미지 파일을 연결해 렌더링 하는 방법을 제시한다. 이동 및 크기 조절은 GameObject의 Transform을 이용한다. 이미지파일의 Texture Mode는 Default 형식을 사용한다. 

다음은 이미지 파일을 plane에서 렌더링 하기 위한 순서이다.

  1. Material을 생성한다.
  2. Material에 이미지 파일을 등록한다.
  3. Plane Game Object를 생성한다.
  4. Plane에 Material을 연결한다. 

Plane 생성방법은 다음과 같다.

GameObject 3D Object Plane

 

Material 생성방법은 다음과 같다.

Project View에서 Right Mouse Click → Create → Material Albedo ( Texture 추가  ) 

Material

 

Texture Rendering

 

 

3. 스크립트를 사용하여, 이미지 파일 변경 및 관리

다음 글에서 다룹니다.

 

2025.02.11 - [유니티/기초] - 유니티 이미지 파일 동적 변경 및 관리

 

유니티 이미지 파일 동적 변경 및 관리

유니티는 이미지 파일을 직접적으로 Scene에 올려서 사용할 수 없다. 유니티에 맞도록 이미지 파일 형식을 변경해 주어야 한다. 이와 관련된 정보는 아래의 글에서 다룬다.  2025.02.11 - [유니티/기

notyu.tistory.com

 

 

 

 

 

 

 

4. Reference 

 

[1] Sprite Renderer

https://docs.unity3d.com/kr/2019.4/Manual/class-SpriteRenderer.html

 

스프라이트 렌더러 - Unity 매뉴얼

스프라이트 렌더러(Sprite Renderer) 컴포넌트는 스프라이트 를 렌더링하고 스프라이트가 2D 및 3D 프로젝트의 씬에 시각적으로 표시되는 방식을 제어합니다.

docs.unity3d.com

 

728x90
반응형

'Unity > Basic' 카테고리의 다른 글

유니티 DontDestroyOnLoad  (0) 2025.02.13
유니티 이미지 파일 동적 변경 및 관리  (0) 2025.02.12
유니티 Block Input On UI  (0) 2025.02.08
유니티 코드 디버깅 (Debugging)  (0) 2021.01.16
유니티 Invoke  (0) 2020.12.01