본문 바로가기
sin() cos() noise() & 프리퀀시와 오프셋 일단 어트리뷰트 랭글만으로 점 만들기 해보자 addpoint(0,{1,0,0}) 이런식으로 해주는데, 당연히 벡터를 생성해서 넣어줘도 동작한다. 시간에 따라 선 그어지도록 만들어 보자. for문으로 버텍스를 계속 매 프레임 생성되게 만들어 처리하도록 하자. 공식에서 요령이 있는데, n 차 방정식에서는 y = a * function(x- x_offset) + y_offset a 는 패턴을 좁게 만들고 x_offset 과 y_offset 은 그 점을 지나는 값이 나오는 그래프가 될거다. 대신 sin cos nois는 아래와 같이 쓰는게 원하는게 나옴. 그리고 알겠지만 여기서 옵셋은 지나가는 값이라기 보다 기준값이 된. y = fuction(a * ( x- x_offset )) + y_offset 어쨌건 일단.. 2023. 12. 17.
VEX if문 학습하기 / point function VEX에서의 포인트 펑션과 if문을 학습해 봅시다. vex에서의 포인트 펑션은 이전에 했던 hscript 와 다른 문법을 가지고 있습니다. hscript 에서는 point("주소", 포인트 넘버, "어트리뷰트", 값 번호) 였는데 vex에서는 point( [0,1,2,3] , "어트리뷰트", 포인트넘버) 입니다. 어라 왜 갑자기 존댓말이지 나 혼자 공부하는건데 뭐어때 어쨌건 오늘은 if 문을 공부하기 위해서 아래와 같은걸 만듭시다. if 문이랑 포인트 펑션이겠네.. 어트리뷰트 랭글의 4개 점에다가 값을 넣어줍니다. 그럼 어트리뷰트가 하나씩 생기는거임 총 4개인데 이건 프로그래머 스타일로 0,1,2,3 인건 알겠죠 ? 요렇게 넣어주면 포인트 펑션으로 1번 주소 접근하면 되는거임 그니까 예를 들어 이렇게 C.. 2023. 12. 17.
viewDir는 vertex에서 구하지 말자 가끔씩 나오는 문제라 자주 잊어버리고 당황하기 때문에 적어 놓는건데, viewDir는 버텍스에서 구한걸 픽셀로 넘기고 normalize 하면 안됩니다. viewDir는 버텍스별로 다른 각도로 나오기 때문에 pos 나 normal 과는 다른 특성을 보이는데, 버텍스에서 픽셀로 넘겨오면서 lerp 되는 특성상 이게 문제가 생길 수 있습니다. 녹색 라인이 당연히 노랑보다 더 길거든요. 그래서 lerp 할때 구겨지게 됩니다. 그래서 viewDir를 픽셀에서 구해야 합니다. 2023. 12. 10.
VOB로 시계 만들기 이전 시간의 시계를 VOB로 만듭니다 . 똑같은 것을 노드로 하는 것이니까 뭐. 일단 이전 컨트롤러에서 attribvop 를 만듭니다. 추가로 연결해 줘도 됨. 연결만 안해주면 되니까. Null은 나중에 주소찾기 편하게 하려는 의도로 이전 어트리뷰트를 상속받는 이유밖에 없어서 사실 없어도 되는 수준. 시분침 다 한번에 잡고 Rotation의 채널을 다 삭제해주기 . 이래야 연결이 끊어질테니 일단 끊었으면 초기화상태. 어트리뷰 랭글을 우클릭해서 파라미터를 보고 훔쳐만듭시다 이걸 노드로 만들면 끝이겠죠? 이렇게요 역시 노드라 빡치긴 하는데 유니티 셰이더 노드보다는 좀 인터페이스가 나은 점도 있어요 어쨌건 이젠 시계바늘에 포인트 펑션으로 연결해 줘야 하는데 -point("../result/",0,"minrot.. 2023. 12. 3.
VEX로 시계 만들기 우선 시계 외형을 만들어 봅시다 서클 프리미티브랑 서클 폴리곤을 꺼내보니.. 프리미티브는 넙스나 벡터 같고 폴리곤은 걍 폴리곤 같은데? 어쨌건 여기선 60개짜리 만들고 add 껴서 포인트만 60개 만들어 줍시다. 분이 될거예요 분께서 입장하십니다 뭐 그래서 이케저케해서 시계 분과 시 표시를 만들고요 그리고 각 바늘을 만들고 피봇을 0점으로 한 채로 트랜스폼을 만들면, 트랜스폼을 돌리면 시간이 가겠죠? 준비되었으면 다 합치고 머지시킴. 그리고 이제 컨트롤러를 만들차례 add 포인트 하나 만들어주고 attributeWrangle 을 이용해서 각 변수를 만들어준다. 채널펑션 만들기 Vex에서 인터페이스 만드는거 . 어트리뷰트던 변수건 만들고 ch("이름") 해주면 VEX에서 컨트롤 가능한 인터페이스가 생기는 .. 2023. 12. 2.
정보의 연산 & VOP 기초 Vex와 Vop는 같다. + 연산 순서에 따른 타입의 설정 VOP와 VEX vex는 attribwrangle을 꺼내고 vop는 attribvop 를 꺼내면 된다. 둘은 사실상 같은데 다른점은 코드랑 노드라는거. 뭐 둘 다른점은 셰이더 배운사람이면 알겠고... 차이를 함 봅시다 . 두 창은 이렇게 다름 VOP와 VEX 를 똑같이 만들어보기 어차피 노드와 코드는 똑같으니까.. test1 이라고 하는 어트리뷰트를 만든다고 해 봅시다 VEX로는 코드로 쓰면 끝나죠 아 역시 코드가 맘이 편해 VOP로는 일단 상수를 꺼내고 bind Export 노드에 연결하면 어트리뷰트가 됩니다. 즉 아래도 똑같습니다. 이거 노드냐 코드냐 차이 근데 뭐가 문제냐 값의 정밀도가 차이가 있습니다. 예를들어 이렇게 플롯과 인트와 벡터가.. 2023. 11. 30.
VEX 기초 : 정보의 타입과 입력 여기는 기초 프로그래밍이니 대충. int float vector string 형식을 변수로 쓸거냐 어트리뷰트로 쓸거냐에 대한 이야기 어트리뷰트 등록하기 / 변수 add 로 포인트 하나 만들고 attribwrangle 하나 만들어 붙입니다. 지오메트리 스프레드시트에 보면 포인트의 데이터가 들어가 있는게 보임 여기 vex 로 어트리뷰트 등록 가능 어트리뷰트 등록은 형식@이름 방식으로 선언해 주면 됨. 아참 참고로 런오버는 포인트로 합니다. 우리는 포인트로 작업하고 있으니. 어드리뷰트로 float test를 등록합니다. 혹시나해서 그냥 @test로 등록하니까 플롯으로 뜨네요 ㅋ 역시 프로그래밍은 대충 비슷 이렇게 하면 이렇게 등록되는 것임, 변수 선언도 되지만 변수는 저기 등록 안됨. 이것이 어트리뷰트와 변수.. 2023. 11. 28.
프로시져럴 모델링하기 절차적 생성 모델링하기 파라미터 만들어 연결하기 파라미터 만들어 연결하는 것을 배워봅시다. 일단 필요한 것은 null 하나와 박스 하나 저 null 이 컨트롤러가 되는거니까 이름을 컨트롤러라고 바꿔주고 갑니다. 파라미터 인터페이스 수정 인터페이스 만들기 이제 박스와 연결. 연결하는 것도 간단. 파라미터 이름을 우클릭해서 파라미터를 카피하고 원하는 박스의 파라미터에 레퍼런스로 붙여넣기 그럼 이름을 클릭할때마다 바뀐다 . 여기서 조절도 가능하고 저기서 조절도 가능하고? 그럼 이런식으로 컨트롤러에서 조절 가능하게 된다. 프리미티브로 테이블 만들기 우선 상판부터 만들어 봅니다. 일단 시작 포인트를 1,0,1 로 하고 시작합시다. 후디니 좌표계는 좌표계가 독특해서 킹받음. 오른쪽 아래가 왜 양수야... 그리고 각.. 2023. 11. 26.
별 만들기. 선 만들기. 카브 활용 그룹 응용 복습 그룹 나눠 준 후 블라스트로 다시 그룹별 선택한 후 효과를 주는 방식. 이렇게 하면 특정 그룹에만 효과를 주기 좋다 별 만들기 - 서클로 오각형을 만든후 - Add 에서 Delete Geometry But Keep the Point 선택해서 포인트만 남김 - 블라스트로 타입은 포인트, 각 숫자마다 입력하고 Delete Non Seleted 로 선택한 것 외엔 지우는 방식으로 접근. - 모든 포인트를 만듬 - merge로 연결해 주는데, 별 생각하면서 순서를 구성함. - Add 의 폴리곤 탭에서 바이 그룹으로 All point 를 해주면 선이 만들어짐 폴리곤이라는 개념이 맥스와 달라서 혼동하기 쉬울듯. Resample Add 로 포인트 만들어주고 위치를 조절, 머지 해준 후에 Add로 폴리.. 2023. 11. 26.
후디니 그룹 & 블라스트 후디니 그룹 시스템에 대해 알아보자 . 그룹 시스템은 대부분 노드에 있어서 중요함 일단 만듬 컬러 있으면 머지에 느낌표가 생김 머지에 들어오는 각 정보가 달라서그럼 . 어트리뷰트가 같지 않다는 말. 즉 다 일치시켜주면 안심 이렇게. 그룹만들기 포인트 그룹으로 선택 주의 그룹만들기 A 3개 B 3개 이렇게 해도 똑같. Blast 지정된 놈을 지우거나 지정된 놈을 보이게 하는 등의 기능. 지정된 그룹으로 처리 위는 블라스트로 A 그룹과 C 그룹만 놔두고 나머지는 안보이게 하라라고 하는 것 굳이 그룹이 아니고 직접 넘버를 입력해도 동작한다. 이제 프리미티브 블라스트 해보기 플라토닉 솔리드 만들기 그룹을 만들었다. 인포를 보면 4개의 프리미티브의 폴리곤 숫자가 나온다 이렇게 그룹을 지정해 놓으면 이후 붙는 노드.. 2023. 11. 25.
후디니 점,선,면 + bound 점 생성 점을 생성하기 위해 add 노드를 생성하자. 점 생성인데 난데없이 왜 Add 노드냐면... Vex 함수를 보면 이해가 쉽다. addpoint(); addprimitive(); addvertex(); 좋아. 이제 add 노드에서 포인트 생성을 하자 + 를 눌러서... 스프레드 시트 확인. 포인트가 생성되는게 보인다 추가해서 점 두 개를 따로 만든 다음에 merge로 합하면 점 두개가 보인다. 숫자 보이게 하면 편함. 점 두개 만들기 왼쪽의 i 를 누르면 나오는 Info로도 확인 가능하다. 물론 점을 add 하나에서 두 개의 점을 생성하는 것도 결과는 같지만. 점의 순서를 바꿀 때 등에서는 왼쪽 방법이 압도적으로 편함. 순서는 머지에서 바꿔줄 수 있다. 후디니에서의 프리미티브 만들기 이번에는 0번과.. 2023. 11. 22.
후디니 노드 활용 지오메트리 안에다가 여러 모델링을 넣어 한번에 테이블을 만들자. 지오메트리 안에 들어와서 박스를 여러 개 추가한 상태. 근데 하나만 보인다? 뭘 볼지 지목을 해야 보인다는거다. 파란색이 보이는거임 : 디스플레이 렌더 플래그라고 부름 트랜스폼 노드를 생성해서 연결해주고 플래그 켜줘야 결과가 보이는 것임 . 플래그가 켜진 상태까지만 보인다. 한번에 다 보이고 싶잖음? merge 해주면 됨 이제 이걸로 노드를 연결해서 모델링을 해주면 됨. 분홍색은 탬플릿. 이걸 켜면 임시로 와이어프레임으로 보여준다. 파랑색은 최종 결과. 위에서 보듯 최종 결과 이전을 출력하고 최종결과를 와이어로 보듯 뒤집을 수도 있다. 조명과 카메라 세팅 일단 조명과 카메라를 이전처럼 세팅해 본다. C 를 누르면 노드 색을 정해줄 수 있다... 2023. 11. 21.
반응형