8/25 ~ 8/31
*해당 프로젝트에 기여한 날만 작성했습니다., 또한 해당 일지 작성 관련한 것은 기여로 판단하지 않았습니다.
파편 연출을 하기 위해 셰이더와 풀 셰이더를 찾아 보았고, 끝내 파편 연출을 하나 끝냈습니다.
기믹들을 합치기 위해 올바른 인풋 시스템과 연결했습니다.
간단하게 머니 시스템을 만들고 상점을 만들기 위해 다이얼로그(액셀)을 수정했습니다.
다이얼로그에 있던 오류들을 고치는 중입니다.
8/25, 8/26
25
24일에 이어서 파편 연출을 완성 했으나 화면 비율이 변경되었을 때 맞춰지지 않을 것을 우려해 (당시 오브젝트의 메테리얼이었습니다.)
첫 번째로 UI로 시도 했으나 실패 하였고 자료를 더 찾아 full shader에대해 배웠습니다.
결국 full shader로 변경 + 스크립트를 작성했습니다. 다만 다시 보니 추구한 바와 다르다 느껴서 셰이더를 다시 수정했습니다.
오브젝트의 메테리얼이었을 때와 UI의 시도 흔적은 모두 지워서 셰이더에만 살짝 남았습니다.
26
풀 셰이더와 셰이더 노드 관련한 영상을 찾아봤습니다.
셰이더를 다시 변경했습니다.
다시 스크립트를 작성했습니다.







이 시행착오 끝에 결국 완성했습니다.

솔직히 여기저기 보고 똑같이 하면서 엮은 거라 잘은 모르겠지만
왼쪽 아래 끝 부터 power 까지는 가운데에 홀을 만들어줍니다. 만약 이 대신 전체가 꺼졌다 켜졌다 하면 자칫 성의 없어 보일 것 같았기 때문입니다. 그래서 저 power가 Full Break 로 인해 줄었다가 커질 것 입니다.
one Minus는 원이 하얀색이면 오히려 보이는 부분이 되기에 검정색이(안보이는 부분이) 되도록 해주었습니다.
Multiply로 더 보이는 부분과 안 보이는 부분이 확연히 차이가 나도록 했습니다.
그리고 저 원과 깨진 이미지(png가 아님)와 합쳤습니다. 이게 투명 이미지가 아니기에 컬러에서 따왔습니다.
그리고 Alpha와 연결 했습니다.
*Base Color
지금 잘 보시면 Base Color에 이미지가 연결된게 아니라 흰 색과 연결되어있는데,
사실 많은 시간을 쏟은 이유가 base color에 이 이미지를 연결 했어서 입니다. 오브젝트나 UI일 때는 상관이 없었는데
full shader에서는 색이 화면과 합쳐져서 나옵니다 (???)
더 자세히 얘기해보자면 Multiply값을 거쳐온 이미지 (시도들에서 보시면 아시게될 겁니다!)를 연결 하면 그런 것인데....
그렇다고 Multiply를 연결 하지 않으면 흐려보였습니다.
그렇게 Base color는 건들지도 못하고 Alpha만 건들다가 우연히(다행히) 발견해서 무한의 셰이더 굴레에서 벗어나게되었습니다...







아, full shader는 Edit -> Project Setting -> Graphics -> Default Render Pipeline (PC_RPAsset) -> Renderer List (0) -> 쭉 아래로 내려서 -> Add Render Feature -> Full Screen Pass Render Feature를 선택하면 하나가 생성될 텐데
그것의 Pass Material의 내용을 방금 만든 셰이더와 연결하면 됩니다.
셰이더는 무조건 !! Material이 FullScreen이어야 합니다!! (Alpha는 취향)
그리고 스크립트... 이것도 처음 완성과 달리 full shader식으로 다시 수정했습니다.

이 스크립트에 맞춰 public인 변수가 변경될 때마다 실행되어야 하기에

이 메서드를 이용해 액션을 넘겨주려 했습니다.
근데 곰곰히 생각해보니 그냥 제 스크립트에서 똑같은 변수를 만들고 변경되면
이 스크립트 변수도 변경해주면 되지 않나? 하는 역발상을 했습니다.

중요한 변수들을 똑같이 가져왔습니다. (색)
UniveersalRendererData는 아까 만든 full Shader를 말합니다.(정확히는 mat가 full Shader고, rendererData는 URP, feature는 URP의 Full Screen Pass Render Feature 이죠...복잡합니다)

feature는 Full Screen Pass Render Feature(Full Shader를 넣었던 그것입니다!) 를 가져와줍니다.
mat에는 passMaterial 즉 full shader를 가져옵니다.그리고 풀 셰이더의 변수를 초기화 시킵니다. (+ 꺼주기)

bublic 변수가 변경되면 실행 하도록 했습니다.
변수가 bool 형식인지 확인 하고, 딕셔너리에 없으면 넣어줍니다.
딕셔너리에 있고, 값이 변경된 상태라면 딕셔너리에서의 값을 변경해줍니다.
!currentValue 즉 변수가 false 되었다면


시간 지남에 따라 점점 깨져보이도록 full shader의 값을 변경하고,
특정 수(8)에 도달하면 액션을 보냈습니다.
또 다시 full shader의 관련 한 것을 초기화 & 비활성화 했습니다.
액션 설명 하기 전 다시 값 변경으로 돌아가

만약 변경된 변수 값이 true라면 full Shader 사용 없이 바로 액션을 보냅니다.
(이때 까지는 색 파편 도입부 연출이 있다는 사실을 몰랐습니다...)
이제서야 설명하는 OnChangeBoolValue는 이름에서도 보이듯 변경된 변수에 대한 정보를 넘겨줍니다.
이를 맨 앞에서 소개 했던 팀원이 만들어 둔 스크립트에서 받아줍니다.

단순하게 이름이 같은(public) 변수를 찾고, 값 변경만 이행합니다.

이렇게 파편 (사용) 연출을 완성했습니다.
8/27
씬을 합치면서 자잘한 오류들을 수정하고
기믹들에 알맞은 인 풋 시스템으로 교체했습니다.
씬 합치는 것과 자잘한 오류는 설명 하기엔 너무 미미하고 자유분방해서 불가능 할 것 같고
간단히 인 풋 시스템만 얘기 하겠습니다.

다이얼로그 같은 경우 1, 2, 3 등 추가 된 게 있어서 그냥 새로 하나 간단히 만들어
Input.GetKeyDown()를 처분했습니다.
OnSelect같은 경우는 int.Prse(context.control.displayName)으로 숫자를 얻습니다.
나머지 인 풋들은 이미 다른 팀원이 만들어둔 플레이어 인 풋과 연결만 했습니다.
생각보다? 빨리 끝나서 바로 동아리 하러 도망갔습니다. (이대로 3일을...)
8/30, 8/31
후... 정말 억겁의 시간 같은 이틀이 된 30, 31...
간단히 머니 시스템을 만들고 상점(머니 사용, 물건 얻기)를 만들었습니다.이에 맞게 대화(엑셀)도 수정했습니다.
실행해보니 감이 잡히질 않는 오류만 생성되더군요.
계속 디버그만 찍고 겨우 겨우 수정했습니다.
사실 아직도 수정해야 하고요...ㅠㅠ
버그들을 보니까 상점 들어오기 전 부터 있던 것 같은게 몇몇 보이더라고요.
다들 다이얼로그는 그냥 사서 쓴다는 이유를 알게되었습니다...



나중 저장을 고려하여 간단한 저장 데이터를 만들었습니다.

또 이를 위해 간단한222 저장 매니저?를 만들어줬습니다.

머니 '시스템'이라고 부르기엔 초라한 감이 있는 매우 간단한 머니 시스템을 만들었습니다.
UseMoney는 먼저 수를 양수로 바꾸고
이 값과 소지금을 비교하여 소지금이 더 작다면 실패,
소지금이 같거나 크다면 값을 제하고 성공하게 됩니다.
GetMoney는 그저 간단히 더하기만 합니다. (소지금 최대치가 없어서.)
UI도 아직 없어서 그냥 이렇게만 작성했습니다.

마찬가지로 간단한 상점입니다.
약간 이해가 안되실 것 같아서 액셀도 같이 보여드릴게요.

*다이얼로그 액셀 간단 소개
*8/28, 8/29는 진행 사항이 없습니다.
일지
이전 일지 > https://neeeeding.tistory.com/41
네오위즈 개발 일지 (16) - 8/18 ~ 8/24
8/18 ~ 8/24*해당 프로젝트에 기여한 날만 작성했습니다., 또한 해당 일지 작성 관련한 것은 기여로 판단하지 않았습니다. 이번주는 한 일이 없다고 봐도 좋을만큼 한 것이 없습니다...변명을 해보
neeeeding.tistory.com
다음 일지 >
'네오위즈' 카테고리의 다른 글
| 네오위즈 - 개발 일지 ((21)1) '회귀(回歸)' - 9/22 ~ 9/28 (0) | 2025.09.28 |
|---|---|
| 네오위즈 개발 일지 (20) - 9/15 ~ 9/21 (0) | 2025.09.21 |
| 네오위즈 개발 일지 (16) - 8/18 ~ 8/24 (0) | 2025.08.24 |
| 네오위즈 개발 일지 (15) - 8/11 ~ 8/17 (1) | 2025.08.17 |
| 네오위즈 개발 일지(14) - 8/4 ~ 8/10 (1) | 2025.08.10 |