FX/Houdini_Joy of VEX 31

Joy of Vex - Assignment #2 & Final Review

중요했던 부분: 과제 주제: 우리는 이미 닷프로덕트 크로스프로덕트를 배웠고 광원에 대한 묘사를 연습한적이 있습니다. 그렇다면 포인트 광원이 아니라 1.스피어 광원은 어떻게 묘사할수 있을까요? 이거 실기 숙제로 드리겠습니다 2.약간 파란빛이 도는 스피어 2짜리 광원과 약간 노란 빛이 도는 스피어 1짜리 광원으로 Box를 비추는 장면을 vex코드로서 만들어 자랑해주시길 바랍니다 하아아... 막막해보이지만 해보겠다. 우선 box뿐만이 아닌 다른 geometry에서도 나타내기 위해 여러 geometry를 생성해준 다음에 switch 노드로 지속적으로 바꿀 수 있게끔 세팅해주었다. 나는 총 box, rubbertoy, 그리고 tommy를 사용해 위의 과제 requirement를 수행해주기로 하였다. 문제는 rub..

Joy of Vex - Day 20: pointclouds, further learning

중요했던 부분: - nearpoints() & foreach 복습 우선적으로 nearpoints()와 foreach를 활용하여 pointclounds와 같은 형상을 만들어 보았다. 이는 box안에서의 랜덤한 위치의 7개의 점들로부터 box안을 꽉꽉이루는 포인트들중 가장 가까운 포인트들을 골라 addpoint()로 점을 생성해주어 7개의 포인트의 주위에만 점들이 반경안으로 생성되게끔 설정해보았다. 이를 실현시켜주기 위해 우선 아래와 같이 노드를 꾸며보았다. /* nearpoints()를 사용하여 0번인풋으로 들어온 포인트로부터 1번인풋으로 들어온 geometry를 이루는 점들중 특정 반경안에서 가장 가까운 포인트들의 포인트 넘버들를 찾아 integer array variable pts에 저장*/ int p..

Joy of Vex - Day 19: primuv, xyzdist

중요했던 부분: - uv uv는 primitive상에서 가로값과 세로값을 1로써 비율을 맞추었을때 그 비율을 알려준다. 아래의 그림을 하나의 프리미티브라고 가정하고 가로값을 v 세로값을 u이라고 가정했을때 (top view에서 본 Grid기준) 만약 u값이 0.7이고 v값이 0.2라면 아래의 그림처럼 빨간색 점 부분을 가리킬 것이다. - primuv(): Primitive UV Function primuv()는 원하는 특정 primitive에서 primitive의 u값과 v값을 토대로 원하는 정보를 받아와주는 Function이다. primuv()에는 wrangle노드에 연결된 input의 넘버, 어떠한 정보를 불러오고자 하는지, 몇번 primitive, 그리고 uv를 vector값으로 입력해주어야 한다...

Joy of Vex - Day 18: intrinsics

중요했던 부분: - intrinsics intrinsics란 Geometry의 프리미티브가 가지고 있는 내재된 정보들을 의미한다. 이때 intrinsics들의 대한 정보들은 여러개가 있는데 geometry의 결과의 종류의 따라 intrinsics가 가지는 정보의 종류도 바뀌기도 한다. intrinsics의 종류들과 그의 대한 수치들을 확인하기 위해서는 primitive geometry spreadsheet -> intrinsics으로 들어가 확인가능하다. *intrinsics들은 geometry의 따라 나타나는 종류와 구성이 전부 다르다. 그러므로 각각의 geometry의 종류에 맞추어 알맞은 intrinsics들을 적용하는 스킬을 키워야 한다*/ 이때 geometry spreadsheet의 나타나는 i..

Joy of Vex - Day 17-2: copy sop, orient, quaternions

중요했던 부분: - 지난 시간에 배웠던 부분 복습 지난 시간에 배웠던 quaternion()과 @orient의 원리를 응용하여 코드를 작성해보아 어떠한 shape을 만들어보았다. 우선 색깔을 지정해준 각각의 box가 grid를 구성하는 모든 포인트들의 위치에 카피될수 있도록 copy to points를 연결해주었고 어떠한 방향으로 rotation할 수 있게끔 vex code를 작성하였다. 일반적인 angle 과 axis 값을 variable로 만들어 줌으로써 rotation을 하는 방법 // angle에 @Time에 반인 값을 지정하여 프레임이 흐를수록 angle의 수치가 올라감 float angle = @Time*0.5; // axis의 값을 chv()으로 유저가 파라미터로 조절가능 vector axi..

Joy of Vex - Recap of Week 5

복습한 내용과 다시봤더니 이해되는 부분: Day 14: creating geometry, deleting geometry, debugging vex Day 14에서는 point, primitive 그리고 vertex를 코드로 생성하는 과정을 전반적으로 배워보았다. 이때 addpoint(), addprimitive() 그리고 addvertex()를 활용하여 각각의 geometry를 이루는 구성들을 알아보았는데 이는 주로 이러한 방식으로 geometry를 생성해준다. 먼저 addpoint()로 생성된 포인트들을 addvertex()으로 배열들을 구성하여 하나하나 포인트들이 어떠한 방식으로 이어질지 순서를 정해준다. 그리고 addprimitive()와 함께 그 순서로 생성된 배열들을 따라 포인트들을 선으로 이..

Joy of Vex - Day 17-1: copy sop, orient, quaternions

중요했던 부분: - quaternion()과 @orient 맛보기 지난번에 @up을 사용하여 특정 geometry의 머릿방향을 결정하는 방법을 배웠었다. /* 1번 input geometry에서부터 0번 포인트의 포지션값을 불러와 카피되는 geometry의 머릿방향을 결정하여라*/ @up = point (1, "P", 0); function quaternion()은 첫번째 인풋으로 얼마나 회전할지의 대한 크기값과 두번째 인풋으로 축의 값이 들어옴으로써 그 축은 @N (즉 어떤 면이 향하는 방향)과 동일하게 값을 써 넣어줄 수 있다. 그러므로 첫번째 인풋에서는 얼마나 회전할지에 대해 angle값을 float으로 써넣어주면 되고 두번째 인풋에서는 면이 어딜향해 볼지 즉 어느 축을 중심으로 회전할지에 대해 @..

Joy of Vex - Day 16: copy sop, midweight instance attributes (scale, N)

중요했던 부분: - Copy to Points 노드로 geometry들을 연결할때 어떠한 기준으로 geometry의 방향이 정해지는가? add node로 포인트들 만들어주고 copy to points로 해당 포인트의 위치에 특정 Geometry를 카피하도록 설정하였을때 geometry는 그 점에서 어떠한 방향을 취하게 된다. 이는 copy to points 1번 인풋에 연결된 point의 노멀값에 따라 지정되도록 설계되었기 때문이다. 그치만 위의 예시와는 다르게 grid같이 normal값을 가진 geometry를 구성하는 점들에 특정 geometry를 카피시키기 위해 copy to points를 이용한다면 grid의 모든 포인트의 노멀값이 {0, 1, 0}으로 구성되어있기 때문에 이렇게 y값을 향한 방향..

Joy of Vex - Day 15: copy sop, simple instance attributes (pscale)

중요했던 부분: - Copy to Points 1번 인풋으로 들어온 Geometry를 구성하는 포인트들에 0번 인풋으로 들어온 Geometry들을 위치시켜주는 노드이다. Attributes from target: 여기서 타겟의 attribute를 불러와서 geometry에 붙여넣을 수 있다. 기존 0번 input geometry에 색깔이 설정되어있다고 하여도 각기 포인트들이 가지고 있던 색깔값에 따라 대체해서 값을 붙여넣어진다. 이때 Attributes from target에서 1번 인풋 geometry를 구성하는 포인트들로부터 어떠한 attribute를 불러올지 고를 수 있는데 이때 이 불러온 attribute를 어떠한 방식으로 적용시킬지 설정할 수 있다. 이때 Apply to Points by " "..

Joy of Vex - Day 14: creating geometry, deleting geometry, debugging vex

중요했던 부분: - Day 6때 배웠던 point/vertex/primitive 복습 point (점) - 3D공간을 구성하기 위한 가장 기본이 되는 요소 vertex (배열) - 프리미티브를 만들때 포인트의 순서/배열을 구성하는 요소 primitive (선/면) - vertex의 배열에 따라 만들어진 선 혹은 면 vertex의 원리 우리가 인식하는 원리 후디니에서 Geometry spreadsheet상에서 나타내는 방법 0번 primitive - 첫번째 요소 [0:0] 0 0번 primitive - 두번째 요소 [0:0] 1 0번 primitive - 세번째 요소 [0:0] 2 이때 아래의 다이어그램에서 빨간색으로 적힌 부분이 primitive number이고 파란색으로 적힌 부분이 point numb..