오늘의 핵심
하체 세팅 + 서스펜션 세팅
이제부터는 찌그러지는 것을 염두에 두고 작업을 진행한다.
하체 부품 중 찌그러지는 부위와 찌그러지지 않는 부위가 존재할 수 있는데, 어떻게 구분지을 것인지에 대해 생각해보도록 한다.
이번 작업은 다른 작업에 재활용이 가능한 세팅이 아니고, 이 작업에 특화된, 주어진 자료를 위한 하나의 완벽한 세팅을 추구한다.
누가 더 꼼꼼하게 작업하느냐의 싸움이다. 꼼꼼하지 못하면, 엉성해지게 되고, 결과 또한 별로일수밖에 없다.
하체 세팅과 chassis와 연결해주는 작업이 가장 어려운 작업이다.
하체 세팅이 중요한 이유
- 간섭 방지 때문 : 하체 세팅을 중심으로 아래쪽에 존재하는 바퀴 + chassis 와 위쪽에 존재하는 자동차 부품들 사이의 간섭이 발생하지 않도록 해줘야한다.
- 하체 세팅과 바퀴 + chassis는 간섭이 발생할 수도 있지만, 그 간섭을 최소화해주는 것이 맞다.
하체는 하나의 조각으로 준비가 된다. 그리고 3분할을 내줘서 앞 / 뒤는 찌그러지는 세팅, 가운데는 부러지지 않도록 세팅을 잡을 예정이다.
하체 세팅의 핵심
- 간섭이 일어나지 않아야한다.
proxy 데이터를 겹쳐보면 이미 간섭이 일어나는 부분들이 존재한다.
이 부분들에 대해 간섭이 발생하지 않도록 하체의 일정 부분을 도려내주도록 한다.
- boolean 노드를 이용하면 된다.
바퀴는 상황이 조금 애매하다.
chassis는 bound 노드를 사용해서 bounding box의 padding 값을 좀 더 키워줌으로써 간섭이 발생하지 않도록 공간을 만들어줄 수 있었지만, 바퀴의 경우는 box를 사용할수도, sphere를 사용할수도 없다.
- proxy 데이터를 만들 때 사용했던 proxy_maker의 내용을 살짝 변형시켜서 크기를 좀 더 크게 만들어준 뒤 그 데이터를 사용해서 boolean을 적용해준다.
이제 조각을 내고, dop network에 넣을 준비를 해보자.
bottom에 대한 조각을 나눠줘야한다.
- 위에서 언급한 것과 같이 앞 / 뒤는 찌그러지도록, 가운데는 절대 부러지지 않도록
- boolean 노드를 사용해서 분류해준다.
bottom을 나눠주고 각 조각에 대해 지난번에 만들었던 frac, proxy, constraint를 만드는 system을 적용하면 이름과 관련해서 중복되는 데이터가 발생할 수 있다.
각각 조각에 대해 앞쪽 조각은 @parts 뒤에 '_front"를, 중간 조각은 '_mid'를, 뒤쪽 조각은 '_rear'를 붙여주도록 한다.
constraint 세팅을 해준다.
bottom을 세 덩어리로 쪼개놓았기 때문에, 각 덩어리들 사이의 결합력이 존재해야한다.
앞 / 중간(혹은 중간 / 뒤) 덩어리 사이의 서로 가까운 조각들을 blast로 떼어내주고, 각 조각에 대해 add 노드로 포인트만 남겨준 다음, nearpoint function을 사용하던, ray 노드를 사용하던 해서 가장 가까운 위치의 다른 덩어리의 포인트를 구해준 다음, 서로를 선으로 연결해준다.
바로 서스펜션 세팅까지 진행하도록 한다.
선생님은 임의의 위치만큼 포인트를 위로 올려준 뒤, @name 정보를 attribute copy 노드로 받아와서 서스펜션을 위한 세팅을 진행하셨다.
나는 임의의 위치만큼 올리는게 좀 찝찝해서... ray 노드로 최단거리로 쏴주고 @name도 받아오고 해서 서스펜션 세팅을 진행해보았다.
서스펜션 세팅 후, dop network에서 soft constraint로 복원력을 가지는 서스펜션 세팅을 만들어주면 된다.
이제 앞 / 뒤 bottom이 찌그러질 수 있도록 세팅해주면 된다.
앞 / 뒤 bottom의 constraint name을 찌그러지지 않을 부품과는 다른 이름으로 바꿔주고, dop network 세팅에서 constraint가 충돌이 발생했을 때 변할 수 있도록 sop 세팅을 진행한다.
찌그러지는 세팅은 지난번에 작업해줬던 철의 찌그러지는 효과를 이용하면 된다.
dop network 안에서 찌그러짐을 확인했다면, dop network 밖에서도 찌그러지는 것을 확인할 수 있어야한다.
- point deform을 이용한다.
bottom의 앞 / 중간 / 뒤 덩어리 시뮬레이션 결과를 다 불러오고, 시뮬레이션 초기 타이밍을 기준으로 삼아서 bottom 원본 데이터를 point deform 노드로 구겨지는 애니메이션이 적용될 수 있도록 해준다.
- 이 때, bottom 원본 데이터의 면의 수량이 적기 때문에, divide 노드를 사용해서 면의 수량을 늘려주는 작업을 선행해준다.
이제 위쪽에 남은 부품들을 꼼꼼하게 달아보도록 하자~!!!!
'Houdini > Houdini1_Rigidbody' 카테고리의 다른 글
RIGID BODY_19 COMPLEX 자동차 충돌 - Ep19_Part 06. BEND vs BREAK vs SMALL (0) | 2023.05.17 |
---|---|
RIGID BODY_19 COMPLEX 자동차 충돌 - Ep19_Part 05. 바디와 트렁크 쌓기 (0) | 2023.05.16 |
RIGID BODY_19 COMPLEX 자동차 충돌 - Ep19_Part 03. Fracture System 준비 (0) | 2023.05.13 |
RIGID BODY_19 COMPLEX 자동차 충돌 - Ep19_Part 02. 휠 & 서스펜션 (0) | 2023.05.11 |
RIGID BODY_19 COMPLEX 자동차 충돌 - Ep19_Part 01. 자료 분석 및 메터리얼 세팅 (1) | 2023.05.10 |