빨간 사격형이 깜박이는 작업이다.
셰이더작업은 메뉴가 버전마다 달라서 어디는지 찾다보니 기록을 남겨둔다.
영상: https://www.youtube.com/watch?v=VuibGcamE5E&t=45s
이분 영상은 유니티 2023 버전이였다.
1. UI -> Canvas 로 캔버스 만듭니다.
2. UI -> Image 로 사각형 만듭니다.
3. 파일쪽에서 우클릭 create -> Shader Graph -> Spirte Unlit ~~ 셰이더 그래프 만듭니다.
멀리도 있다.
4. 더블클릭해서 Shader Graph 엽니다.
5.Fragment 클릭
6. 우측 상단에 떠있는 UI 인데 그림따라 가서 Canvas 로 바꾼다.
여기까지해야 alpha 가 정상적으로 먹히는 캔버스 셰이더가 동작합니다.
7. 셰이더 그래프 만들기
Color 는 빨간색 그대로 박아넣었고
Alpha 는 Time 의 sine time 을 이용해 1 ~ -1 왔다갔다 하는 값을 넣었다.
0 ~ -1 부분은 다 0 이 되기 때문에 안보이는 시간이 좀 길더라 Absolute 를 넣으면 1 ~ 0 값으로 바꿔준다.
(영상에선 그걸 사용함)
좌측 상단에 디스켓 아이콘을 눌러 저장한다.
(요즘 사람은 디스켓이 뭔지 모른다더라.)
이렇게 생긴 아이콘이 디스켓 이다.
8. 캔버스의 이미지에 셰이더를 박는다.
내 프로젝트 기준으로 스샷을 찍은거니 각자 알아서 잘 찾아 넣는다.
Material 부분에 Shader 를 넣어도 되니 편리했다.
셰이더는 어려운 분야라서 UI 에 익숙해지는게 좋을것 같아 일부러 스샷을 많이 남겼다.
추가작업
FS_Blink_shader.zip 파일 링크 : https://drive.google.com/file/d/1aEqv4z_f76fntUDX60DnCDY057BDLWfV/view?usp=drive_link
위에서 만든 셰이더는 색깔이 깜박거리는 것이라 쓸모가 없습니다.
이 셰이더는 텍스처를 포함한 UI 를 깜박히게 합니다.
예시 화면
셰이더가 UI 의 scrite 를 받아드리려면 입력 텍스쳐의 이름을 고쳐주어야합니다.
_MainTex <-- 이런식의 이름을 써야 UI 에 설정한 그림을 받아 드릴 수 있으니 주의
관련 설명:
Some common texture names in Unity shaders include:
_MainTex: The main diffuse texture
_BumpMap: The normal map
_Cube: The reflection cubemap
You can use the Material.GetTexture method to get a named texture. If the texture is not found, the method will write an error message to the console and return null.