메뉴 건너뛰기

본문시작

조회 수 865 추천 수 2 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form
[요기서 진행할 tip은 R11.5 상에서 제작됩니다. 그렇다고 R12에서 안되는건 아니네요 ㅋㅋ]




흔히 cube의 경우는 top/right/front view를 오가면서 point를 움직이면

정확히 표면 위에 원하는 곳으로 옮길 수 있습니다.


움직여야하는 표면이 sphere(완전구체)라면 극 점을 제외하고는

perspective view를 이리저리 돌리며 간신히 위치나 파악하는 정도가 됩니다.

저도 역시 같은 노가다를 하다가 방법이 떠올라서 공유하고자 합니다.

(실상 LV3인데 강좌 하나 못 적은 것이 민망하기도 했어요 ㅡㅅㅡ;;;;)

============(서론 끝)======================================


1. (0,0,0) 지점에 위치한 반지름(radius) 600 짜리 sphere를 생성합니다.

t01.jpg

2. null object를 생성합니다. (전 point 라는 이름을 주었습니다.)
    그리고 point에 xpresso tag를 할당합니다.
    (우클릭하시고  CINAMA 4d Tag - Xpresso 를 누르시면 됩니다. 설마.. 혹시..에이.. 모르실리 없겠져~~~)

!! 주의 !! 
이후 단위벡터 계산의 원활함을 위해서 point는 0,0,0 이라는 초기 위치에서 아주 조금이라도 움직여 놓습니다.


t02.jpg

3. point에 위와같은 user data를 하나 추가합니다.

     float 이고 real 방식으로 표기되며 값은 0.01 단위로 움직이고 초기값은 0입니다.

     !!! 주의 !!! 값을 생성하셨으면 반드시 실제 설정치를 600으로 해주세요.


t00.jpg


4. 본격!!!!! Xpresso 코딩입니다.

(point 옆에 위치한 Xpresso tag를 더블클릭하면 Xpresso를 edit할 수 있는 창이 열려요...

에이..설마... 아시겠지...)


5. object window에서 point를 drag and drop으로 Xpresso edit window로 끌어옵니다.
   (이런 방식으로 계속 설명할라고 했는데... 정력부족(응?)으로 툭툭 넘어갈께요)

t06.jpg

   오른쪽 빨간 귀퉁이를 눌러서 Global point x,y,z와 user data인 set_radious를 나오게 해주세요.

    오른쪽 버튼을 눌러서 New Node - Xpresso - Calculate - COFFEE를 꺼내줍니다.

     COFFEE의 input를 real value로 2개 더 늘려주시고 이름을 x1, y1, z1, radius로 바꿔주세요.
     그리고 output은 real value로 총 6개를 만들어주시고 이름은 sx1, sy1, sz1, uvx, uvy, uvz 라고 해주세요.


6. 이제 COFFEE로 코딩을 할 차례에요. COFFEE node를 선택하면 Attrivutes window 하단에
     open COFFEE Editor가 있어열. 눌러주시고 아래와 같이 코딩합니다.

t03.jpg

원리는 간단합니다. 원점(0,0,0)에서부터 point 위치까지 해당하는 벡터 v1이 있다고 가정한후

v1의 절대적인 크기를 sN에 할당합니다.

그리고 이녀석의 크기로 각 x1, y1, z1를 나눠주면 단위벡터의 3값 uvx, uvy, uvz가 나옵니다.
(단위 벡터는 벡터의 방향은 유지한 채 크기는 1이 되는 벡터입니다. 망할 선형대수 시간에 나오죠 ㅋ)

그럼 단위 벡터를 노멀 벡터로 할당하고 sx1~z1 포인트에는 원하는 반지름 크기(radius)만큼 곱해주면 원하는 좌표로갑니다.
(단위 벡터를 노멀 벡터로 할당하는 이유는 항상 point의 z축이 중력을 받아서 지표면에 수직인 것처럼 만들어주려는 계략(?)입니다)



7. 자 이제 뭐 없습니다.

reals2vector node 2개와 vector2matrix node 그리고 matrix2HPB 노드를 각각 꺼낸 후

point node를 하나 더 만들어서 Global Position, 과  Global Rotation HPB 를 각각 불러와 주시고

아래 그림처럼 착착 연결합니다.

t04.jpg



==========(노가다 끝)========================



이제 제대로 붙었는지 확인을 위해서 point 아래에 cube 정도 만들어서 넣어주시고

원하는 크기로 조절하 신후 조명 때려보시면 그림자가 착 생기면서 나 여기 있네 할것입니다.

t05.jpg

t07.jpg

그럼 위 그림처럼 아무리 point를 움직여도 계속 surface 위에 있는 것처럼 나타나요 ㅋㅋㅋ





단!!!!!!!!!!!!!!!

절대적으로 sphere가 커지면 계산상의 오차가 발생하는 것인지....

조금씩 포인트가 들뜨는 현상이 생깁니다.

이때는 set_radius를 서서히 조절해서 surface위에 떨어지게 고쳐주셔야해요~~



==========================================


뭐 말로 백날 떠들어도 감이 안오시는 분들을 위한....

마지막 뽀나쓰(응? 당연한 건데 왠 뽀나스..)


제가 만든 c4d project file이에요.(우우!! 꺼져라.. 이게 모냐!!)

ㅡㅅㅡ;;; 모르시겠으면 까보세요... 
  • profile
    토튜월드 2011.01.28 10:09
    아..모지.. 다 쓰고 나니까 뭔가 창피한 강좌인듯합니다. 흑흑
  • ?
    워니 2011.03.20 11:35
    쉽고 친절한 강좌네요! 하지만 역시 수학이 약하면 COFFEE 부분은 이해하기 힘들 것 같네요. (이해 안되고 있음 ^^)
    나중에 꼭 좋은 곳에 이용해 먹겠습니다.
    감사합니다. ^-^)/
  • ?
    존재와당위 2011.04.08 12:35
    감사합니다.
  • ?
    종현 2012.06.11 17:03

    멋진 강좌입니다 ^^


연구소

research

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Advanced Render GI의 시대는 도래하는가..(GI 랜더러 비교) 16 file .피. 2011.06.20 4516
공지 모델링 연구 [아이디어 모집] 비누방울(거품, 거품막) 만들기 8 file 길동 2011.03.08 4238
158 플러그인 연구 5월의 튜토리얼 [C++ 기반 플러그인 개발] PART 1. 11 최걸 2012.05.13 768
157 렌더링 연구 V-ray에 관한 짧은 Stuff 8 .피. 2012.06.21 1020
» 스크립트 연구 sphere 표면(surface)위에서만 움직이는 point 만들기 4 file 토튜월드 2011.01.28 865
155 파티클 연구 TP- PDeflector기능 알아보기 7 file 아테니스 2010.07.07 736
154 모델링 연구 러시아(?) C4D 유저의 Tutorial Blog (logo, abstract ball, Composing Multipass) 17 file 오감자극 2011.07.24 1955
153 모델링 연구 육각 볼트, 나사 모델링_안쪽 스크류 만들기 1 file 테세락 2012.01.26 2424
152 Advanced Render R13 Physical Render - Lens Distortion Test [렌즈왜곡] 9 file 길동 2011.11.14 1467
151 V-ray Vray 카메라 무빙 GI 애니메이션 셋팅 방법 8 file 초사 2009.01.05 3012
150 Advanced Render 어드밴스랜더 셋팅값인데요-_ -;; 19 file 키야홋 2008.03.20 1417
149 모델링 연구 타공 스피어 모델링 하기~ 19 file 길동 2011.05.24 1867
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 18 Next
/ 18