본문 바로가기

Houdini

RIGID BODY_14 접한면에 자동으로 컨스트레인트 구하기 - Ep14_Part01. 의자 다시 만들기 Rigid Body 시뮬레이션에 사용해볼 의자 만들기를 해봅시다 :) 원점을 기준으로 의자 시트 만들기 의자의 다리의 위치가 될 좌표로 cx, cz를 잡고, 의자 시트의 두께로 cy를 사용 이때 cy는 원점에서의 좌표이기 때문에 실제 의자 시트의 두께는 cy x 2 가 된다. 베이스 박스를 만들어주고(가로 / 세로의 길이가 cx, cz가 되는) 그 박스의 모서리에서 다리의 두께만큼 더 밖으로 이동해서 의자 시트의 크기가 될 수 있도록 작업을 진행한다. 의자 시트를 만들기 위해 8개의 포인트를 정해보자. 포인트 하나의 위치를 구해주면, 다른 포인트들의 좌표를 계산하기가 굉장히 편해진다. ex) 초록색 포인트는 원점, 빨간색 포인트의 좌표는 {cx, -cy, cz}일 때, 파란색 포인트의 좌표는 빨간 포인트.. 더보기
RIGID BODY_13 GLUE, HARD, SOFT CONSTRAINT - Ep13. 글루, 하드, 소프트 컨스트레인트 기본기 Glue Constraint 딱풀 Hard Constraint 강한 복원력 Soft Constraint 약한 복원력(값에 따라 강한 복원력도 가능) 예제 1) 예제 2) 물체 사이의 관계(constraint)를 만들 때, 각각의 물체의 위치를 대변하는 포인트가 존재했다. constraint 작업을 진행할 때 신경써야했던 부분은 대변하는 위치가 가지는 이름이었다. 대변하는 포인트가 가지는 이름과, 물체의 이름을 동일하게 맞춰줌으로써 rigid body solver가 인지할 수 있었다. 지금까지는 물체를 대변하는 포인트의 위치를 (위의 이미지와 같이) 그 물체의 중심에 위치하도록 해줬었다. 하지만, 만약, 어떠한 물체를 대변하는 포인트의 위치가 물체의 중심이 아닌, 물체에 외접하는 어느 한 부분이라면? 혹은.. 더보기
RIGID BODY_12 ACTIVE, ANIMATED, DEFORMING & 진자운동 - Ep12. AAD 개념과 세팅 & 진자운동 오늘의 목표 진자 운동 구현을 위해 필요한 내용 sphere의 충돌 : RBD Packed Object로 구현 가능 추가 어디엔가 메달려 있는 것 : 이게 문제 선을 고정해주는 다른 물체가 존재한다. 위 이미지를 기준으로 물체 - 물체 간의 관계를 유추해보자면... 위에 고정해주는 두 점과 아래 무거운 추, 그것들을 이어주는 선 constraint로써 선을 활용 sphere가 올라갔다가 내려가는 이유 : 중력 때문 위에 두 점은 움직이지 않는다. > 시뮬레이션에서 오브젝트로써 역할은 하지만, 움직이지는 않는다.(고정되어있다.) 새로운 어트리뷰트를 알아야한다.(i@active) 오늘 새로 배울 어트리뷰트 i@active RBD Packed Object에 올린 물체가 시뮬레이션의 영향을 받는지 안받는지 설정.. 더보기
RIGID BODY_11 CONSTRAINT 기본 개념 - Ep11. Constraint 기본 개념 (역시 겁나 중요) Constraint Rigid body의 꽃 Constraint를 겁먹지 않고 의도에 맞게 다룰 수 있느냐 없느냐가 매우 중요하다. Constraint = Rigid body 시뮬레이션의 무한한 가능성과 다양성을 판가름하는 것 constraint 직역 : 제약, 제한, 통제 물체와 물체 사이의 관계(Relationship between A & B) constraint의 관계 glue : 물체끼리 풀처럼 붙어있는 관계? hard, soft : 물체끼리 딱딱하게 / 부드럽게 붙어있나? cone twist slider : 회전과 관련된 무언가? spring : 용수철과 같은 밀고 당기는 힘인가? constraint 관계는 상황과 조건에 따라 A 관계에서 B 관계로 바뀔 수 있다. ex) glue > sprin.. 더보기
RIGID BODY_09 기본기 마무리_ 총알+레고+나무플랭크 복합 시뮬 - Ep09. 총알+레고+플렝크 소싱으로서 시뮬레이션하기 수업의 진행순서 각각의 자료(총알, 레고, 나뭇조각)에 대해 자료정리(name, prep_name 등) Sourcing Proxy Simulation High Detail ↔ Proxy 변환 복합 시뮬레이션 - 총알 (난이도 : 하) Proxy 버전의 총알을 불러온다. 하드 디테일의 총알도 불러와준다. RBD Packed Object를 사용하기 위해서는 두 오브젝트 모두 packing을 해줘야한다. 현재 초반의 세팅부분부터 마지막 치환과정을 고려할 필요가 있다. 그렇기 때문에 packing을 하되, 방식을 살짝 바꿔줄 필요가 있다. Pack 노드에서 바꾸고 싶은 부분이 있다. 바로 'Pivot Location'이다. Pivot Location : 오브젝트가 Dop Network에 들어가서 계산이 될 때 .. 더보기
RIGID BODY_08 PROCEDURAL LEGO MODELING - Ep08. 프로시쥬럴 레고 모델링 Procedural modeling 논리적으로 만들어서 최대한 사용자의 편의에 맞게 대응하는 시스템을 구축 강의 순서 전체 제작 과정 기술 확인 - 어떠한 기술과 스킬이 필요한가 레고 블럭이 어떤 규칙으로 생겼는지 확인 re) 전체 제작 과정(1번과 유사) 모델링(실 작업과정) Colors 어떤 과정을 통해 레고블럭이 만들어지는지 전체 제작 과정을 살펴보자. 핵심이 되는 포인트의 위치를 직접 잡아줘야한다. 이렇게 위치시킨 포인트를 바탕으로 어디가 꼭짓점인지 알 필요가 있다. 그리고 포인트를 사용해서 박스를 만들어준다. 밑면 제작을 위해 boolean 노드가 사용된다. 레고끼리의 결합을 위한 스터드(stud)를 만들어준다. 밑면의 스터드가 끼워질 수 있는 홈도 만들어준다. 그리고 시뮬레이션을 위한 prox.. 더보기
RIGID BODY_07 SOURCING 제일 중요한 날⚡물체 한번에 여러개 올리기⚡ - Ep07. Custom SOURCING + Solver 복습 오늘의 핵심내용 rigid body 시뮬레이션에서 사용할 물체를 sourcing하는 방법 (custom sourcing) 지난 시간의 핵심내용 Geometry Spreadsheet를 이해하고 원하는 자료를 Object Merge로 불러내기 Transform Pieces '그릇' RBD Packed Object 우리가 배우려는 것 RBD Packed Object에 사용하고싶은 물체를 어떻게 불러오느냐 (일반 solver를 다룰 줄 알아야한다.) 일반 solver를 가지고 시간에 따라 물체를 등장시켜보기 solver 작동의 핵심 이전 프레임의 결과를 바탕으로 solver 안에서 한 사이클이 시작되고 이번 사이클의 결과를 solver의 결과물로 사용하는 것 solver에게 시키고 싶은 일 1) 15 프레임에 .. 더보기
RIGID BODY_06 SIMULATION 데이터 부르기 + 총알 만들기 - Ep06. DOPNET DATA 이해하고 불러오기 + 총알 모델링 수업 진행 순서 Object 자료 준비(모델링) Simulation Setup 결과 분석 & Instancing 출력(RENDER) 핵심 스킬들 Object Merge로 시뮬레이션 결과 부르기 & Geometry Spreadsheet 이해하기 시뮬레이션 결과를 geometry spreadsheet와 함께 대조하면서 보고 이해하고 추가적인 후작업을 할 줄 알아야한다. 처음에는 익숙치 않고 어렵다. 그 이유는 하나의 시뮬레이션 결과에서 제공받는 정보가 굉장히 다양하기 때문이다. 시뮬레이션 결과 중에서 원하는 내용을 임의로 꺼내서 사용할 수 있어야한다. Sourcing in Dop Network(SOP Solver & SOP Network) 첫번째 스킬을 다룰줄 알아야 올바르게 할 수 있는 내용 dop net.. 더보기