Loading...

max import 참고 자료

중국 사이트인가?... 암튼 갠춘.. https://xray.svn.codeplex.com/svn/branches/refactoring/sources/plugins/xray_fsl/ObjectPlugin/Code/ObjectImport.cpp http://zho.pe.kr/doc/ConvertMaxCamToD3DCam.htm 1. TriObject 생성. INode* parentNode = NULL; TriObject* tri = CreateNewTriObject(); 2. Node 생성 ImpNode* node = impip->CreateNode(); 3. Node의 접근권한을 Tri에 설정 node->Reference(tri); 4. Node를 화면에 추가. impip->AddNodeToScene(n..

2011. 5. 5. 17:43

조명효과 - 램버트 확산 조명

사실적인 화면(렌더링 장면이나 회화)을 볼 때 이것을 3차원 이라고 인식할 수 있도록 하는 중요한 두가지 요소는 바로 원근과 음영이다. 원근 : 멀리 떨어져 있는 것을 입체적 으로 그리는 방법. 투시변환을 통해 재현되고 있다. 음영 : 물체에 조명을 비추었을 때 조명이 정면으로 비치는 부분은 밝고, 비치지 않는 부분은 어둡게 하는 방법. 이 기법을 통해 물체의 요철(오목함과 볼록함)이나 질감을 느낄 수 있다. 램버트 확산 조명. 1. 확산 반사광 : 빛은 입사각이 직각에 가까울수록 밝으며 직각에서 멀어질수록 어두워진다. 즉, 구에 빛을 비추면 정면으로 빛을 받는 부분은 초낸 밝지만 뒷부분은 어두워 진다. 이러한 현상은 당연하다고 생각될 만큼 늘상 보아오던 것이다. 또 하나 생각해 볼 것이 있다. 손정등을..

2011. 5. 3. 23:38

max export 7. 어떻게 애니메이션 시킬까?

Control access, Key Export Controller 요소(item)의 애니메이션을 지정하거나 제어하는 플러그인 유형. 여러가지 컨트롤러 유형이 존재. ex) 변환 컨트롤로(PRS Controller)는 씬 내의 노드 위치를 결정. Matrix3를 제어하는 컨트롤러. 표현식 컨트롤러는 요소의 매개변수가 수학적 표현식에 의해 제어될 수 있도록 허용. Exporting Animation Keys - 모든 애니메이션들은 Controll class의 instance들에 의해 포함되고 계산된다. - 컨트롤들은 그들의 SuperClassID 타입에 기반하여 적용된다. ( CTRL_MATRIX3_CLASSID, CTRL_ROTATION_CLASS_ID) - 컨트롤 클래스들은 종종 다른 클래스들을 참조한..

2011. 4. 23. 13:25

max export 6. 드디어 Animation !!!!

요즘 새로운 준비 때문에 고민도 많고, 그래서 마음이 급해져서 이리저리 준비하려하다보니 제풀에 지쳐서 힘들어하게 된다.. 이럴 때 일수록 하고있던 것들을 완벽하게 마무리 해야지... ㅇㅇ 좀 짱인듯 Graph Editors를 보면 Entities을 선택해서 볼 수 있다. 1. Base Objects를 선택하면 Cylinder, Box, Pyramid와 같은 Object 정보가 나온다. 2. Modifier Stack를 선택하면 Modified Object가 있을 경우 표시를 해주고 UVW Mapping 표시를 해준다. 위의 그림에서는 Wheel이 이 경우에 속한다. 3. Controllers를 선택하면 Position, Rotation, Scale을 표시해 준다. 이 Graph Editors 정보를 보면..

2011. 4. 23. 10:15

max export 5. transform 정보는?

이전 글에서는 vertex정보와 face정보를 얻어오는 부분까지 만들어 보았다. 이제 transform정보를 사용해서 실제 vertex 정보를 구해보자. 맥스에서는 Affine Transformation을 사용한다. 이는 기하학적 변환(이동, 회전, 스케일링)이라고 말한다. 점 사이의 거리나 라인 사이의 각도를 수정할 수 있지만 직선(straight line) 및 평행선(parallel line) 사이의 평행관계는 유지한다. Affine matrices는 3x4 matrix를 사용한다. ( non affine은 4x4를 사용.) 1. 순서는 PRS이다. (Position, Rotation, Scale) 2. 왼손 좌표계, z up system이다. (dx는 y up system) 3. P x R x S ..

Hash 함수 모음

// RS Hash Function unsigned int RSHash(const std::string& str) { unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; for(std::size_t i = 0; i < str.length(); i++) { hash = hash * a + str[i]; a = a * b; } return (hash & 0x7FFFFFFF); } // JS Hash Function unsigned int JSHash(const std::string& str) { unsigned int hash = 1315423911; for(std::size_t i = 0; i < str.length(); i++)..

PartialPrecision

// D3DXSHADER_PARTIALPRECISION // Force all computations in resulting shader to occur at partial precision. // This may result in faster evaluation of shaders on some hardware. 이 옵션을 사용하면 shader의 float의 정밀도를 반으로 줄인다. 그럼으로 인해서 shader들의 연산 속도를 높인다. // 그 외 기타 shader 옵션 //---------------------------------------------------------------------------- // D3DXSHADER flags: // ----------------- // D3DXSHA..

2011. 4. 15. 10:30

max export 4. 폴리곤 정보좀 볼까?

그래프에서 왼쪽 "Base Objects"를 누르면 Object 타입이 나온다. 이 Object가 무었인지에 대해 이야기 하기 전에 node에 대해 살짝 알아보고 넘어가는게 좋을 듯 싶다. node란 무었인가? 3ds 맥스 뷰포트에서 오브젝트에 대한 가시적 표현을 node라 부른다. 뷰포트에서 선택되고 이동될 수 있는 것과 노드 사이에는 1대1관계가 존재한다. node는 max의 장면상에서 오브젝트와 1대1 대응하는 아이템이다. 모든 절차적 오브젝트, 라이트, 카메라, 헬퍼 오브젝트등 뷰포트에나타나는 것은 연결된 node를 가진다. Object Object 클래스는 화면에서 보이는 모든 요소들의 기반 클래스이며 INode:GetObjectRef()함수를 통해 얻을 수 있다. max 표준 프리미티브와 ma..