Vector Addition 개요 및 목적 이번 챕터에서는 Vector구성요소, 방향(direction)과 길이(length) 혹은 크기magnitude)을 컨트롤 하는 방법으로 Vector Addition과 Subtract을 소개합니다. 오브젝트나 포인트 사이의 거리나 넓이를 계산하거나 벨로서티의 방향을 같은 힘의 크기로 바꾸거나 변형을 주어야 할때 유용할 것입니다. What is Vector? Vector는 방향(direction)과 길이(length or Magnitude) 를 가지고 있습니다. Vector = Direction * Magnitude 로 분리할수 있습니다. 이것은 후디니에서 Velocity를 컨트롤 할때 좋은 힌트가 됩니다. 방향설정후힘을 자신이 원하는 값으로 언제든지 변화를 줄수 있습니다. Velocity(속도) vector를 Houdini wrangle node 에서 다음과 같이 정의 할 수 있을것입니다. vector Direction = normalize(@v); float Magnitude = length(@v); @v = Direction * Magnitude; 이와 같이 후디니의 펑션을 이용하면 간단하게 결과를 얻을수 있다. 펑션이 담고 있는 수학적인 내용은 다음과 같다. Vector의 방향을 구하는 방법(Normalize) Normalize는 벡터의 길이는 1의 단위로 만드는 것입니다. 이렇게 함으로서 수학적으로 계산이 간단해지고 데이터 활용에 많은 가능성이 열리게 됩니다. Houdini Wrangle vector Direction = normalize(@v); 길이를 구하는 공식(Magnitude, length formula) 길이를 구하는 방법으로 피타고라스 정리를 사용해보겠습니다. * 피타고라스 정리 : 직각 삼각형의 두 직각변 를 각각 한 변으로 하는 정사각형 면적의 합은 빗변를 한 변으로 하는 정사각형의 면적과 같다 c 2 = a 2 ...
움직이는 캐릭터나 사물에 Procedural 한 쉐이더나 Noise 패턴 혹은 scattering point를 추가 하고자 할때 Rest Position을 이용합니다. 그렇지 않고 작업을 했을때는 패턴이 흐르는 느낌이 들거나 scatter의 point위치가 바뀌게 되어 제대로된 결과값을 갖기 힘듭니다. Rest Position이란 사물이 고정되어있을때의 위치값을 이야기 합니다. https://youtu.be/OJ2wSqlL6sw 1. Houdini Chracter인 crag을 unpack 합니다. 2.. point vopsop에 tubunoise를 Cd에 연결한후에 play 해봅니다. 노이즈가 미끄러지듯이 흘러가는것을 확인할수 있습니다. 3. unpack 노드 아래에 rest node를 연결하고 오른쪽에 TimeShift노드를 연결합니다. TimeShift의 Frame을 $F에서 1로 바꿔주어 rest position상태를 만듭니다. 4. 처음에 만들었던 noise 노드 P에 생성한 bind노드를 연결합니다. rest (vector)로 Name을 바꿔줘야합니다. 5. Play 하면 노이즈 패턴이 캐릭터에 붙어서 움직이는 것을 확인할수 있습니다. 궁금한게 있으세요~~? 이곳에서 함께 나눌수 있어요. 두밥 1:1 카톡상담방 두밥 그룹채팅방
vex를 사용함에 있어서 반복해서 사용하는 함수 라이브러리를 만들어서 사용하면 유용할때가 있습니다. 나만의 랜덤 함수를 만들어보겠습니다. myRandom 이라는 함수고 이것은 후디니에 있는 함수가 아닙니다. #include 에서 나만의 myRandom.h 파일을 불러왔습니다. myRandom.h 파일의 구성은 이렇습니다. float myRandom(float min;float max;int pt) { return rand(pt)*(max-min)+min; } myRandom(minvalue, maxvalue, int(정수)) 로 이루어져있는 함수입니다. 결과 값은 1과 4 사이의 값을 return 합니다. 노트패드 하나를 열어서 myRandom.h 라고 파일을 만들어준후에 위의 내용을 적어주고 저장합니다. 그리고 wrangle 노드에서 #include "경로/myRandom.h" 이라고 하면 자신이 만든 라이브러리 파일을 불러올수 있습니다. 쉽죠?. ~ 궁금한게 있으세요~~? 이곳에서 함께 나눌수 있어요. 두밥 1:1 카톡상담방 두밥 그룹채팅방
댓글
댓글 쓰기