script 17

MaxScript에서 Svn 접근하기

회사에서 맥스 스크립트를 많이 쓰게 되면서 스크립트 관리포인트가 상당히 많이 생겼습니다. 그러다보니 여기저기 버그도 발생하고, 누가 쓰고 있는지 알기도 힘들고, 업데이트 마다 mzp 파일 배포하는 것도 피곤하고.. 그래서 SVN이 도입되어 사용되어 왔습니다. 제 선임이 멋지게 구축해 놓은걸 저는 인계받아 쓰고 있는데요 맥스 스크립트에서 SVN에 접근하는 방식에 대한 내용 정리입니다. 출처 - http://hwanggoon.tistory.com/109 1. SVN Command Line 설치하기 다운로드 경로 : http://tortoisesvn.net/downloads.html SVN 설치시에는 반드시 Comand 라인을 설치해 줘야만 맥스 설치폴더에서 접근할 수 있게 됩니다. Command Line 이..

3DMAX/Script 2015.12.17

은면제거(2) - Hidden Surface 방식

기존에 제작한 은면제거 방식은 벡터의 내적이라는 수학 공식을 활용하여 카메라와 대치되는 각을 계산하여 면을 제거하는 방식이었습니다. 하지만 이 방식은 몇가지 단점이 존재합니다. 1. 각도를 계산해서 하다보니 카메라에 안잡히는 면도 각도조건만 맞으면 남아있게 된다. 2. 면이 깔끔하게 지워지지 않는다. 가령 면은 지워졌는데, 버텍스가 남는다던지.. 등등.. 여러번 시뮬레이션을 돌려보면 금방 알 수 있는 단점들이 존재합니다. 하지만, 이번에 제작한 Hidden Surface 방식은 렌더링 된 G-Buffer의 값을 얻어와 지오메트리의 렌더링된 면을 메모리에 기억하여 삭제하는 방식이라 더 깔끔하게 면들을 정리해줍니다. 단, 계산시간이 오래 걸릴수 있다는 단점이 있습니다. 이 부분도 차후에 개선할수있도록 해보겠..

3DMAX/Script 2015.12.17

은면 제거 스크립트

이 스크립트는 최적화를 위한 툴로서 카메라에 보이지 않는 면들을 제거하여 카메라렌더링에 대한 연산을 최소화 시키지 위한 툴입니다. 이번 과제를 해결하기 위해서는 삼각함수의 기본 원리와 벡터의 내적을 구하는 공식에 대한 이해가 필요했습니다. 카메라와 오브젝트간 벡터의 내적이 0보다 큰 수의 면만 선택하여 삭제하는 공식을 이해하는데 많은 시간이 필요했습니다. 카메라가 A이고 오브젝트의 한 단면이 B 이고 살리고 싶은 면이 C일때 C = a b cos@를 이용한 벡터의 내적을 이용하여 cos@가 0보다 큰면은 카메라가 바라보는 방향과 같은 방향을 바라보기 때문에 카메라가 잡히지 않는 구간입니다. 따라서 0보다 작은 마이너스 구간을 살리고 0보다 큰 플러스 구간은 삭제하면 됩니다. 이 공식을 이용하여 스크립트를..

3DMAX/Script 2015.12.17

캐릭터 셋업 책 정독 및 정리 - 1차 기초 다지며 개념잡기

맥스 스크립트와 캐릭터 셋업의 정석인 이상원님의 '캐릭터 셋업 테크닉'을 오랜기간 정독중에 있습니다. 1차로 정리한 내용을 올려볼까 합니다. 캐릭터 셋업 책 리포트 Seccion1 . 기초다지기> 개념을 잡자!(34p~291p) 1. 축의 개념 - 뷰, 로컬, 월드, 페어런트의 정확한 개념 이해하기 (1) 부모자식간의 개념 확실히 이해하기 - 링크관계일때와 아닐때의 위치 좌표의 변화 (2) 좌우 대칭이 되는 Point Helper 만들기 - 모델링 맵핑과 마찬가지로 좌우 대칭의 개념을 아는 것은 매우 중요하다. 로컬 트랜스폼에 대한 개념을 깨우치자. ​ 2. 본에 대해서 숙지하기 (1) 본 오브젝트는 위치, 회전, 스케일 정보만 가지고 있는 헬퍼라고 생각하는게 좋다. (2) 본의 Mirror와 일반 Mi..

3DMAX/Setup 2015.12.16

세 가지 컨트롤러(리액션 매니저, 와이어 파라미터, Expression)의 장단점 정리~

역관절로 접히는 본셋팅을 만들면서 세가지 컨트롤러 장단점 정리. 구현 영상 1.리액션 매니저(Reaction Manager) 방식 -결론부터 말하자면 별로 추천하지 않는 방식입니다. 셋팅을 하긴 하지만, 깔끔하지 않고 버그가 많으며 예외 상황 발생시 오류 수정이 힘듭니다. **구현방식 구현 방식은 Master가 되주는 어미본과 Master의 움직임에 의해 반응하게 될 자식본들을 Slave로 설정합니다. 그리고 State1과 State2에서 Master가 몇도 돌아갈때 SLave들이 반응해서 몇도 돌아갈지 수동으로 설정해줍니다. 그런후 Slider에 연결해 주면 위 영상과 결과가 출력됩니다. 2. 와이어 파라미터(Wire Parameter) 방식 - 나쁘지 않은 방식이긴 하지만, 셋팅해야 하는 절차가 많고..

3DMAX/Setup 2015.12.16

MAX의 캐릭터 셋업을 스크립트 코드로 처리하는 방식 정리(스크립트 컨트롤러)

스크립트컨트롤러가 필요한 이유 게임계에 일하는 애니메이터라면 매일 봐야 하는 바이패드.. 본으로 셋팅해야 하는 불편을 없애줘 인간형 애니를 잡을때는 정말 훌륭한 툴이지만 인간의 형태를 벗어날수록 한계점이 많은 녀석입니다.. 예를 들면 켄타로우스 처럼 발은 사족이고 상체는 인간형 같은.. 그런 한계점을 없애기 위해서는 바이패드를 여러개 사용하여 다양한 셋팅을 할수 있습니다. 하지만, 바이패드끼리 링크를 걸면 여러가지 버그가 많이 생깁니다. 링크걸린 바이패드가 위치값을 잘못계산하여 다른 위치로 튀는 현상이 매우 빈번히 발생합니다. 또한 링크된 두번째 바이패드에는 IK(Inverse Kinematic)애니를 줄수 없어 모션 작업이 어렵습니다. (애니메이션 작업을 해보면 알수 있는..) 그 외에도 엄청나게 많은..

3DMAX/Setup 2015.12.14

맥스 스크립트 첫 작업물~ 메쉬 LOD 변환툴

1.메쉬 LOD 변환툴 - LOD를 적용할 메쉬를 선택하여 수치를 정하여 메쉬를 변환시켜주는 툴입니다. 1. 툴 화면 2. 비대칭 실행시 적용화면 - 원본 오브젝트의 50퍼센트의 LOD를 적용하여 비대칭 메쉬를 새로 생성합니다. 3. 대칭 실행시 적용 화면 - 원본 오브젝트의 50퍼센트의 LOD를 적용하여 대칭 메쉬를 새로 생성합니다. - 이 스크립트 제작을 통해 배운 내용 1. if문의 사용법 숙지(조건문) 2. roll과 button을 사용하여 메뉴 창 생성하는 법 3. 오브젝트의 모디파이의 속성을 제어하는 방법 코드 원문 global TEST rollout noskin "스킨없을때" ( spinner noskin1 "버텍스수치" range:[0,100,50] type:#integer button b..

3DMAX/Script 2015.12.14