SampleTexture
https://www.youtube.com/watch?v=aepMh_i3ArU&list=PLiH7qA7sYjc_TtDKsiCfDVRR09ZEscqCl&index=3
SampleTexture 를 이용해서 파티클을 Spawn 시키기 위해서는
Gird Location 값을 사용했고 , 같이 사용되는것이 Spawn Particles in Grid 값이다.
( 한번만 나왔다가 사라지는 형태 )
Gird Location 을 사용하지 않고 Sample Texture 의 기능을 사용하는 방법
SampleTexutre 값을 Spawn Rate 값으로 나타나게 할 것
우선 SmpleTexture 에 들어가는 텍스처의 밉 생성 세팅값을 : NonMipmaps 로 해야 이후에 텍스처가 깨지지 않는다 함.
기존 Grid 값 대신 Shape Location 에서 Plane 의 형태를 사용한다. Plane 이라면 Spawn Rate 값을 사용할 수 있음.
어떻게 SampleTexture 값을 Plane 에 넣을까?
과정이 매우 복잡하다. 그냥 외우는게 맞지 않나 싶을정도임.
Sample Texture 의 UV 값을 들고오기 위한 과정이다. y 축도 똑같이 해준다.
여기서 끝나지 않고 Alpha 가 있는 값과 없는 부분을 나누어 주어야 한다.
모듈에서 스크래치 모듈을 추가해준다.
Kill Particles (파티클을 죽이는 모듈 )
해당 모듈을 이용해 특정 파티클만을 죽이게 설정해 줄 것임.
If 값을 이용하여 죽일지 말지를 정하는 형태
https://youtu.be/aepMh_i3ArU?list=PLiH7qA7sYjc_TtDKsiCfDVRR09ZEscqCl&t=878
스크래치 모듈에서 MapGet 에 값을 추가해준다.
모듈의 이름을 변경할 수 있음. _ Kill Sample Texture Mask
그리고 우리가 준 Input 값 ( Float 형태) 가 보인다. (적용을 눌러야 함)
그리고 이전부터 신경쓰였던 건데 , 버전의 문제인지 최신 버전에서부터 Sample Texture 의 파라미터 값이
모듈 출력값이 아닌 , 파티클 값에서 보임. 우리는 모듈 출력값을 사용할 것임.
내가 찾길 원하는 값은 모듈 값임. 파티클 값을 사용하는 순간 오류가 뜬다.
해결 방법이 생각나지 않아 , 구 버전의 SampleTextur 모듈값을 사용하는것으로 합의를 봄.
여튼 InputMask 값 ( 0 과 1 을 구분해낼 값 ) 에 SampleTexture 의 Color 값을 사용한다.
이와같이 값이 나타난다. >
Threshold 값을 0.1 > 0.3 으로 높일수록 나오는 파티클이 제한됨.
텍스처의 부드러운 Glow , Gradation 값을 가져오길 원한다면 값을 낮추고 ,
오직 흑백의 음영만을 가져오길 원한다면 값을 높이면 될 듯하다.
그리고 채널이 나뉘어져 있지 않은 흑백 텍스처 같은경우는 어떤 채널을 사용해도 상관없지만 , 그럴지 않을경우는 잘 선택
그리고 룬 텍스처의 분할이 이상한데 , Plane 의 Midpoint 를 0,0 으로 주면 해결 되지만
기준점도 이상할 뿐더러 , 왜 World 에서는 룬의 모양이 제대로 안나오지? ( 해결 : Local Space 값 체크 )
아까 위에서 Add Vector 를 사용하는 이유에서 B 값을 이용하여 , 마법진의 위치를 따로 정하기 위해서 라고 말했음.
Add Vector _B ( X 값 : 0.5 ) _ (Y 값 : 0.5 ) 를 더해준다.
Sample Texture 의 UV 를 Add 로 잡아주는 것
그러면 값이 중간으로 온다.
Spawn Rate 를 이용하여 해보지 못했던 모양을 나타낼 수 있음.
Scale Color _Curve 값을 이용하여
지금은 어두운 부분을 Kill 해주었기에 Translucent 를 활용해 어두운 값을 나타낼 수 있다.
기존 이미터에서 Kill Sampling Texture Mask 값을 꺼주고 , Scale Color 에서 Sample Color 값을 들고온다면
어두운 부분의 파티클이 그대로 나타난다.
우리가 이전에 했던 방식은 재질을 Additive 로 어두운 부분을 눈에띄지 않도록 했음.