목록전체 글 (57)
테드옹의 VFX
후디니에서 smoke와 flip은 볼륨을 베이스로 하는 시뮬레이션이다 다만 다른 점이 있는데 1. flip은 파티클의 어트리뷰트를 볼륨으로 바꾸어 field들을 advection시킨 후, 변형이 된 field의 정보를 파티클에 다시 전달한 후 position업데이트를 한다. 2. smoke는 voxel이 베이스인 시뮬레이션으로, 파티클과는 연관이 없다 좌우지간 둘 다 유체 시뮬레이션이고, 솔버의 내부에는 veloicty 따위와는 비교도 안될 정도로 중요한 Non-divergent project라는 노드가 있다. 즉, divergent 값을 0으로 만드는 것. (이 과정에서 pressure필드를 만들고 divergent를 0으로 만드는 counteract작업을 한다) 키워드 Mass conservation..
Dop 네트워크의 내부와 플로우는 Sop 네트워크처럼 직관적이진 않지만, 정해진 순서가 있다. 회색 라인 : solve의 대상이 되는 Object 녹색 라인 : object에 적용할 수 있는 data 청색 라인 : solver라인 예를 들어, 1. empty object를 생성하고, sop geomety로 포인트를 생성한다. 2. sop vector field를 생성한 후 볼륨 vector field를 임포트 한다(vdb볼륨은 안됨), sop vector field visual로 확인도 가능 3. apply data노드의 첫 번째 인풋에 empty object를 넣고, 두번째 인풋에 sop 노드 2개를 넣는다 4. multi solver의 첫번째 인풋에 apply data를 넣고, 두 번째 인풋에 gas..
두 번째 시뮬레이션을 진행하는 이유는 Constraints가 다 깨진 rbd piece들을 대상으로 큰 충격이 있었을 시, 또 다른 다이나믹을 추가하기 위해서이다. 다만, 원본 시뮬레이션의 다이나믹을 깨지 않는 선에서 해상도를 조금 더 추가하는 개념으로 생각해야함 이를 달성하기 위해서는 1. Constraints가 깨져있는지 확인해야함 2. 2차적인 충돌을 확인하기 위하여 impact데이터를 사용해야함 3. 너무 자잘한 piece을 대상으로는 2번째 fracture를 진행할 가치가 없음 4. 어느정도 다이나믹을 유지하기 위해서 원본 piece의 v, w값을 가져와야하고, 충돌이 있은 후에 2-3프레임 정도는 원본 모션을 따라가도록 해야함 (animated attribute) 5. 2차 fracture를 ..
일단 생각나는대로 쭉 쓰고 나중에 정리! [사용한 모듈과 간단한 예시] 1. os if not os.isDir(path): os.mkDir(path) 2. re모듈 3. subprocess모듈 Window -> python source editor를 키면 그 hip파일에 임베디드되는 파이썬 코드를 작성할 수 있다. hou.session.으로 접근할 수 있음 obj = hou.node("/obj") // obj컨텍스트를 참조하는 obj라는 객체 레퍼런스를 생성 myNode = obj.createNode("geo", "myGeo") // obj레벨에 myGeo라는 이름을 가진 geo노드를 생성 myBox = myNode.createNode("box", "myBox") // myGeo노드 안에 myBox라는 ..