반응형

 회사 모델러들의 요청으로 모델링 관리를 펴하게 해주는 툴을 제작해 봤습니다.

 

이 툴에서 사용할 수 있는 기능들 간단 요약

1. 파일 서치 기능

2. 맥스파일을 열어보지 않고 고퀄의 프리뷰와 다양한 파일 정보(갯수, 크기, 버텍수등..) 로 미리 확인 가능

3. 다중 파일을 지정된 폴더에 동시 익스포트 가능

4. 다중 선택 파일을 지정한 폴더에 자동으로 익스포트 가능

5. FBX를 맥스로 맥스를 FBX로 변환이 매우 간단함(여러파일 동시에도 가능)

6. 대규모 파일관리와 여러 프로젝트를 동시에 관리하게 용이함



* 간단한 기능 설명

제일 먼저 대표로 사용될 폴더를 지정해 줍니다.

모델링 라이브러리 SVN 폴더를 지정하시면 됩니다.

 

(1) 간단한 익스포트

-단일 파일 익스포트 방식

익스포트 폴더를 지정하시고 난후 오브젝트를 선택하거나 파일을 선택한후, 혹은 Export나 ExportSelected 버튼을 눌러주시면

지정한 익스포트 폴더에 바로 익스포트가 진행됩니다.

 

 

 

** 익스포트 폴더를 Export Path로 지정하지 않고, 폴더 리스트중에 선택하셔서 지정하실 수도 있습니다.

Path Clean 버튼을 눌러 Export Path를 초기화 한후 New Folder로 원하시는 폴더를 만들고 폴더를 선택하신 다음 Export 버튼을 누르면 해당 폴더에 익스포트 됩니다.

--->

 

-- 다중 익스포트 방식

파일 리스트에서 익스포트를 원하는 파일들을 모두 선택후 Export Path로 경로를 설정하시면 선택한 파일들 모두 Export가 한방에 진행됩니다.

 

 

 

 

(2) 간단한 파일 서치와 편리한 프리뷰 기능

예 -> ART에 사용된 나무 데이터만 추려서 보고 싶을때..

ART 폴더 지정 -> tree 키워드 입력후 엔터 -> 파일에 대한 정보 출력.

검색된 파일의 Open, Merge, Export 등이 가능합니다. 

 

 

 (3) 간단한 파일변환 FBX -> MAX   or  MAX -> FBX

FBX를 MAX로 변환할 파일들을 리스트뷰에서 선택한 후 SAVE 버튼을 누르면 FBX가 있는 폴더에 그대로 MAX 로 저장되면서 파일이 생성됩니다.

 

 

(4) 맥스에서 씬 배치후 씬 그대로 유니티나 언리얼로 옮겨오기가 간편함

맥스상에서 터레인과 오브젝트등을 배치한 후 전부 선택한 Export Selected 버튼을 누르면 그대로 각 오브젝트별로 익스포트를 진행해 줍니다.

FBX  이름은 각 오브젝트 이름으로 지정됩니다.

 

 

위 과정을 거쳐 익스포트 하시면 Export Path 로 지정한 폴더에 각 이름별로 알아서 FBX 파일이 뽑히게 됩니다.

그후에 아래 파일들을 유니티로 그대로 임포트해오면 맥스 씬에 있는 그대로 불러와지게 됩니다.  

 

 

 

 

ModelingLibrary.mse

반응형
반응형

1. 먼저 Newtonsoft.dll 파일을 구해서 원하는 폴더에 넣어 놓습니다. Dll 이 있어야 편하게 파싱이 가능합니다.

- 처음에 DLL이 없다보니까 텍스트의 라인과 위치까지 세면서 코드를 짜느라 굉장히 애먹었는데, DLL로 파싱하니 굉장히 간단하게 코드가 마무리되었습니다.

구글에 치시면 금방 찾으실 수 있습니다.

 

2. 사용될 스크립트 코드에 DLL 을 로드 하는 구문을 넣어 줍니다.

위 경로에 DLL을 넣고 아래 코드를 넣어주면 DLL을 로드해 옵니다.

 

 

 

3. JSON이 사용될 부분에서 파싱한다는 코드를 넣어줍니다.

  local data ="" 

  if filePath == undefined then
   return 0

  fs=openFile filePath mode:"r"

  while not eof fs do
  ( 
   jsonString = readline fs
   append data jsonString   ---> 제이슨 스트링을 data 라는 텍스트 어레이 변수에 담으면 제이슨을 읽어옵니다.
  )

  o = JObj.parse data -> 읽어온 제이슨 데이터를 파싱해주는 구문입니다.

 

 

4. 파싱이 완료되면 아래같은 간단한 코드로 원하는 부분의 텍스트 정보를 읽어오게 됩니다.

   sidelength = ((o.item["gridCells"].item[1].item["sideLength"].value) as integer)
--> 제이슨 데이터의 GridCells의 첫번째 아이템에서 sidelength의 값을 읽어오라는 코드입니다.




위 과정을 통해 유니티의 그리드 정보를 json으로 읽어와서 그대로 맥스 스크립트로 옮겨올 수 있었습니다.

 

test.json

UnityGridViewer.mse

 

 

반응형

+ Recent posts