본문 바로가기
Researcher/Unity

Unity + AI generated Skybox Tutorial (Ft. Blockade Labs)

by 김포레버 2023. 5. 11.
728x90
반응형

Unity + AI generated Skybox Tutorial (Ft. Blockade Labs)

Blackade Labs 라는 회사를 우연히 알게되었음

미국 소재 회사인 것 같은데.. 자세히 찾아보지는 않음

Skybox Lab 이라는 서비스를 제공하고 있길래 뭔가 하고 보니

Unity 에서 Skybox 를 AI 로 제작하여 사용할 수 있게 해주는 서비스인 듯 함

ChatGPT 랑 엮어둔건지 자체적으로 Prompt를 처리하는 기술을 개발한 건진 잘 모르겠음

현재는 Alpha 버전으로, 무료로 사용할 수 있음

이럴때 얼른 써보고 나중에 결제해서 쓸지 말지 결정해야지..

 

아무튼 아래가 해당 회사/서비스의 링크임

https://www.blockadelabs.com/

 

Blockade Labs

Breaking down barriers between technology and creativity. Start building your own AI-powered 360° worlds today with Skybox Lab.

www.blockadelabs.com

위 링크 접속하면 볼 수 있는 메인화면, 하단에 보이듯이 마우스 드래그로 3차원 뷰를 제공함

Skybox 는 Unity 가 사용하는 일종의 트릭 같은 건데, 뒷 배경처럼 공간을 깔아서 공간이 더 크고 화려하고 현실적으로 보이게 하는 것임

 

Unity 보통 새 프로젝트나 scene 만들면 보이는 이 하늘처럼 보이는 푸르스름한 이것

 

 

Skybox 라고 불리는 이유는, 사실은 이게 Scene 자체를 하나의 거대한 큐브 형태로 감싸서 하늘처럼 보이게 하는 역할을 하기 때문임

플레이어나 카메라의 관점에서 저 멀리 배경 역할을 하는 오브젝트나 풍경 등은 사실 구체적인 게임오브젝트들이 필요한게 아니고, 배경역할을 하는 것이기 때문에 3차원 배경형태로 Skybox를 깔아주는 거다 라고 생각하면 편할 듯

 

아무튼, 다시 Blockade Labs 메인 페이지로 돌아와서, Conjure your world 버튼 클릭!

(Conjure 는 마술을 부리다~ 라는 뜻)

Confirm 버튼 클릭!

 

그럼 다음 화면에서 본인이 그리고 싶은 Skybox를 Text로 정의하고, Skybox의 종류를 고를 수 있음

나는 부산 해운대에서의 사람들을 포함하는 Realistic 한 이미지를 생성해보기 위해 다음의 prompt를 입력함

"Fantastic Busan Haeundae beach in the summer with people busking, tanning, and swimming"

Prompt를 입력하고, 그림의 타입을 골랐으면, Generate 클릭 (시간 다소 소요될 수 있음)

짜잔 그럼 이미지가 이렇게 자동으로 생성됨

정확히 내가 아는 해운대의 모습과 일치하지는 않지만, 그래도 그럭저럭 그 모습이 일부 들어가있음

상단의 UI 버튼을 통해 UI 토글도 가능

 

같은 프롬프트로 Type을 Fantasy land로 genreate한 샘플

 

같은 프롬프트로 Type을 SciFi로 generate한 샘플

 

같은 프롬프트로 Type을 Dreamlike으로 generate한 샘플

 

이제 이걸 다운로드 버튼을 클릭해서 다운로드 한 뒤에, 실제 Unity Skybox 에 적용해보겠음

새 프로젝트를 생성하고, 템플릿은 3D Sample Scene (URP) 로 해보겠음

 

 

SkyboxTest 라는 프로젝트를 생성하고, Assets 폴더에 Skyboxes 폴더를 생성했음

(Skybox Texture와 Material 저장하기 위한 폴더임)

그 다음, 앞선 과정에서 다운받았던 이미지를 Skyboxes 폴더에 넣어줌 (Equirectangular 이미지임)

 

그 후 이제 해당 이미지를 Skybox로 사용할 수 있게끔 몇가지 설정을 해줘야 함

이미지의 Inspector 에서 몇가지 옵션을 조정해주면 되는데,

먼저 Texture Shape을 Cube로 변경,

Advanced에서 Generate Mip Maps uncheck,

Compression을 None 으로 바꿔주고 Apply

(타겟 플랫폼에 따라 Max Size는 변경해주면 되는데, 일단 고려하지 않음)

 

그 다음, Unity상 Skyboxes 폴더 내에 위에서 생성한 Skybox를 사용하기 위한 Material을 만듦

(임의로 BusanSkyboxMaterial 이라는 이름으로 지정함)

 

그 다음, 해당 Material의 Shader 속성을 Skybox/Cubemap 으로 변경

(친절히 움짤로..)

 

 

그 다음, Skybox Cubemap에 사전 생성해뒀던 이미지를 드래그앤 드롭!

 

 

여기까지 하면 이제 Unity 우리 Scene 의 Skybox 에 우리가 지금까지 생성한 Skybox 를 실제로 적용할 수 있게 된 것

 

Unity 에서 Skybox 관련 제어는 Window, Rendering, Lighting 메뉴에 있음

Lighting 메뉴를 띄운 뒤, Environment 에서 Skybox Material을 지금까지 만든 것으로 지정해주면 끝!

 

 

짜잔 이제 Unity 에서 부산 해운대 Skybox 를 체험할 수 있음

 

 

 

<위 튜토리얼은 "Ludic Worlds" 의 아래 링크를 보고 제작한 것입니다>

https://www.youtube.com/watch?v=jdk9tAVDDig 

 

728x90
반응형

댓글