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

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
유니티 관련 3DS Max 에서 작업시 유의사항


- 이곳에서는 3DS Max 에서 유니티 관련 작업을 할 때 유의사항들을 하나하나 정리해 보려 합니다.

익스포트(Export)모델링 데이타는 가급적 FBX 포멧을 사용하자.
: 유니티에서 3DSMAX 와 MAYA 포맷을 지원하지만 내부적으로는 표준 그래픽 교환 포멧인 FBX 로 변환해 관리한다. 가급적 FBX Exporter 툴을 사용해 FBX를 만든 후 유니티로 가져오는 것을 권장한다.

최신의 FBX 익스포터를 사용하자.
: 과거 버전에서 만든 파일을 임포트할 경우 결과가 달라질 수 있으므로 가능한 한 가장 최신의 FBX 익스포터를 사용한다.

FBX를 내보내기 전에 Resource Collector 를 사용해 텍스처를 Asset 폴더로 복사할 수 있다.


3차원 좌표계유니티는 기본적으로 Y축이 위를 향하는 왼손 좌표계를 사용한다.
: FBX 익스포터 옵션에서 Y UP 으로 설정되어 있는지 확인하도록 하자.


스케일(Scale)유니티에서 1의 단위는 1미터를 의미한다.
: Scale Factor 를 통해 모델링을 불러올 때 스케일을 조정할 수 있지만, 가급적 모델링 작업 때 이 단위를 감안하자.


노멀(Normal) 구성대부분의 유니티 셰이더는 기본적으로 뒷면은 그리지 않도록 설정되어 있다.
: 일반적으로 그래픽 소프트웨어는 양면을 다 그리는 반면 유니티 셰이더는 그렇지 않다. 이 때문에 면의 노멀 방향이 잘못되어 있을 경우 그래픽 소프트웨어에서 잘 보이는 물체가 유니티에서는 잘 안 보일 때가 있다.


텍스처(Texture)유니티에서는 이미지가 RGBA 압축된 DXT 이미지인 .dds 형식으로 변환하여 사용된다.
: 유니티에서는 이미지를 .dds 형식으로 변화하여 사용됨으로, tif, psd 같은 대용량 파일도 마음대로 사용해도 된다.

2의 제곱수 사이즈의 텍스처를 사용하자
: 2의 제곱수 이미지를 사용하면 밉매핑(mip-mapping) 이미지가 사용될 때, 아티팩팅(artifacting) 이라는 깜빡임 현상으로 인한 부작용이 거의 없어진다. 또한 컴퓨터 내부적으로 메모리가 2의 제곱수 블록 형태로 사용됨으로 메모리 최적화와 효율성에서 이득이 있다. 가능하다면 이미지는 항상 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 등의 크기로 만들어야 한다.


재질(Material)재질(Material)이름과 텍스처 파일명과 같게 하자
: Unity3D 툴 재질에 텍스처가 자동으로 들어가게 하려면 이름이 같아야 한다.

유니티는 임포트 시점에 객체에 대해 기본 디퓨즈 텍스처만을 생성한다.
: 범프(bump)나 반짝임, 높이, 기타 특수 맵은 직접 추가해야 한다.


메시(Mesh)맥스 객체는 모서리 문제를 막기 위해 에디터블 폴리 대신 에디터블 메시로 병합해야 한다.
: FBX는 회전 모서리를 지원하지 않으므로 내보내는 과정에서 모델이 변경될 수 있다.


애니메이션(Animation)복잡한 애니메이션 계층구조는 유니티에 임포트할 때까지 정사영 방향으로 유지한다.
: 유니티는 비정사영 회전 매트릭스를 지원하지 않는다.

유니티는 현재 모프 타깃 같은 정점 애니메이션을 지원하지 않는다.
: 정점 단위로 객체에 영향을 주는 애니메이션은 항상 뼈대를 사용해 처리해야 한다.

각 비헤이비어(behaviour)나 타임 세그먼트의 시작 및 끝에 있는 변형과 객체에 대해 모두 키를 지정한다.

비헤이비어의 타임 세그먼트는 여러 객체가 같은 이름의 타임 세그먼트나 클립을 사용하지 않는 한 겹치지 않게 한다.


출처 : http://www.devbb.net/viewtopic.php?f=37&t=1120

반응형
Posted by blueasa
, |

추출할때 Dummy사 사라지지 않더록

에서 NiOptimizeKeep 선언한다.

그리고 추출후 어썰트 뷰로 재대로 되어있는지확인하자.

NiNode * pbackNode = (NiNode*)m_BackGraund->GetObjectByName("Dummy01");

반응형
Posted by blueasa
, |
http://search.naver.com/search.naver?ie=UTF-8&query=%EB%A7%A5%EC%8A%A4%EC%97%90%EC%84%9C+%EB%8D%94%EB%AF%B8%EB%85%B8%EB%93%9C+%EC%9D%B5%EC%8A%A4%ED%8F%AC%ED%8A%B8+%EC%8B%9C+NiOptimizeKeep
위 링크로 가셔서 카페 카테고리에서 [맥스에서 더미노드 익스포트 시 NiOptimizeKeep]을 찾아서 클릭하세요.
카페라서 바로 링크로 못가네요..

충돌을 위해 긴 시간동안 맥스와 씨름하고 있는(뭔가 아이러니..) 중에

오늘 빛과 같은 발견을 해서(나한테만이야 -_-)

알려주기 위하여 글쓰기를 눌렀어

 

 

주제 : 맥스 작업 후 익스포트 시 노드 생성 관련

스샷과 함께 설명해 주겠어

 

 

1. 아래와 같은 구조로 되어있는(ST-Soldier는 모델링과 스킨들이 하나로) 맥스파일을 익스포트 해서 nif파일을 뷰어로 보면,

 

 

 

2. 아래와 같은 구조로 노드가 구성되어 있어. 빨간줄 쳐논걸 잘봐

 

 

3. 그래서 우리 더미로 같은 구조로 해보면,

 

 

4. 아래처럼 모델링들의 메쉬들이 노드 없이 되버려. 이러면 안돼

 

 

5. 내가 대충 만들어본 우리 게임의 맵 더미를 아래와 같이 구성해놓고 뷰어로 돌려봐도,

 

 

6. 컬리젼 부분만 노드가 생겨있고 스타트 지점이나 오브젝트들은 노드없이 되버리지. 역시 이러면 안되는거야

 

 

7. 해결방법은 바로 아래와 같은거야. 오브젝트 프로퍼티 들어가서 유저 디파인드에다가 "NiOptimizeKeep" 이라고 적어줘야해

   (아니면 적용할 것들을 선택해놓고 왼쪽 브리오 툴바에서 KEEP이라고 되어있는걸 켜서 체크하는거 하나 있는데 체크하고

    Apply to Selection을 한번 눌러주면 돼)

 

 

8. 캔츄씨?

 

 

9. 아하? 알겠지?

 

 

 

 

이거 꼭 해줘야 하니까 맥스 만지는 사람들은 꼭 참고해서 작업시에 적용을 해줘 나중에 대량 수정작업 안하게 ㅋㅋ

그럼 난 이만 퇴근~

반응형
Posted by blueasa
, |

더미,포인트등은 그냥 export되지 않는다.

 

3d Max

 

helpers의 object type에서 dummy, point등등 을 선택 우클릭

object properties 에서 User Defined -> User Defined Properties 여기에

NiOptimizeKeep <- 이걸 써넣으면 NiNode로 뽑힌다.

 

Customize User Interface에 Gamebryo Tools내에

 NiOptimization Helper를 사용 할 수도 있다.

Do Not Optimize This check

Apply to Selection click <- 이건 선택한 것만

or Select Matching Objects click <- 이건 전부?

 

NiOptimizeKeep이 추가 되지 않으면

Scene Root(NiNode)에 메쉬들은 NiMesh로 뽑힌다.

메쉬들을 NiNode로 뽑을려면 추가해줘야한다.


 
[출처] 3dMax의 Helpers-Object Type를 NiNode로 Export 하기|작성자 cry

반응형
Posted by blueasa
, |