Joy of Vex [Day18]
intrinsics 내제되어 있는 정보
회색으로 써있으면 읽기만 할 수 있고, 흰색으로 써있으면 읽고 쓰고 가능함
bounds는 array로 [ ]를 써야함
바운딩박스에 필요한 점들 만들기
intrinsic 정보를 바꿔서 적어줄 수 있는 펑션이 setprimtrinsic
첫번째는 첫번째 input을 뜻하는 0, 두번째는 정보 이름, 세번째는 몇번째 프리미티브에 적용할건지, 네번째는 닫을건지 열건지에 대한 0 또는 1 int 값 혹은 int a = 0 으로 정의 되었다면 a라는 변수가 들어갈 수 있다.
-sphere의 primitive type이 primitive일 때는 intrinsic 정보에 transform을 가지고 있음 (polygon으로 변경하면 사라짐)
-box에서 transform을 보려면 pack 노드를 달아주면 됨
-기본 sphere에 transform 노드를 달고 scale과 rotate 등을 움직여 놓고
아래에 위와 같은 어트리븃을 달아주면 원래 기본 원 모양으로 돌아감
첫번째 매트릭스의 결과는 모양에도 영향을 미치지만 (run over : primitives)
두번째 매트릭스의 결과는 회전과 방향만 나타냄 (run over : points)
Transform vs Packedfulltransform
- dopnet 안의 rbdfracturedobject1의 sop에 voronoi를 불러오기
dopimport의 import style에서 강의 내용과 좀 다른 부분이 있는데
pack을 체크하고 안하고로 버튼 형태가 바뀐듯 하다.
-결과의 종류에 따라 가지는 intrinsics의 정보도 달라짐
packed를 체크한 건 primitive sphere처럼 packed 어쩌고에 대한 정보들과 다양한 정보들이 intrinsics에 있고
packed를 체크하지 않은 건 box와 같은 intrinsics 정보만 가지고 있음
objecs에 not ground 어쩌고를 적어주면 바닥이 사라지게 할 수 있음
-packedfulltransform의 정보는 4x4 행렬
초록색 부분은 rotation과 scale, 빨간색 부분은 transflation 이동에 대한 정보
4x4 행렬을 3x3 행렬으로 불러와서 orient에 적용시킴 (초록색 부분만 활용함))
원래 결과는 러버토이들이 위쪽을 바라봤다면
포인트 방향을 불러와서 적용시키니까 포인트의 회전 값에 따라 자연스럽게 러버토이가 회전하는 결과가 나옴!
그 전에 러버토이가 원점에 있지 않아 살짝 떠있는것처럼 보이는데 러버토이의 위치를 원점으로 맞춰주기
(1프레임에서 왜 러버토이 하나만 아래에 있는것처럼보이는지 모르겠다...)
벡터 k 파라미터로 원하는 방향대로 러버토이들을 회전시킬 수 있는데, 모든 러버토이들이 동일하게 회전하니까
rand로 랜덤값을 줌, seed를 더해주고 0에서 1사이의 값을 -0.5에서 0.5의 값으로 만들어주기 위해 -0.5를 빼줌
값이 너무 조금씩 움직여서 마지막에 10을 곱해줌
@pscale에도 랜덤값을 주기 2로 나누고 0.5롤 더해서 0.5에서 1 사이의 랜덤한 사이즈로 나타나게 만들어줌
seed도 더해줘서 원하는 크기로 설정
시뮬레이션 맛보기를 통해서 아 이런 정보가 이런 식으로 활용되는구나를 체감하면서 굉장히 흥미로웠다!
스터디에서는 18강이 완강이지만 아직 강의가 더 남아있으니 진짜 마지막까지 계속 해야지..
갑자기 17강부터 갑자기 알아야할 내용이 많아져서 헷갈리는 내용이 많지만 여기까지 따라온 나 자신 칭찬해!!