회원 로그인
|
[펌] 오브젝트 스쿼시/스트레취 셋업
오브젝트 스쿼시/스트레취 셋업
0. 컨트롤(직관) 혹은 속성(간접)을 조절하면 공이 스쿼시/스트레취 되게 하는게 목적.
1. 즉 컨트롤(직관) 혹은 속성(간접)을 조절하면 측정노드를 통해 변화된 수치를 파악하게끔 해서 연산노드를 통해 오브젝의 스케일과 연결시키도록 구조화한다. 마지막으로 그러게 세팅된 뼈대에 오브젝트를 패런트 혹은 패런트구속하면 된다.
과정.
2.1. 구를 생성한다.
2.2. 컨트롤을 만든다. 스쿼시/스트레취를 조절할 수 있는 컨트롤과 전체를 움직일 수 있는 컨트롤을 만든다.
2.3. 구의 피벗은 밑바닥에 둔다(스쿼시/스트레취의 시작점)
2.4. 꼭지점쪽의 컨트롤을 움직이면 오브젝트가 그 방향으로 기울기 위해서 ik 핸들을 쓴다. 그러기 위해서 뼈대 구조를 만든다. ik은 컨트롤이나 나중 생성될 로케이터에 패런트하면 된다. 그리고 오브젝트를 루트 뼈대에 패런트구속시킨다. [볼의 움직임 세팅]
2.5. 컨트롤을 움직이면 생기는 그 거리차를 측정하기 위해 distance tool 기능을 쓴다. 로케이터가 두개 생길 것이다. 이걸 각각 컨트롤에 단다(구속시킨다). [볼의 스쿼시/스트레취를 위해 생겨난 로케이터의 계층구조작업?]
2.6. 마지막으로 하이퍼 쉐이더창과 컨넥트 에디터창을 이용해 작업한다. distance노드의 아래 구조인 distane의 shape노드의 거리속성을 멀티디바이드노드를 생성시켜 input1의 y값과 연결. 이 y값을 다시 오 브젝트의 스케일 y축과 연결한다.
즉 컨트롤을 움직이면 거기에 딸려 있는 로케이터들의 사이 거리값이 측정되어 그 값이 멀티디바이드노드를 통해 오브젝트의 스케일과 연결된다.
* 여기서 바로 연결하지 않고 멀티디바이드를 쓴건. 스쿼시/스트레취되면 오브젝트가 길어지거나 줄어드는 대신에 부피는 유지해야 하기에 다른 스케일축을 반대로 조절해야 한다. 멀티디바이드 노드의 구조는 입력값1을 입력값2(상수1로 고정)가 나누어(혹은 경우에 따라 다른 연산) 그 값을 아웃풋으로 뽑아낸다. 예를 들어 높이 스케일이 2배로 길어지더라도 부피를 유지하기 위해 가로와 세로 스케일은 어떤 비율 만큼 줄어야 한다. 여기서는 그 어떤 비율을 방정식을 써서 정확한 값을 뽑아내지 않고 이 멀티노드 이용해 다른 스케일을 반으로 줄이는 보기에만 그럴듯하게 했다. 즉 다른 스케일을 줄이기 위해 거리값만 사용할 수 없기 때문 1/거리값을 이용하기 위해 멀티디바이드 노드를 사용.
* 굳이 멀티의 인풋값을 y값을 선택한 건 나중 아웃풋이 연결된 오브젝트의 높이가 통상 y축으로 표명되기에 개념을 쉽게 일치시키기 위해서.
출처> 옛 동료
- op.zip (16KB) (0)
댓글 0개
| 엮인글 0개
466개(1/24페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
마야 뷰포트 네비게이션 팁 | 푸딩뱃살 | 43777 | 2020.04.06 17:22 | |
Maya 버전 별 Python 버전 | 푸딩뱃살 | 64959 | 2014.01.08 17:59 | |
464 | [Dev] Autodesk Maya Devkit 다운로드 | 푸딩뱃살 | 704 | 2023.01.28 14:28 |
463 | [Base] (해결 중) modules 환경설정 중 | 푸딩뱃살 | 652 | 2022.11.09 11:47 |
462 | [Script] pymel 딕셔너리형 사용 시 KeyError | 푸딩뱃살 | 864 | 2022.11.07 12:08 |
461 | [오류] Building Numpy for Maya Python 2.7.x | 푸딩뱃살 | 598 | 2022.10.23 14:38 |
460 | [Base] 뷰포트에서 조절자가 안 보일때 | 푸딩뱃살 | 786 | 2022.10.13 15:47 |
459 | [Rigging] mirror joints 사용 시 유의 사항 | 푸딩뱃살 | 801 | 2022.10.04 10:46 |
458 | [Script] 2022에서 enum34 모듈 설치 금지 | 푸딩뱃살 | 609 | 2022.08.17 18:08 |
457 | [Script] pymel 예제 | 푸딩뱃살 | 624 | 2022.07.05 19:20 |
456 | [Script] 인코드 / 디코드 - 2.7 한글 사용 | 푸딩뱃살 | 900 | 2022.03.08 17:52 |
455 | [Dev] ui 없이 mayapy로 자동화 | 푸딩뱃살 | 704 | 2022.02.17 13:56 |
454 | [Dev] mayapy로 ui파일 py로 | 푸딩뱃살 | 529 | 2022.02.15 18:20 |
453 | [오류] Error : MayaBonusTools | 푸딩뱃살 | 920 | 2022.01.21 17:52 |
452 | [오류] Error: ModuleNotFoundError | 푸딩뱃살 | 775 | 2022.01.21 16:24 |
451 | [Dev] mayapy | 푸딩뱃살 | 653 | 2022.01.19 20:08 |
450 | [Base] function selCom at 0x7f29c5c04aa0 | 푸딩뱃살 | 617 | 2022.01.19 17:24 |
449 | [Base] wireframe on shaded 단축키 만들기 | 푸딩뱃살 | 915 | 2022.01.04 10:55 |
448 | [오류] OpenCL Error | 푸딩뱃살 | 526 | 2021.12.28 01:40 |
447 | [Script] Easily Translate MEL Commands to Python | 푸딩뱃살 | 832 | 2021.12.02 11:22 |
446 | [Base] output window 띄우지 않기 | 푸딩뱃살 | 824 | 2021.11.24 21:44 |
445 | [Rigging] shapeEditorManager 삭제 안됨 | 푸딩뱃살 | 896 | 2021.11.12 23:30 |