joyofvex (12) 썸네일형 리스트형 Joy of Vex [Day17-3] quaternion의 angle은 radian으로 정보를 받고 있음 - 3.14의 값이 써진다면 각도는 180도 실제 각도를 써서 보는 게 더 직관적이므로 radians function을 활용 180 degree = 3.1415... radian = 𝝅 = $PI float angle = radians(chf("angle")); vector axis = chv("axis"); @orient = quaternion(angle, axis); 이렇게 하고 angle 값에 180을 입력하면 180도 회전하게 만들 수 있음 axis에 angle을 곱해주는 게 아니라 rand 값과 noise의 값을 각각 곱해줘서 결과를 확인해보면 rand는 0에서 1 사이의 무작위한 값을 도출, 프레임마다 다른 각도, 각각의 점들.. Joy of Vex [Day16] @N 그냥 그리드에 copy to points 하면 러버토이들이 다 위로 바라보는데, 노멀을 이런 식으로 적어주면 앞(z축 방향)을 바라보게 할 수 있다. 그리드 포인트의 노말 방향은 위쪽! @up 러버토이가 바라보는 방향은 앞이지만, 점이 있는 방향으로 머리가 기울게 됨 점의 위치에 애니메이션을 아래처럼 주면 반시계방향으로 도는 러버토이가 된다. 노멀라이즈 과정을 하지 않고. @N = {0,0,1}; vector get = point(1,"P",0); @up = get; 이렇게 바로 포인트를 가져와도 결과는 동일하게 나타나긴 한다. 씬뷰에서 마우스 클릭하고 E 누르면 edit 노드가 생성되고, esc 누르면 카메라 모드로 빠져나온다. edit을 두번 달아준 건 highlighted points를 지워주.. Joy of Vex [Day15] copy to points copying : 대체하여 붙여넣기 adding은 더하기, subtracting은 빼기 박스가 가지고있는 점에서 포인트가 가지고있는 점을 곱하고 더하고 빼줌 기본 세팅 * 는 모두, ^는 제외를 뜻함 @pscale - uniform scale이 변화하는 느낌 pscale 값은 불러오지 않아도 사이즈 변화가 됨 - 이 이유는 transform using target orientations가 체크되어있기 때문! @scale copy to points를 활용해서 @scale = {1,2,1} 이런 식으로 넣으면 y축으로 두배 길어진 결과를 얻을 수 있다. x,y,z 축의 비율을 다르게 스케일을 조정할 수 있음 grid를 바로 copy to points에 넣어서 결과를 보면 y축이 길.. Joy of Vex [Day14] point : 3D 공간을 구성하기 위한 가장 기본 요소 vertex : 배열, 순서를 만들어주는 규칙 primitive : 선,면 0번 프리미티브 하나만 가지는 선 add의 by pattern에 적은 숫자 순서대로 선이 연결됨 이런 식으로 써주면 형태는 똑같지만 두개의 프리미티브가 생성된다. 왼쪽처럼 입력을 하면 세 개의 프리미티브를 가지며 면은 만들어지지 않는다. 우측처럼 closed를 체크해주면 면이 생성되며 하나의 프리미티브만 생성된다. geometry spreadsheet 만 본다면 처음 만들었던 선과 똑같음 attribute wrangle로 점, 선, 면 만들기 addpoint로 점을 만들어주는데 이 정보는 int addprim 에 polyline을 입력해주면 선을 만들 수 있는데, addve.. Joy of Vex [Day12-1] nearpoint 적용해보기 첫번째 어트리븃에서 니어포인트 결과값인 pt라는 어트리븃을 만들어준다. 모든 점들에 대해 가장가까운 포인트넘버를 반환해줌 scatter로 점 세개를 뿌려주었기 때문에 @pt는0,1,2 중에 하나의 값을 가짐 blast로 pt의 숫자별로 각 점들을 분리해주는데, 그룹에 @pt == 0 이런 식으로 어트리븃에 쓰는 것처럼 써주면 된다. 두번째 어트리븃의 내용을 이렇게 적어주면 우측의 결과가 나온다. 이 모든 과정은 이렇게 하나의 어트리븃으로 표현해줄 수 있다. 파형 만들기 *@Time을 뺄 때는 floor 적용하기 전에 거리 값에서 빼줘야함! fxA = fxA - floor(fxA); 4.7-4= 0.7, -5.8-6=0.2 trunc를 넣으면 어떻게 되는지 궁금해서 해봤는데, .. Joy of Vex [Day11] if 조건문 bbox의 y값은 몸의 중앙부에서 0.5의 값을 가지므로 0.5보다 작은 발부터 중앙부까지의 색이 {0,1,0} 값을 가지게 됨 @N과 {0,1,0}은 모두 크기 1을 가지게 되므로 dot의 결과는 cosθ가 된다. 노말 방향이 위를 바라볼수록 각도가 0도에 가까워지면서 값이 1에 가까워진다. 색상으로는 흰색이 됨 d의 값이 0.3보다 크다는 것은 cos 60º = 0.5 이고 cos 90º = 0 의 값을 가지므로 그 사이 값보다 크다는 것 위쪽을 향하는 면들의 색상이 흰색이 된다. 0.3보다 값이 커지면 흰색 영역이 작아지고 값이 작아지면 영역이 커진다. (빛을 받는 부분의 영역이 커지고 줄어든다고 생각하면 됨) 위의 식은 float d = dot(@N,{0,1,0}); if (d>chf.. Joy of Vex [Day08] noise random은 값이 주어질 때마다 새로운 랜덤한 결과를 돌려줌 noise는 이미 준비가 되어 있는 패턴에 대응된 값을 찾아줌 노이즈는 임의의 값을 얻어내지만 끊어짐이 없음 vop에서 노이즈 signature : 1D Noise, Cd의 rgb값이 동일해서 흑백으로 나타남, 3D Noise는 컬러로 offset: 노이즈의 위치를 옮기기 (흐름의 위치를 바꿔줌) frequency: 노이즈의 폭 조절, 숫자를 높일수록 폭이 좁아짐(자글자글해짐) amplitude: 진폭, 노이즈의 대비 조절(숫자를 높일수록 대비가 높아짐) vex에서 노이즈 스케일 값이 커지면 간격이 줄어듬 offset을 더해주면 노이즈의 위치가 옮겨지도록 할 수 있음 @Time을 더해주면 x,y,z 값이 모두 움직이면서 일렁일렁하게.. Joy of Vex [Day06] point, vertex, primitive point : 후디니가 제공하는 3D 공간 안에서 가질 수 있는 가장 작은 단위의 결과물, (x,y,z)값을 가지고 있어야함 각각의 포인트는 포인트넘버를 가지게 됨 vertex, vertices 그리드의 재료는 point, 제작 설명서는 vertex의 정보 이 그리드는 0번 primitive로 하나의 primitive를 가진다. 프리미티브에 의해 점의 포지션을 이동시킬 수 없음 (규칙위반) 프리미티브 랭글 상에서의 @P는 읽기만 가능 point attribute wrangle과 primitive attribute wrangle의 차이 run over를 각각 points, primitives로 했을 때 v@K;를 입력하면 point에서는 point geometr.. 이전 1 2 다음 목록 더보기