Programming 62

[Houdini] Joy of VEX (Day 4)

1. Outputs 2. Reviews - 수학 식으로 직접 만들 수 없는 함수 그래프를 chramp 란 함수로 그릴 수 있음. - 각 점의 종류를 다르게 선택해 다양한 모양의 그래프를 만들 수 있음. 또한 그래프 우측상단의 톱니바퀴를 눌러 전체적인 모양과 느낌 샘플을 사용할 수도 있음. - 해당 샘플 모양은 다양하게 있다. - 다만 후디니 버전 19 부터는 chramp가 좀 바뀌었다고 한다. 저 chramp는 [0, 1] 범위까지만 커버하는데, 이전 버전에서는 1 이후의 값을 [0,1] 사이의 값으로 반복시켰지만 19 버전부터는 그냥 0으로 변하지 않는다. 따라서 강의대로 하려면 추가적으로 한 줄을 더 써줘야 한다. - "d = d - floor(d); 가 추가되었다. x값 1 이후의 값을 반복시키기 ..

[Houdini] Joy of VEX (Day 3)

1. Outputs 2. Reviews - Normal에 관한 내용들. 노말의 변화를 형태의 변화로 메쉬에 적용시키려면 @P += @N로 적용해야 한다. 이 부분 length와 @d, @P로 설명하셨던 부분들을 요약하면 1. 그냥 수학 그래프처럼 이해하면 된다 2. 그냥 @P.y = @P.x; 로 했을 때는 x값이 그대로 들어가 음수까지 반영되는거지만, @P.y = length(@P)일 경우 길이값이므로 무조건 양수만 들어가 V자형 그래프가 만들어진다. (y축대칭) 3. Exercises 1) Try and incorporate clamp into the above setup, see if you can make it do something interesting. - 뭘 더 하라는데 뭘 해야할지 몰라서 ..

[Houdini] Joy of VEX (Day 2)

1. Outputs - 아래에서 추가한 캡쳐본들을 확인 2. Reviews 1) Length() - 이전 강의볼 때 헷갈렸던 부분인데, 그때 이해를 완벽히 했더니 이번엔 잘 이해했다. length() 안에 그리드 안 각 점의 벡터 길이를 구하고 이를 색깔 속성에 sin()함수를 이용해 넣었다. sin은 반복되는 함수이므로, 반복되어 값이 나오고, 위처럼 뜬다. -> 반복되는 결과가 필요할 때 sin 또는 cos를 사용하면 좋겠다. - chf를 이용해 스케일 채널을 만들어 결과를 냈다. 2) distance() - length() 가 벡터 하나의 길이를 구하는 거라면, distance()는 두 벡터 사이의 길이를 구한다. - distance를 이용해 거리를 재는 기준을 변경해서 원점을 바꿔 출력할 수 있다..

[Houdini] Open The Houdini 8-2

1. Outputs 2. Reviews 1) 사용한 식 - 선분 위 비율 값 - x, y 두 점에서 a:b란 비율을 가진 중간의 점은 위의 식을 가지고 계산할 수 있다. - 위의 식을 이용하여 벡터로 된 값들에 대한 식을 도출하였다. 2) Points VS Detail (Only once) - wrangle을 쓸 때, 그냥 points와 detail (only once) 란 선택지가 있다. 그냥 points는 모든 점에 대해 계산하는 것이므로 모든 점에 대해 새로운 점들이 생겨 총 10개의 점이 생성된다. 반면 Detail only once 같은 경우에는 딱 점 하나만 추가된다. - 그 어떠한 점도 없는 wrangle 노드라고 생각해보자. points의 경우 addpoint(0, V) 란 함수를 써도 그..

[Houdini] Organic Shapes

※ Udemy 강의를 참고하여 공부했습니다. 더보기 Learning VFX: Complete Houdini Bootcamp | Udemy 1. Outputs 2. Reviews - 구를 만들고, VOP를 연결한다. - 위치값을 Anti Aliased Noise 와 연결해 노이즈를 준다. 그걸 noise란 이름의 속성에 저장해야한다. 저장 전, fit이란 노드를 사용해 -0.5~0.5를 0~1 크기로 맞춘다. - 다음으론 polyreduce 노드를 이용해서 폴리곤을 줄이되, 앞서 한 noise 속성을 가지고 weight값을 준다. 그러면 그 노이즈 값을 이용해서 저렇게 폴리곤 구조가 바뀐다. - 이를 divide 노드에 연결해 compute Dual을 켠다. 그러면 6각형의 모습이 만들어진다. - Poly..

Programming/Houdini 2023.07.17

[Houdini] Open The Houdini 7-1, 8-1

1. Outputs 2. Reviews - 후디니 입문자가 돌파해야하는 수학적 내용들 1. 벡터의 연산과 특징 2. Normalize & Scale -> 선형대수학을 공부했어서 다 알고 있는 내용이었다! 그래도 알려주신다니 복습하는 기분으로 다시 공부해야겠다. - 수학적 문제 해결 능력↑: 스스로 답을 찾아가는 과정이 중요함. 바로 답지를 보는게 아닌 직접 해결해보면서 공부해야 함. 1) 첫 번째 예제 해결 - 코드를 좀 이상하게 쓰긴 했는데 0.2를 @P.x에 곱한 이유는 입력받는 num이 -1~1 범위이기 때문이다. 범위를 -5~5로 바꾸면 굳이 0.2를 곱할 필요 없다. - 근데 진짜 어떻게 하다가 푼거라서, 혹시 이거가 되나 싶어서 해본건데 내가 풀어놓고도 제대로 코드를 이해하지 못해서 질문을 드..

[Houdini] Open The Houdini 6-3

1. Outputs 2. Reviews - 사용한 변수 초침 분침 시침 시작 시각 입력 IS IM IH F/초/분/시 관계 SF MS HM DH 초침 분침 시침 시작 각도 SS SM SH 움직인 각도 AS AM AH 결과 각도 FS FM FH 프레임 당 각도 식 S 프레임 당 초침의 각도 (360 / MS) / SF M 프레임 당 분침의 각도 S / HM H 프레임 당 시침의 각도 M / DH 프레임에 따른 시간 정의 식 FPS Frame Per Second TIME 현재 프레임은 몇 도? @Frame / FPS COUNT 현재 프레임에 몇 번 초침이 움직임?(int) floor(TIME) DECI 그 소수점 차 TIME - COUNT 시작 각도 식 SS 초침 시작 각도 IS * (360 / MS) SM..

[Shader] Game Graphic Theory & OpenGL Installation

※ 해당 내용은 '카일 할러데이'의 "셰이더 코딩 입문" (에이콘) 을 읽고 작성하였습니다. 진짜 좋은 책이니 꼭 사세요 1) Rendering - 컴퓨터 그래픽에서 렌더링이란 2D 또는 3D Mesh, 광원의 위치, 게임 카메라의 앵글 같은 Scene 정보로부터 이미지를 만드는 과정을 가리킨다. 렌더링에서 만든 이미지는 Render 또는 Frame이라 한다. - 게임을 구성하는 코드 중에서 렌더링을 담당하는 부분을 렌더링 엔진이라고 한다. 렌더링 엔진이 메쉬를 새로운 프레임으로 만드는 일련의 과정을 Rendering Pipeline (또는 Graphic pipeline)이라 한다. 2) Mesh - 메쉬는 컴퓨터가 이해할 수 있는 형식으로 대상의 형태를 정의하는 방법 중 하나다. 메쉬는 형태를 정의하기..

Programming/Shader 2023.07.16

[UE5] Obstacle Assault (Udemy)

- 해당 내용은 Udemy 강의를 참고하여 작성하였습니다. 더보기 Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games | Udemy 1. Outputs 2. Reviews 1) Live Coding and Compile - 언리얼 엔진 C++ 스크립팅의 한 가지 좆같지만 신기한 점은 VS에서 코드 작성을 완료 후 컴파일할 때 항상 UE5 에디터를 종료해야 한다는 점이다. 하지만 이 문제를 해결하기 위해 UE5는 Live Coding이란 걸 지원하는데, 이는 UE5를 종료하지 않고도 컴파일을 해주는 기능이다. - 캡쳐본을 보면 우측 하단 파생 데이터 옆 쪽에 테트리스같은 아이콘이 있는데, 이를 누르면 된다. 물론 누르기 전에 VS 파일을 저장해야 한다..