개발 관련/SW, App 관련

(과거게시물) Unity3D 외부 이미지(jpg) 파일 배경으로 깔기

by 소서리스25 2023. 3. 28.
반응형

※ 과거 게시물은 현재의 모든 적용사항과 환경이 다를 수 있으며 단순한 기록으로 남깁니다.

 

Unity3D 외부 이미지(jpg) 파일 배경으로 깔기

 

외부 이미지를 현재의 scene에 배경으로 가장 뒤로 하도록 사용하고 싶다.
그런데 현재 depth 카메라를 여러개 사용중이며 3D 카메라와 섞여 있다.
이럴때 배경을 설정하는 것은 3D로 plane을 설치하는 것도 방법이겠으나 기본적인 GUITexture를

이용하는 것이 해상도에 딱 맞을 것이다.

일단 먼저 게임오브젝트에서 GUI Texture를 생성한다.
그다음 스크립트를 생성하여 GUI Texture에 대해 설정해 놓는다.

Unity3D의 외부 이미지 파일의 local 경로설정은 기본적으로 다음과 같다.

C드라이브일 경우

  file://c:\\이미지파일

 

 

기본 프로그램 경로 사용시에는

 

   file:// + Application.dataPath + \\test.jpg;

 


으로 기본 프로그램 경로에 있는 이미지파일을 불러온다.
여기에 WWW 를 써서 위의 path를 연결하도록 한다.

 

   (설정한 guitexture).GetComponent().texture = (www로 연결한 path).texture;

 


그 다음은 이 게임오브젝트(GuiTexture)에 Layer를 설정한다.
적당한 이름을 설정하도록 한다.
그리고 항상 이 이미지를 백그라운드로 보여지기 위한 카메라를 생성한다.
카메라 Layer 또한 GuiTexture와 같도록 설정한다.
카메라는 당연히 depth로 설정하여야 하고 Culling Mask를 Layer과 같이 맞추면 모든 작업은 완료.

어떠한 카메라에서도 항상 같은 백그라운드에 설정한 이미지가 나오게 된다.

 - 샘플 예시 -

1
2
3
4
5
6
7
8
public GameObject guiTexture;
 
void OnGUI()
{
     string texturePath = "file://"+Application.dataPath+"\\test.jpg";
     WWW textureLoad = new WWW(texturePath);
     guiTexture.GetComponent<GUITexture>().texture = textureLoad.texture;
}
cs

 

 

반응형

댓글