◎ foreach 노드는 기본적으로 primitive를 가지고 동작한다.
# each의 tolence는 attribute를 선택했을 때만 사용한다. 만약, 0.001이면 이것을 기준으로 나눈다는 뜻이다.
◎ magnet sop은 R, G, B를 따로따로 컨트롤이 가능.
※ npims()
# 해당 노드의 primitive의 총 개수를 리턴.
※ point sop 보다 attribute create sop이 더 빠르다.
※ prim() 는 point()와 같다.
ex) prim("../ref", $PT, "P", 0)
# ../ref 경로의 현재진행중인 포인트들의 x축 포지션값을 가지고 온다.
※ closet surface를 만들때는 isooffset sop을 이용한다.
※ strcmp와 비슷한 함수: strmatch
# strcmp는 첫번째 인자가 ASCII 코드상 앞서면 -1을 리턴, 두번째 인자가 앞서면 1을 리턴, 둘 다 같으면 0을 리턴한다.
# strmatch 는 같으면 1, 틀리면 0을 리턴.
◎ ray sop
# normal이 필요하다.
# 내가 원하는 point번호와 primitive의 order를 원할 때 가장 많이 사용한다.
# ray sop을 사용할 때 부딪히지 않으면 절격같은 것이 생기므로 내가 원하는 딱 맞는 것을 transform 으로 조절해서 사용.
(땅을 만들 때, 내가 원하는 point, prim번호로 만들고 싶을 때 그리드를 땅에다 레이를 쏘면 됨)
- point intersection destance
# 광선을 쐇을 때 부딪힌 곳까지의 거리를 계산. (dist라는 attribute를 만들고 값을 저장한다.)
※ dist 는 vector의 길이
- create point group
# 부딪힌 그룹만 포인트 그룹으로 만든다.
- point intersection normal
# 부딪힌 geo의 노말을 쓴다.(geo가 가지고 있는 원래의 노말)
- tolerence
# 얼마나 작은 값까지 허용하여 레이를 적용할 것인지를 조절.
- scale
# 0일때는 디폼이 안되고 1이면 완벽하게 모두 디폼된다. 블래드 sop 처럼.
- lift
# 디폼값에 더하는 값.
- bias
# 레이의 미니멈. 올리면 밑에있는 값은 변하기 않음. (어디부터 어디까지 계산할 것인지)
- sample
# 광선을 여러번쏜다. 숫자가 높으면 느려짐. (1이면 한번쏘고, 2면 두번쏜다.)
- shortest
# 가장 짧은 값
- longest
# 가장 긴 값
- minimum distance
# 현재 나에서 가장 가까운 primitive에 붙는다. 디스턴스 상에서.
- Intersect Farthest Surface
# 활성화하면 가장 멀리있는 것부터 붙는다.
※ attribute transfer sop 은 copy sop보다 유용할 때가 있다.