개발_기록용

유니티 내부로 OBJ 파일 import 가능한 RunTime OBJ Importer 에셋 본문

유니티

유니티 내부로 OBJ 파일 import 가능한 RunTime OBJ Importer 에셋

나폴나폴 2025. 1. 7. 12:03
728x90

유니티에서 지원 가능한 3D 모델링 파일 포맷은 다음과 같다.

  • fbx
  • obj
  • dae(Collada)
  • 3ds
  • dxf

https://docs.unity3d.com/kr/2019.4/Manual/3D-formats.html

 

지원되는 모델 파일 포맷 - Unity 매뉴얼

참고: 이 섹션에서는 FBX 전환을 사용하는 전용 파일 포맷에 관한 정보를 제공합니다. 하지만 FBX를 매개체로 사용하지 않는 두 가지 파일 포맷, 즉 SketchUp과 SpeedTree가 있습니다. 이러한 파일 포맷

docs.unity3d.com

 


현재 개발중인 프로젝트에서 외부 서버의 3D 모델링 파일을 올려놓고, 이를 런타임 중에 Unity 내부로 가져와 배치해야 하는 식의 기능을 제작중인데, 이 과정에서 생긴 여러 사항들을 정리하여 공유하고자 한다.

 

RunTime OBJ Importer

https://assetstore.unity.com/packages/tools/modeling/runtime-obj-importer-49547?srsltid=AfmBOooo3D1yCYOU6gnOlBtYUhBA1nMRSyzj2tD-eAUmvhGLbjkCkxMW

 

Runtime OBJ Importer | 모델링 | Unity Asset Store

Get the Runtime OBJ Importer package from Dummiesman and speed up your game development process. Find this & other 모델링 options on the Unity Asset Store.

assetstore.unity.com

 

말 그래도 런타임 중 obj 파일을 유니티 내부로 가져와 보여주는 에셋이다.

드라이브에 올려놓은 바퀴 에셋을 런타임 중에 가져와보았다.

 

무료 에셋에다 후기도 좋아서 직접 사용해보았는데 아주 야무지다.

 

 

기본 코드도 위와 같이 간단하고, WWW으로 작성된걸 UnityWebRequest로 바꿔서 써주면 문제 없다.


구글 드라이브의 파일 Direct Download

 

 

우리가 구글 드라이브의 파일을 공유하려면 위처럼 설정하곤 한다.

점 세개 > [공유] > 에서 링크 복사를 통해 파일 공유가 가능한 링크를 만든다.

일반 엑세스를 수정하여
해당 파일을 편집하거나 댓글을 달게 하는 권한 설정도 가능하다.

 

 

 

여기서 이 공유된 링크를 타고 들어가면 

 

공유된 파일이 바로 다운로드가 되지 않고 이렇게 미리보기가 주어지게 된다.

 

여기서 한번 더 다운로드 버튼을 누르는 불편함도 생기고

나처럼 파일을 직접 다운로드 받아야 하는 경우 이 페이지를 우회해야 하는 필요성이 있다.

 

따라서, 링크 복사된 내용은 아래와 같은데 조금만 수정해주면 된다.


File ID 확인하기

 

https://drive.google.com/file/d/1wtL1sM7yznQTBU9zpCctB81oEPGL6tRd/view?usp=sharing

 

위와 같이 구글 드라이브 파일 공유 링크는 중간 부분에 fileID에 해당하는 부분이 있다.

/d/부터 /view? 부분인데 이 부분이 해당 파일의 고유한 ID 토큰 값이다.

 

그러면 그 값을 따로 복사해놓고

 

https://drive.google.com/uc?export=download&id=

 

이 링크 뒤에 fileID 부분을 붙여 넣기 한다.

&id= 뒷 부분에 붙여 넣는 것이다.

 

https://drive.google.com/uc?export=download&id=1wtL1sM7yznQTBU9zpCctB81oEPGL6tRd

 

그러면 이 코드를 입력했을 때 곧바로 파일이 다운로드 되는 것을 확인할 수 있다.


나는 이 코드를 아래와 같이 작성하여 자동화했다.

구글 드라이브에서 파일을 바로 다운로드할 수 있도록 개선한 코드

 

나는 추후 서비스 확장 가능성을 고려해 100MB 이상의 대용량 파일도 다운로드 할 수 있도록 설계하고자 했다.

나중에 구글 드라이브를 안 쓸수도 있지만, 구글 드라이브의 편리성을 감안했을 때 쓰면 좋으니까!

 

구글 드라이브는 100MB 이상의 대용량파일 다운로드 시 바로 다운로드가 안 되고 위와 같이 먼저 검사를 하게 한다.

 

하지만, 아직 넘어야 할 산이 있다.

구글 드라이브의 대용량 파일 다운로드는 바로 다운로드 페이지로 넘어갈 수가 없다.

 

100MB 이상의 파일은 3D 모델링에서 결코 큰 용량이 아닐 것 같아서

이걸 해결하고자 했다.

 

F12 버튼을 눌러 오른쪽과 같이 다운로드 버튼을 보면

버튼 내부에 confirm, uuid, at 토큰이 있는걸 볼 수 있다.

 

이 정보들을 모두 입력하여 URL로 입력하면 다운로드가 가능하지만

uuid, at 토큰 정보값은 파일마다 다 다르기 때문에 이를 알아와야 한다.

(다행히도 confirm 값은 't'로 고정이다.)

 

 

그래서 UnityWebRequest로 받아와 다운로드 버튼에 연결된 내용을 보니

uuid 값까지는 확인했으나, at 토큰 값이 보이지 않더라..

 

따라서 아직 해당 기능은 개발 중이다.

추후 at 토큰 값 다운로드 가능하게 되면 추가로 포스팅을 작성하겠다.

반응형
Comments