지난 번에 이어서 외관을 변경할 생각이다.
하얀색 뿐이었던 배경색을 변경해보자.
배경 스프라이트를 선택하고 색깔을...

뭐하나 스므스 하게 넘어가는게 없냐?
지난 번에 SpriteRenderer에 그림자를 넣어 보겠다고 쉐이더를 끼워넣을 것을 기억할 것이다.
아마 그때 만들어 넣은 쉐이더에는 SpriteRender의 Color를 사용하는 기능이 없는 것 같다.
음... 일단 Unity Forum을 찾아 보자.
역시 나랑 같은 문제를 질문한 사람이 있었다.(그럼 그렇지..)
해답으로 제시된 코드는 이렇다.
...
OUT.texcoord = IN.texcoord;
OUT.color = IN.color * _Color;
...
Input에서 Color를 가져오라는 것 같다.
(사실 Shader를 공부한 적이 없어서 느낌적인 느낌으로다가 추리함)
그럼 대충 이런 식으로 수정해 보자.
//// 수정 전.
struct Input
{
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
//// 수정 후.
struct Input
{
float2 uv_MainTex;
float4 color : COLOR;
};
void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color * IN.color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
Input 필드에 color를 추가하고, 컬러 계산식에 곱하기 연산으로 추가해 넣었다.
잘될까?


오오!! 된다!!
한방에 찍어서 맞췄다!
만든 나조차도 깜놀할 운빨이다!
좋다! 색 지정을 완료 했다.
이런 게임은 편안한 색이 최고니까 나무 색으로 해보자.... 괜찮아 보이는군.
이번에는 특수 기능을 넣어 보자.
더 이상 진행이 불가능할 경우, 한줄기 동앗줄이 될 수 있는 특수 아이템!
일단 2가지를 생각해 두었다.
하나는 가지고 있는 조각들을 90도 회전 시켜주는 회전 아이템!
그리고 하나는 조각들을 새로 리필해 주는 아이템!
먼저 아이콘 먼저 디자인해 보았다.
(개인적으로 디자인을 먼저 해 놓으면 좀더 의욕이 솟아 오르는 편이다.)
왼쪽은 90도 회전, 오른쪽은 조각 리필 기능이다.
기본적은 운영방침도 생각해 뒀다.
일단 하루에 2개씩 아이템을 충전해서 사용자들이 쓸 수 있게 한다.
그런데 아이템 2개를 모두 써버렸다면, 동영상 광고를 보고 재충전을 할 수 있게 하는 것이다.
구현 자체는 기존의 코드들을 돌려 쓰면 되니까 쉽게 되었다.
이제 좀 게임같은 느낌이 난다.
이제 점수 체계만 가다듬으면 거의 완성이다.
'Game Make' 카테고리의 다른 글
Block Puzzle 만들기 (7) (0) | 2023.10.15 |
---|---|
Block Puzzle 만들기 (6) (0) | 2023.10.14 |
Block Puzzle 만들기 (4) (0) | 2023.10.08 |
Block Puzzle 만들기 (3) (0) | 2023.10.07 |
Block Puzzle 만들기 (2) (0) | 2023.10.06 |