블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2341)N
Unity3D (577)
Programming (473)
Unreal (4)
Gamebryo (56)
Tip & Tech (186)N
협업 (34)
3DS Max (3)
Game (12)
Utility (116)
Etc (92)
Link (31)
Portfolio (19)
Subject (90)
iOS,OSX (38)
Android (13)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (1)
Memories (20)
Interest (37)
Thinking (36)
한글 (26)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (2)
냥이 (9)
육아 (13)
Total1,355,268
Today26
Yesterday363
Statistics Graph

달력

« » 2020.1
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

공지사항

태그목록

[파일]


YupScript.ms




스크립트 출처

http://forum.unity3d.com/threads/3dsmax-y-up-script.220104/

*ms스크립트 사용법: 맥스 화면에 Drag&Drop 하면 맥스에 스크립트 창이 뜬다. 




원문 출처 http://blog.naver.com/blue9954/220615535678


[원문에서 퍼온 글.]

3DMAX는 생소하게 느껴지시는 분들이 많겠지만, 건축CG를 목적으로 만들어진 툴입니다. 따라서 AutoCAD와 동일하게 높이를 Z로 계산하지만, 게임엔진... 예를 들어 유니티의 경우 높이를 Y로 계산합니다. 마야의 경우 애초에 영상물을 만들 목적으로 개발되어 화면을 기준으로 높이를 Y로 계산하기에 아무 문제없지만, 맥스의 경우 오브젝트의 피봇을 Y축을 위로 올라오게 일일이 수정해 주어야 합니다.
 이러한 작업을 원버튼으로 해주는 스크립트입니다. 사용 방법은 첨부한 스크립트를 맥스에 드래그해 넣은 다음, 원하는 오브젝트들을 선택하고 새로생긴 창의 버튼을 눌러 주면 됩니다.



Z와 Y. 축이 다른 이유는 사용하는 좌표계가 다르기 때문.

맥스: 오른손 좌표계  // 마야, 언리얼, 유니티: 왼손 좌표계.


좌표계에 대한 자세한 건, 아래 링크 참조.

http://tartist.tistory.com/65

블로그 내용 중에 기억하고 싶은 것 

좌표계가 달라서 생기는 문제는 맥스에서의 프랍이 엔진으로 넘어갈 때 Y축으로 90도 돌아가는 현상이다. 모든 더미와 뼈들은 맥스에서 제작(오른손 좌표계)해서 넘어오기 때문에 자동으로 부모의 축을 따라가기 때문에 문제가 없지만, 무기에 붙은 소켓 더미는 언리얼에서 제작(왼손 좌표계)되면 좌표계가 달라서 프랍이 혼선이 생기게 된다. 

그래서 무기 축 더미는 엔진에서가 아닌 맥스에서 만들어서 사용하여 문제를 해결했다는 내용.  


 

테스트해 본 결과 리뷰. 

왼쪽 주전자: 맥스에서 바로 꺼낸 주전자의 피벗을 보면 Z축이 위로 올라가 있는 것을 확인할 수 있다. 

오른쪽 주전자: 스크립트를 적용한 주전자. Y축이 위로 올라가 있다. 


보통 fbx로 익스포트 할 때 옵션을 아래 사진처럼 Y-up 으로 하고 익스포트를 하게 되어서 

맥스와 유니티, 언리얼을 오가며 보이는 캐릭터들의 방향에 육안으로 확인할 때의 다른점은 없었는데, 오늘 포스팅의 스크립트는 이대로 또 쓸 일이 있을 것 같다.

 예를들어, 메쉬만 엔진으로 데려갈 경우에 캐릭터가 90도 누워있는 현상은 익히 경험했기 때문이다. 이 스크립트를 사용하면, 맥스에서 보는 좌표와 엔진에서 보는 좌표가 동일하다는 장점이 있으니까. 







....궁금해서 테스트를 더 해볼까 한다... 축이 뭐길래. 


<물체의 축에 따라서 엔진에서의 차이.>

사진에서 왼쪽 유니티 인스펙터 창. 오른쪽 맥스 창


맥스 좌표 그대로 익스포트->유니티로 갖고왔을 때. (X축이 -90도 돌아가 있음)


축을 왼손좌표계로 돌려준 다음 익스포트-> 유니티로 갖고왔을 때.(맥스와 유니티 좌표 일치)


임포트 된 이 두 주전자를 유니티 씬으로 갖고왔을 때의 차이는 아래처럼 없어보인다.

실제로는 두 주전자의 축이 차이가 있지만 없어보이게만 할 뿐.

 유니티는 자체의 버텍스들을 y축기준으로 180도 회전시킨후에 rotation transform의 x축에 -90도를 적용하여 좌표계를 변환시키므로 버텍스가왼손 좌표계 기준으로 변환되는것은 아니다. x,y축 변경을 통해 그렇게 보이게 만들뿐이다. 


이 내용은 유니티 FBX Export 옵션에 대한 아래 설명에서 참조했다. 

http://wiki.maayalee.com/mediawiki/index.php?title=Unity3D_FBX_Export


이래도 저래도 어쨌든 제대로 보이는 디자이너와, 실질적인 축의 방향을 고려해야하는 프로그래머와의 작업방식의 차이가 있을 수 있기 때문에 각 파트에서 특별히 요청이 있을 때 고려해도 될 듯 하다. 


아래는 맥스와 축이 다른 엔진때문에 고민하는 프로그래머들의 질의 문답. 

http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=40302 




출처 : http://flowergardenia.tistory.com/84

Posted by blueasa

댓글을 달아 주세요