이제 프로퍼티스(Properties)입니다. 빈껍데기 인터페이스를 만드는 거예요.
작동은 안하지만 인터페이스 만드는건 재미있잖아요? 일단 이뻐야 재밌으니까 말이죠.
프로퍼티 만들기
그럼 지금부터 프로퍼티들을 만들어 볼 거예요. 사용할 창은 블랙보드랑 그래프 인스펙터.
프로퍼티의 전 기능을 다 설명할 수도 있지만, 그렇게 설명했다가는 초보도 다 도망가고 이 글도 수십페이지가 될거고 언제 쓸지도 모르는 고급 기능까지 설명하게 될테니 일단 많이 쓰는 기능만 설명하는 식으로 할게요. 백과사전으로 나열하는건 차라리 메뉴얼을 보시는게 낫고요, 어차피 전부 다 안써요 (...) 나도 안써본게 많어..
혹시 저 두 창이 안보이면 셰이더 그래프에서 이걸 눌러 켜주세요
일단 블랙보드에서 + 버튼을 누르면 만들 수 있는 인스펙터들이 좌라락 나옵니다.
아유 많다... 저걸 언제 다 배워... 하고 걱정 하시겠지요? 걱정마세요. 고급 기법이 되기 전까지는 저기서 자주 쓰는건 몇 개 안됩니다.
첫 번째 프로 퍼티 : Float 만들기
그럼 각설하고 첫 번째 프로퍼티로
Float 하나 만들어 봅시다.
Float이 뭐냐면요... 걍 숫자 하나예요. 단 , 소숫점을 가진 숫자예요. 0.5 같은거 0.3 뭐 그런거 0.0045 뭐 이런거.
정밀도 미묘하고요. 그래도 많이 써요. 그게 뭔지는 담에 알기로 하고 친구들.
그럼 Float이 하나 만들어졌죠? Save Asset 버튼을 눌러 저장을 한 다음, 이 셰이더가 적용되어 있는 메터리얼을 선택해 보세요
오 그러면.. 드디어 Float 이라는 이름으로 인터페이스가 하나 생겼습니다!
이걸 인터페이스라고 부르지 않고 프로퍼티라고 부르지만 어쨌거나 생겼다고요! 막 숫자도 조절할 수 있습니다. 뭐 바뀌는건 없지만!! 으하하 되는게 없는게 마치 내 인생같군요!!
대충 감 잡았습니다. 블랙보드에 프로퍼티를 만들어 저장하면 인스펙터에서 보여지는 인터페이스가 된다는 것을!
하지만 여기서 그냥 끝낼 수 없죠. 뭐든지 처음이 중요하거든요. 특히 이런 툴일수록 초반은 중요!
조금 더 자세히 살펴봅시다.
Float을 선택하고 Graph Inspector 창을 같이 봅시다. 아참 Node Setting 탭이 선택되어 있어야 해요.
설정바꾸기
이름바꾸기는 공부하는 사람의 기본! (아님)
이름바꾸는 법은 두 가지가 있는데요, 블랙보드의 Float이라는 이름을 더블클릭해서 바꾸거나,
그래프 인스펙터에서 바로 바꾸는 법이 있습니다. 둘다 먹어요.
그리고 심지어!!! 한글이 먹어요!!!!!
유일하게 한글 쓸 수 있는 부분이 이부분입니다!! ㅎㅎㅎ
Save Asset 버튼을 눌러 저장하고 다시 메터리얼로 가 보면, 그대로 반영되어 있는것을 볼 수 있습니다.
이렇게 이름 부분은 유저에게 보여주는 부분이니까 알아보기 쉬운게 짱이예요.
근데 진짜 중요한 부분은 그 다음이지.
바로 여기. 레퍼런스 부분이요.
이 부분이 '프로그래머가 사용하는 이름' 이예요. 이 부분을 '변수명' 이라고 하기도 하죠.
이 부분이 진짜 중요한 부분이예요. 프로그래머랑 같이 일한다면 이 부분의 이름을 잘 써주는게 중요합니다.
지금처럼 되어 있으면 뭐가 뭔지도 모르고 틀릴 가능성도 크겠죠? 프로그래머가 달려와서 멱살을 잡을지도 몰라요
도데체 Vector1_1a3c5cfa127241038d27c819f8ba8081 가 뭔지 어케 알겠습니까 ...
여기를 영어로 이름을 쉽게 지어주는게 정말 중요한 예의예요. 혼자 작업하는거라면 뭐 맘대로 하시고요 ..
그래서 이렇게 이름을 지어서 해 봤어요
좋은 이름이네요 알아보기 쉽고. _FirstVector라.
여기에 쓰는 이름에는 약간의 규칙이 있습니다. 변수명 규칙이랑 똑같은데요. (그거야 변수니까)
대충 아래처럼 생각하시면 됩니다.
- 예약어 안됩니다. 예약어란 .. 프로그램에서 미리 쓰고 있는 것 같은 이름들을 말합니다. 상식적으로 딱 왜 그 다른데서 쓸 것 같은 이름이요. 예를 들자면 Color, Vector, Float, 뭐 그런 이름들요. 왠지 불안한 이름들은 피해가거나 Color2 같이 숫자를 붙여주든,
- 띄어쓰기 안됩니다. 띄어쓰면 멍청한 컴퓨터는 두 개의 단어인줄 알아요. 추천은 대소문자로 구분하거나, _ 를 붙여주는 거예요. RedColor나 Red_Color 처럼 말이죠.
- 한글 안됩니다. 이러지 마세요
- 특수문자 안됩니다. 단 하나 예외는 _ 입니다.
이름을 바꿔주고 변수까지 만들어 줬으면, 기본값을 넣어 줍시다.
이 기본값은 '셰이더가 처음 생성되었을때 들어가는 값' 입니다.
뭐 유저가 한 번 건드리면 아무 쓸모없는 값이지만, 그냥 처음 태어날때의 수치를 말하는 거죠. 지금은 0 이어도 상관없으니까 뭐 둡시다.
모드는 기본으로 둬도 되지만 필요하면 바꿔도 됩니다. 솔직히 쓸만한건 Default와 Slider예요.
Interger나 Enum은 제대로 작동하지 않습니다.
Default로 놓으면 그냥 지금처럼 한 자리 숫자를 입력하는게 나오고요,
Slider로 놓으면 원하는 최소/최대값을 입력하게 한 후 슬라이더가 출력되게 만들 수 있습니다.
그럼 이렇게 슬라이더를 만들 수 있어요. 범위를 제한하거나, 감각적으로 조절하게 하고 싶을때 쓸만하죠.
그 다음에 나오는 Precision은 정밀도인데요. 그냥 두고 사셔도 사실 별 문제 없습니다. (...) 이 정밀도 아껴서 부자된 사람 본 적 없어요.
Exposed는 중요합니다. 이걸 끄면, 인스펙터에 인터페이스가 나오지 않습니다. 우리는 꼭 켜야 겠지요!
'존재하는데 유저에게 안보여주는 기능' 같은거라서, 프로그래머만 스크립트로 다뤄야 하는 경우에 쓰지요. 우린 걍 켜 놓으면 됩니다.
그 다음에 있는 Override Property Declaration 은 Dots 같은 고급 기법에 쓰이는 거니 신경 안쓰고 넘어가도록 하지요.
이렇게 첫 번째 프로퍼티를 마쳤습니다. 설명이 좀 길 수 밖에 없는게, 처음 나와서 그래요. 다음 부터는 좀 줄겠죠.
정리하자면 ..
Float은 한 자리 숫자를 입력받는 기능입니다.
한 자리 숫자를 입력받게 할 수 있고, 범위(Range) 를 정해서 슬라이더로 값을 입력받게 할 수 있어요!
라는 간단한 내용이었습니다. 한 번 해 보세요!!!
그럼 다음 시간에는 다른 프로퍼티도 만들어 보지요
블로그 주인장에게 커피값을 후원할 수 있습니다!
'튜터리얼_스터디' 카테고리의 다른 글
(HLSL)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스1 (6) | 2021.07.21 |
---|---|
(셰이더 그래프)아티스트를 위한 URP 셰이더 Shader #3 - 프로퍼티스 2 (3) | 2021.07.20 |
(HLSL)아티스트를 위한 URP 셰이더 Shader #2 - 셰이더 이름바꾸기 (1) | 2021.07.15 |
(셰이더 그래프)아티스트를 위한 URP 셰이더 Shader #2 - 셰이더 이름바꾸기 (0) | 2021.07.08 |
(셰이더 그래프/HLSL)아티스트를 위한 URP 셰이더 Shader #1 (6) | 2021.07.04 |
댓글