본문 바로가기

Houdini/Houdini1_Starter

STARTER10 목차 중간고사 풀이 source 만들어주고 solver에 불러서 포인트 누적하기 초기 속도 one direction Gravity & point Gravity 포인트를 선으로 묘사할 수 있는가 없는가 포인트의 소멸 바람 VEL UPDATE source에 흑백으로 패턴 주기 첫 Birth 위치에 대해 일기 아... 중간고사 과제 수행한 것이 100프로 만족이 되질 못하니까(하다못해 80%라도) 강의를 보기가 매우 찝찝하다. 문제 풀다가 답지 보는 기분...? 이런 기분 다시 느끼지 않도록 최선을 다하자.(물론 중간고사 과제를 최선을 다하지 않은 것은 아니다...) 이번 강의는 중간고사 힌트영상 이후에 보게 될 내용이기 때문에 바로 체크리스트를 하나씩 지워가면서 빠르게 진행해볼 예정이다. 그리고 이제는 어느.. 더보기
STARTER09_고난주간 6일차_Point Gravity (2차 수정) 목차 point gravity 중간고사 문제 일기 규칙을 말로 쓰고 풀어서 쓸 수만 있다면 이번 과제, 할만 했을 것이다. 오늘 작업할 solver의 세팅은 기존에 해오던 것에서 출발하는 것이 아니라, 백지 상태인 빈 지오메트리에서부터 다시 시작해볼 것이다. 5일차, 6일차, 7일차 모두 solver를 통한 점의 움직임을 다루지만 세팅이 조금씩 다르다. 간혹 오해할 수 있는데, 1일차에서 7일차로 갈수록, 더 올바르고 완벽한 세팅이다 라고 생각할 수 있다. 그런데 절대 그렇지 않다. 지금 우리가 가져야할 목표는 유연하게 '이럴 때는 이렇게 하자', '이럴 때 이런 세팅은 필요가 없구나' 하면서 작업하면 된다. 이런건 이렇게 잡는 것이 정답입니다. 이런것은 옳지 않다. 정해진 하나의 정답, 후디니에는 없다.. 더보기
STARTER09_고난주간 5일차_Gravity & Substeps 지금 우리는 일반 solver를 가지고 pop solver와 비슷한 시스템을 구현해보고 있는 것이다. 물론 완벽한 시스템도 아니고, 예외상황도 발생하고 물리법칙도 완벽하지 않지만, 이 과정을 거치고 dynamic solver를 가면 별거 아니네? 하게 될 것이다. 모든 랭글러를 위하여! 예제 1) 중력을 묘사해 보자. 지금까지 배운 것으로 중력을 묘사하면 문제가 발생한다. 어느 순간 제대로 튀어 오르지 못하고 바닥에서 갑자기 파파박 팝핑이 되는 순간이 온다. 우리가 만들어준 충돌에 대한 정의 때문에 포인트가 한 번은 벽 바깥으로 나갔다 오게 되는데 너무 많이 나갔다 들어오게 되는 부분이 아쉽다. (충돌 시점에 바운더리를 넘어가서 콕 박히는 느낌이 있다.) 그렇기에 우리가 이번 시간에 개선해야 할 점은 크.. 더보기
STARTER09_고난주간 4일차 목차 예제1 풀이 예제2 풀이 5일차 문제 일기 다른 물체가 가지고 있는 attribute를 거리 조건에 따라 가지고 오는 노드 - Attribute transfer 노드 예제1) 정보를 전달받을 Grid를 생성해주자. 우리는 빨간색 정보를 grid에 넘겨야 한다. 정보를 전달해줄 Sphere를 생성하자. attribute wrangle을 달고 빨간색을 입력해준다.(@Cd = set(1,0,0);) attribute transfer 활용해서 Sphere의 색을 Grid에 넘겨준다. 이 때, Grid의 기본 색상은 1,1,1 로 존재할 것이다.(기본값) Grid에 attribute wrangle을 달고, 컬러 어트리뷰트를 선언하기만 해도 기본값이 1,1,1 로 들어가있다. 만약 스피어의 빨간색(1,0,0).. 더보기
STARTER09_고난주간 3일차_Bounce with Solver 목차 고난주간 2일차 숙제 풀이 오늘의 숙제 일기 정보를 머리에 넣는 것도 중요하지만, 지금은 실력을 키우기 위해 자기 자신을 억지로라도 몰아붙여야 한다. 고난주간 2일차 과제 풀이 오늘은 간단하다. 대신 오늘의 규칙을 스스로 말로 뱉을 수 있어야 한다. 우리는 이미 속도를 주면 포인트가 움직일 수 있도록 만들어줄 수 있다. 그런데, 공이 벽에 부딪히게 되면 어떻게 될까? → 이부분이 핵심이다. 공이 벽에 부딪혔을 때, 속도가 어떻게 변하게 될지에 대해서 써 내려갈 수 있다면, 만들 수 있을 것이다. 임의의 벽이 있다고 가정하고, 그 벽을 튕겨져나오는 공 같은 점의 움직임을 구현해 보자. 일단 임의의 벽을 만들어보자. Grid node를 호출하고 size를 160 by 90으로 만들어준다. 그리고 row.. 더보기
STARTER09_고난주간 2일차 목차 고난주간1일차 숙제 설명 오늘의 숙제 일기 본인이 직접 시도해보지 않는 것은 강의가 아무런 의미가 없다. 작업에 대한 접근 자체가 막막하다면, 떠오르는대로 해결해야하는 요소를 다 써보자. 그러면 무엇이 더 급한 내용인지, 작업에 대한 순서를 어떻게 나열을 할지, 상대적으로 금방 떠오를 수 있다. (혹은 내가 현재 필요한 기술이 무엇인지, 아니면 필요를 위해 무엇부터 공부를 해야하는지) Interval - 오늘의 중요 포인트 일단 interval을 고정하고 작업을 진행해보자(선생님은 5로 고정) solver는 어떤 판단을 스스로 해줘야할까? 이전 프레임과 비교를 해서 방향전환을 할 것인가 방향을 유지하면서 그대로 진행할 것인가 방향을 유지하다가 인터벌 타이밍이 되면 turn을 하게 된다. turn에 .. 더보기
STARTER09_고난주간 1일차 목차 숙제 풀이 오늘의 숙제 일기 어제 숙제의 아이디어 우리가 가지고 있는 포인트 3개(혹은 n개)가 어떤 운동을 시작하게 될 것이다. 그리고 운동의 원인은 Solver에 있을 것이다. 이 때 우리는 어떠한 기준을 만들어줄 것이고, 그 기준의 안은 영역(범위)이 될 것이다. 우리가 가진 포인트가 운동을 하다가 이 영역 안쪽에 들어가면 condition은 red가 될 것이고, 영역 밖에 있을 때는 condition은 no가 될 것이다. 이때 우리가 가진 포인트가 condition이 red일 때의 시간을 redlife로써 저장해줄 것이다.(frame 단위로 저장된다.) 각각 포인트가 가지는 redlife가 다르게 되는데, 그 이유는 각 포인트가 움직이는 속력이 달라서 condition이 red인 영역에 머무.. 더보기
STARTER08_Solver 목차 Solver 오늘의 숙제(업데이트 중) - 업데이트 일기 모든 랭글러를 위하여! Solver : 시간에 따라 주어진 세팅에 맞게 작업을 수행해 주는 것 pop solver : 시간에 따라 주어진 세팅에 맞게 파티클이 생성되는 시스템 pyro : 시간에 따라 주어진 세팅에 맞게 볼륨 정보가 생성되는 시스템 이 중 가장 기본이 되고 가장 쉬운 것이 Solver이다. 여기에서 뉘앙스를 잘 잡고 다른 Solver로 넘어가는 것이 매우 중요하다. 지금 기본기와 뉘앙스를 중무장시키고 막상 다른 Solver를 다루게 되었을 때, 생각보다 쉽다는 느낌을 받을 수 있기를...!!!(그러고 싶다...) Solver Node Cache Memory 얼마나 많은 정보를 캐시로서 임시저장할 것인지, 아니면 내 디스크에 실.. 더보기