본문으로 건너뛰기

© 2026 Molayo

YouTube요약2026. 06. 18. 13:10

캐릭터 해금🔓시스템 [유니티 뱀서라이크 14+]

요약

Unity를 사용하여 뱀서라이크 장르의 캐릭터 해금 시스템을 구현하는 방법을 다룹니다. 새로운 캐릭터 추가, UI 버튼 디자인, 잠금 상태(Lock) 시각화 및 인덱스 전달 로직을 설명합니다.

핵심 포인트

  • 캐릭터별 고유 능력치 및 아이콘 설정 방법
  • UI 버튼 색상 및 아웃라인을 활용한 시각적 구분
  • 잠금 상태를 위한 버튼 복제 및 이미지/텍스트 처리
  • 게임 시작 시 캐릭터 인덱스 값을 전달하는 로직

Video: 캐릭터 해금🔓시스템 [유니티 뱀서라이크 14+]
Channel: Goldmetal
Duration: 36m 2s
Source: subtitle (auto, ko)
Transcript:
[음악] 네 여러분 반갑습니다 골드문탈입니다 자 이번 시간에는요 여러분들이 많이 궁금해 하시는이 캐릭터 해금에 대한 기능을 같이 한번 만들어 보는 시간을 가져볼 겁니다 해서 이번에도 버튼 두 개가 더 필요하죠 지금 있는 농부들은요 2개 더 추가를 하겠습니다 그래서 이름도 바꿀거구요 아직 스프레이트 남았거든요 벌써 미리 하신 분들도 계시더라구요 그래서 자 저도 한번 바꿔보겠습니다 일단 뭐 캐릭터부터 받고 있습니다 스탠드 영치시면 나오고요 세 번째와 네 번째 이렇게 버그고요 이름 바꿔야죠 이분은 감자 농부구요 콩 농구입니다 감자 농부는 공격력이 20% 증가 하거든요 콩 농부는요 회전 관통 추가 이렇게 하겠습니다 그냥 1 추가로 아이콘에 맞춰서 버튼의 색깔도 이쁘게 한번 바꿔보겠습니다 감자 농부는 보라색입니다 그래서 이런 느낌인데요 콩 농부는 주황색이거든요 그래서 요런 느낌을 주겠습니다 아 됐군요 그러면 또 이제 텍스트 2개 아래 보시면은 있죠 아웃라인 색깔도 그에 맞춰서 바꿔줘야겠죠 보라색은 보라색대로 조금 두껍게 주황색은 주황색대로 자 요렇게 해서 버튼을 이쁘게 한번 만들어 보았습니다 됐죠 그리고 무엇보다 중요한 거이 버튼에 들어가시면 이렇게 게임 스타트에 자 인자값 전달해 주고 있죠 인덱스에 맞게 됩니다 그래서 캐릭터 삼은 역시나 3 2는 2로 주셔야 헷갈리지 않으니까요 참고하시면 좋겠습니다 자 기존에 제가 변형부를 했었는데요 아 이게 다시 공급력해보니까 벼가 아니고 쌀이었던 거 같아 자 이거는 뭐 쌀롱불 하겠습니다 그리고 중요하지만 보통 이제 쌀 보리쌀 하거든요 그렇습니다 그리고이 캐릭터 그룹에 자 그리드 레이어 그룹 있죠 요거 스페이싱이 1로 되는데 이제 너무 약간 좀 많이 좁혀져 있어요 그래서 제가 1픽셀만 더 큰 키우겠습니다 이렇게요 아 이쁘다 캐릭터 두 명을 더 만들어 보았습니다 자 그러면 살롱부하고 본인 농부는 뭐 기본 캐릭터라고 치고 감자 농부하고 콩 농부는 우리가 해금을 해야지만 추가 캐릭터라고 하죠 그러면 요거는 이미 해금된 상태고 해금이 안 된 잠금 상태 버튼도 필요하겠죠 그래서요 캐릭터 2번을 하나 컨트롤 칠을 해서 복사를 하고요 자 위로 바로 위에 붙입니다 그러면서 요건 이름을 락이라고 지을게요 기울이는 건 잠깐 비활성화구요 그래서 n은 이제 더 이상 누를 필요가 없잖아요 누를 수 없는 뭐 잠금 상태니까요 그렇기 때문에이 버튼을 아예 이렇게 누르신 다음에 리버브 컴포넌트를 통해서 삭제를 하시면 됩니다 자 그리고 이미지 색깔 바꾸겠습니다 이제 이미지는요 약간의 이런 회색으로 조금 바꾸겠습니다네 A4 A4 A4 이렇게 했고요 그러면서 그 아래에 있는이 캐릭터 아이콘이 있죠요 이미지에 색깔을 그냥 확 검은색으로 내려 봅니다 아 그럼 이렇게 실루엣 형태가 되죠 안 보여 누군지 몰라 볼 수 없어요 좋습니다 자 점점 뭔가 느껴지죠 자 텍스트 요거 네임텍스트는 아예 필요가 없습니다 그냥 지울게요 과감하게 삭제할 거고요요 특성 같은 경우에는 핵은 조건이 어떻게 되느냐 이런 조건은 언데드 열 마리 처치 처치시 합류 이렇게 하도록 하겠습니다 이거 한꺼번에 띄우면 이렇게 되죠 이렇게 예쁘게 한번 잡아 보았고요 지금 보시면 첫째 주 거 두 번째 줄 너무 붙어있어요 요거는 라인 스페이싱 여기에서 조금 더 조절할 수 있고요 라인 스페이스는 1.2로 해서 이렇게 살짝 띄워두겠습니다 자 그러면서 아웃라인도 지워주죠이 부분 하면서 이 텍스트의 색깔은 역시나 검은색으로 확네 줄이겠습니다 한요 정도로 조금 이렇게 살짝 올리겠습니다 마이너스 12 정도로 올리면 이쁘게 되네요 자 이렇게 해서 잠금 상태의 버전을 한번 만들었고요 이와 마찬가지로 이거를 그대로 컨트롤 d로 복사하셔서 이번에는 캐릭터 3회 자 락버전을 만들 거고요 아이콘은 네부지 캐릭터 거로 바꾸죠 이렇게요 자 안 보이니까 기준에 있는 캐릭터는 비활성화 하겠습니다 어느 누구나 생존 성공시 네 이렇게 조건 한번 다뤄보았습니다 그래서 처음에 이렇게 돼 있다가 나중에 우리가이 조건을 해금했다라고 하면은 얘가 딱 사라지고 그 다음에는 요렇게 나오겠죠 자 이런 식으로 가는 겁니다 그냥 활성화 비활성화 좀 돼요 그렇다면 이거를 해주는 스크립트가 당연히 필요하겠죠 자 그래서 요거를 새롭게 스크립트를 한번 만들어 보겠습니다 코드 폴더에서 우클릭하시고 크레이트 하실 거고요 이름은 어치브 매니저라고 하겠습니다 언락도 아니고 어치부는 뭔가요 하면은 우리가 보통 그 업적 업적 달성 이런 것들을 어처구 몬트라고 부르거든요 자 거기에서 따온 겁니다 자 이렇게 만들어졌으면요 바로 여기에서 하이라이트에서 플러스 하나 하신 다음에 그랬더니 이름도 어치브매니저라고 이름을 지어주시면서 위치 초기화 시켜 주시면서 방금 만들었던 스크립트를 붙여 위로 정렬해 주시면 이쁘게 완성이 됩니다 됐죠 좀 빨랐나요 이제는이 정도는 여러분들도 다 하실 수 있을 거라 저는 믿고요 어찌 매니저 스크립트를 더블클릭해서 열어보도록 하겠습니다 저는이 버튼 두 개 지금 락이 된 것도 있고 언락된 것도 있고 그래서이 두 개를 담을 변수를 하나 만들어 보도록 퍼블릭 게임 오브젝트의 배열 락 캐릭터 할 거고요 이거 그대로 복사하셔서 이번에는 이렇게 만들어 보겠습니다 일단은 저장하시고요 까먹기 전에 미리 지금 초기화를 하겠습니다 지금 락 큐레이터 언어캐릭터 2개씩 두 개씩 만들어 보시고요 우리가 만들었던 버튼 락은 락대로 언락은 언락대로 이렇게 쏙쏙 넣어 주겠습니다 초기화 되셨죠 그럼 다시 한번 스크립트로 넘어가 보도록 하겠습니다 어쨌든 지금 우리가 해금을 하는게 두 번이잖아요 그래서 뭐 감정 농구를 해금했다 콩 농부를 해금했다 업적이 두 개가 있는거나 마찬가지입니다 그렇죠 그래서 이거를 업적으로 한번 우리가 표현을 해보자 해요 이런 건 이놈으로 관리를 해보겠습니다 타입은 어츠브라 할 거고요 그 업적인 이름을이 열고형으로 적는 거죠 언락 포테이토 감전 농구 해금 이와 같은 것으로 빈 콩 농부 핵은 이렇게 되었죠 근데 요거는 어디까지나 우리가 이런 이러한 열고형을 있습니다라고 하는 데이터일 뿐이고 실질적으로는 지금 변수에 그렇게 저장한 거 없죠 그래서 지부에 배열 통해서 어치부스라고 따로 저장소를 만들어 두겠습니다 되셨나요 그건 초기화는 해야죠 초기화는 웨이크에서 하겠습니다 어치부스 가져오고요 그렇다면 우리가 저희 놓은이 어치부스 이놈에 있는이 모든 값을 다 배열로 넣어야 되는데 그거는 어떻게 할 수 있나요라고 하면은 이놈이라고 치시면요 이렇게 위쪽에요 시스템 네임스페이스의 이놈이란 클래스가 있습니다 자 요거를 선택하여 그 다음에 점을 찍어두시면은 겟 밸류라고 하는 함수 있거든요 자 요것이 바로 이놈의 모든 데이터를 가지고 오는 함수입니다 자 대신 여기에 어찌 브라는 타입을 넣어 줘야 되죠 그냥 이렇게 넣어주면 안 되고요 아 내가 이런 타입입니다라고 한번 넣어 줘야 돼요 그래서 이거는 타입 오프라고 하는 함수가 따로 이렇게 있습니다 보시면 이렇게 있죠 근데 또 문제였어요 지금 갭 밸류 같은 경우에는요 반환값이 그냥 어레이죠 타입이 없는 그냥 완전 그냥 쌩얼입니다 그래서 요거를 우리가 어티부스 배열로 바꿔줘야 되는데 가장 쉬운 방법은요 그냥 명시적으로 앞에다가 소거를 열고 닫고 하시고 어티브스 별로 바꿔주세요라고 탁 하는 겁니다 어 그럼 바뀌어요 신기하게도 되게 잘 됐네 그렇죠 그래서 언락부터 실제 데이터로이 어치부스 안에 쏙 들어있고요 그럼 이제 이걸 기반을 해서이 데이터를 이제 뭐 다른 디바이스 컴퓨터라든가 모바일이라든가 웹페이지라든가 각자 이제 플랫폼에 맞게 저장을 하고 그 저장한 데이터를 꺼내서 쓰고 그렇게 해야 되나요 그렇다면 일단이 데이터 초기화 문제 필요할 것 같습니다 그 초기화를 새롭게 보이드 미닛이라고 하는 함수에서 하도록 하겠습니다 자 그냥 하면은 자동으로 되니까요 이렇게 자 그래서 유니티에서는요 여러분들 디바이스의 데이터를 저장을 시켜주는 클래스를 제공해주고 있는데 그게 바로 플레이어 프리퍼런스입니다 보시면 플레이 프리퍼스인데 프리퍼런스는 약자로 쓰고 있어요 자 이렇게 되시고요 점 찍어주시면 겟도 있고 셋도 있는데 셋이 저장하는 겁니다 일단은 이번 시간에는 int만 쓰도록 하겠습니다 앞에는 먼저 키 값이 들어가요 마이데이터라는 키를 통해서 어떤 값을 넣을래 제 인트형이죠 저는 1만 넣을게요 그러면 여러분도 디바이스에 1이라는 데이터가 쏙 조정이 됩니다 이런 느낌으로 좀 위에 두 업적을 뭐 이런 식으로 저장을 할 수도 있겠죠 그쵸 자 그리고요 이러한 업적 같은 경우에는 아직은 달성을 하지 않아야 되니까 이리안이고 0으로 취급을 하겠습니다 c언어에서는요 불이랑 인트랑 일대일 등이 됩니다 그래서 0이면은 펄스 1이면 추로 이렇게 되거든요 아 물론 그게 안됩니다 그래서네 그런 의미로 일단은 해금이 안 되었으면 영어로 다 넣어주었습니다 자 그런데요 여기서 문제가 있어요 지금은 업적이 두 개밖에 없어서 그냥 여기서 끝났지만요 만약에 업적이 50개다 100개다라고 하면은 계속 저항했죠 아래로 쭉 너무 비효율적입니다 해서 효율적으로 하기 위해서 우리는이 어치부스라는 별을 조금 쓸 필요가 있을 것 같아요 가보겠습니다 어디에서 어찌보스에서 가지고 있습니다 그래서 자 처음부터 끝까지 한 번씩 쭉 수내 공연하면서 거기에 나와 있는 치부의 그냥 하면 안 되죠 점 찍고 2 스트링 하시면은 문자열로 바뀝니다 요렇게 하시면 이렇게 일일이 쓸 필요가 없죠 그냥 포인트만 한 방에 모든 업적을 다 초기화를 시켰습니다 됐죠 좋습니다 이렇게 해버리면은 우리가 게임을 실행을 할 때마다 초기화가 되기 때문에 전혀 우리가 해금했던 데이터가 남아 있지 않겠죠 조건 거래됩니다 무슨 조건이요 아까는 제가 이거 마이데이터 한번 넣었죠 만약에 플레이어 프리퍼런스라는 클래스에 점찍고 헤즈라고 하시면은 무슨 키를 마이데이터라는 키를 갖고 있니 아니요 없는데요 그러면 초기 해야죠 그래서 이게 아니다 자 부정부 씁니다 데이터가 없으면은 초기화를 시켜 주세요라고 이렇게 정해 놓는 것입니다 그럼 우리가 처음에 플레이한 이후에 그 게임을 끄면은 이제는 데이터가 다음이기 때문에 게임을 찾으시려면 요거는 더 이상 실행되겠죠 그렇죠 그럼 이제 여러분들이 업적 데이터는 남아 있겠죠 좋습니다 데이터 저장은 끝냈는데 데이터를 불러와서 실제로이 버튼에 활성화 시켜 주는 거 해야겠죠 자 그거는 스타트에서 한번 해 보도록 하겠습니다 보이드 캐릭터라고 새롭게 제가 함수를 만들어 보겠습니다 물론 요거는 스타트에서 호출을 할 거고요 자 그럼 폼의 표현인데요 인덱스 0이고요 인덱스는 어디까지 버튼 캐릭터까지 들어갑니다 인덱스는 플러스 플러스고요 그렇다면 그 업적에 이름부터 가지고 와야죠 스토리 어치브 네임입니다 어 다시요 어치부스 가져와야죠 배열해서 쏙 넣고 당연히 문자를 안 힘으로 토스트링 해주시면 되겠습니다 자 그럼 부울 거 가져와야죠 그거 진짜 언락된 거 맞니 플레이어 프리플에서 갑니다 좀 찍고 이번엔 계시죠 가져옵니다 무엇을요 인터를요 어떤 키 우리가 가진 무료 방금 만들었던 어치브네임 가줍니다 끝 자 하지만 요거는 어디까지나 숫자죠 0 아니면 1입니다 그래서 이게 1이어야지 이렇게 비교를 해야겠죠 그래서 업적이 달성이 되었으면 요게 주르고 업적이 달성이 안 됐으면 벌써야 되겠죠 자 이걸 그대로 락 캐릭터 버튼에다가 적용을 합시다 인덱스 그대로 가져주고요 set active 할 건데 이걸 그대로 이렇게 쏙 넣으면 되나요이 락 캐릭터 같은 경우에는이 언락과 반대죠 해금이 되었으면 이제 요거는 들어가 주셔야죠 그래서 부정입니다 느낌표 넣어 주시고요 이거 그대로 복사해 주셔서 언락 같은 경우에는 부정이 필요 없죠네 그냥 그거 그대로 활성화해 주시면 되겠습니다 자 여기까지입니다 길었죠 자 다 됐으면요 저장하시고요 여기다 제작할까요 파일세이브하고 세이브 프레이트 하신 뒤에 딱 한번 실행해 보도록 하겠습니다 자 실행했는데 아무런 그런게 없죠 당연하죠 지금은 게임을 처음 시작을 했고 그리고 모두 다 지금 해금이 안 됐기 때문이죠 자 게임 끄고요 이번엔 약간 좀 다르게 한번 해보겠습니다 초기화할 때요 아예에 놓고 아예 대놓고 해금이 된 데이터를 한번 넣어 볼게요 요거는 게임을 한 번도 실행하지 않았을 때만 실행되는 건데 어 그럼 얘는 어떻게 하죠 이미 데이터가 들어갔을 텐데 자 고거는 방법이 있습니다 에디터에 맨 아래쪽에 클리어 올 프리퍼런스가 전혀 데이터를 깔끔하게 지워주는 그런 기능이고요 요거 Yes 눌러 가지고 데이터를 깔끔하게 지운 뒤에 다시 한번 실행을 해 주시면은 자 이렇게 우리가 지금 모두 해금이 된 데이터로 초기화 했기 때문에 이렇게 다 해금이 된 상태로 나오게 되는 것이네요 그렇죠 와 진짜로 내가 그렇게 나왔어요 대박이네요 그렇죠 좋습니다 자네 번째 기타 한번 볼까요 야네 번째 캐릭터도 있겠지만 완성이 되었네요 그렇죠 좋습니다네 이렇게 해서 캐릭터 해금은 자 완료가 되었습니다 자 요건 좋아요 근데 지금 이거는 우리가 해금을 되게 올린 거고 이게 언제 해금되는지는 아직 우리들 오진 않죠 자 그거를 한번 해 볼 겁니다 자 요거는 다시 영어로 들릴게요 처치 시 합류 그리고 콩 농부는 어느 누구나 생존 성공시 함유라고 적어두었습니다 이거다 이제 업적 달성 조건이죠 그래서 이러한 조건들을 확인을 해야 되는데 그거를이 어치부 매니저에서 해 볼 겁니다 보시면 제가 업데이트 안 주고 있죠 여기서 할 건데요 보통 기본 로직 같은 경우에는 다 업데이트에서 처리가 되기 때문에 그 처리가 끝난 이후에 후속으로 점검을 하고 있기 때문에 레이트 업데이트 할 겁니다 함수를 또 새롭게 만들어 볼 건데 체크 어치브라고 제가 이름을 짓겠습니다 자 이번에는 여기에 매개변수가 들어갑니다 바로 대상이 되는 함수를 만들었구요 그러면이 레이트 업데이트 한 프레임 한 프레임마다 모든 업적을 한번 봐야죠 그래서 이번에도 4 2층을 쓸 겁니다 우리가 먼저 어치부스 배열 들어갈 거고요 그래서 l을 이렇게 뿅 호출을 할 겁니다 됐죠 일단은 미리 이게 된 건지 안 된건지 이제 어치브 점검부터 좀 해보겠습니다 미리 지역변수로 하나 만들어 볼 거구요 스위치 문에서 관리를 할 겁니다 무엇으로 어느 업적인지에 따라서 우리가 점검하는 소송들이 다 다르죠 케이스 그럼 이제 어치부 나옵니다 좀 찍으면 이렇게 나오죠 그래서 오타의 염려가 없습니다 그 다음에 뭐 브레이크 한번 미리 넣어주고 저는 지금 업적이 두 개 있죠 미리 넣어 줄게요 빈 자 이렇게 나왔습니다 그냥 감자 넘버 같은 경우에는 킬 수가 10마리 이상이면 일단 ok죠 그래서 이제 어치브 같은 경우에는 게임 매니저의 인스턴스에 킬수 10 이상이면은 ok입니다 달성했죠 그 어느 핀 같은 경우에는요 이제 어찌부가 지금 게임 시간과 똑같아야죠 무슨 시간이 맥스 게임 시간이 버텼죠 이긴 거죠네 이렇게 된 겁니다 자 이래서이 조건을 맞으면이 어치브는 츄르가 나올 건데요 if 2주 어치브 아 그게 출가 맞습니까 자 그러면서요 지금 요거는 아직 해금이 안 된 상태일 때만 올려줘야죠 그래서 플레이어 프리프레스를 합니다 점 찍고 가져와야죠 get int입니다 이번에도 어치부에 투 스트링 들어가고요 그것이 0일 때 아직 해금이 안 됐으니까 0이죠 자이 두 가지 조건이 지켜 주셔야 해금이 되는 겁니다 업적 달성이 되었다 그 얘기죠 프리퍼런스 다시 한번 이번에는 저장입니다 인트죠 어치부에 투 스트링 다시 한번 가지고 옵니다 그런 다음에 이번에는 1을 넣어주는 겁니다 당신이 역적 해금했어 딱 그 의미죠 됐어요 여기까지입니다 의외로 쉽죠 딱 이렇게만 코드를 작성을 해 보았고요 저장해 보겠습니다 난 나가서 혹시나 지금 나면 데이터 있으면요 지울게요 애드티에서 클리어 올 플레이어 플러스 깔끔하게 지울 거고요 그 다음 실행을 하면은 이제 요거만 되겠죠 자 쌀롱불을 선택을 해서 일단 언데드 10마리만 한번 잡아볼까요 자 이제 끄겠습니다 자 껐어요 자 아직 게임 시간 다 끝난 거 아닙니다 미리 껐어요 한번 그 다음에 다시 한번 게임을 실행시키면요 아 이렇게 해금이 되었네요 그쵸 공격력 20% 추가 2인 감자 농부가 추가가 되었구요 자 간드는 방법 한번 생각해 보겠습니다 이번엔이 농부 가지고 자 킬수가 아니고 끝까지 한번 버텨 보겠습니다 됐어요 자 서바이브드 되고 자 돌아가기 하겠습니다 하면은 오 이제 콩 농부도 열렸어요 자 이렇게 게임을 플레이 해가면서 업적 조건에 달성을 하면은 그만큼 업적에 해당하는이 캐릭터가 해금이 되는 거지 완료가 되었습니다 끝난 건가요 권리메탈님 아니죠 우리가 지금 이렇게 게임 플레이 하면서 해금이 됐나 안 됐나 지금 우리가 모르고 있잖아요 그래서 이번에는 업적이 달성이 되었다라는 알람을 한번 만들어 보도록 할 겁니다 자 그러면 사용자가 게임을 플레이하면서 앞쪽을 달성했다는 것을 눈으로 볼 수 있게끔 우리는 ui로 만들어 줄 필요가 있겠어요 캔버스에서요 우클릭하시고 이미지를 한번 띄워 보겠습니다 이미지 이거는 판넬 해주시고요 크기 좀 바꿀게요 폭은 50이고 높이는 27 조금 작게 하시고요 앵커 잡겠습니다 shift alt하셔서 우측 최상단 구조에다가 쇽 버려 줄 거고요 근데 이렇게 하면은 허드를 켰을 때 겹치죠 겹치지 않게 약간 조금 내려 줘야 할 것 같아요 그래서 x축은 -3 정도로 하고요 y축은 -20으로 하겠습니다 그럼 이렇게 이쁘게 자리가 잘 잡힐 거예요 됐죠네 허드론 다시 숨겨 주시고요 그리고이 이미지도 약간 띄워진 느낌이니까요 섀도우 넣겠습니다 그 다음에 여기에서 여러가지 정보들을 넣을 건데요 빈거 하나 만들어 주고요 그대로 이름 적겠습니다 앵커는 시프트 알트에서 전체 확정을 해주세요 여기에 들어갈 거는 이미지 하나랑 글자 하나입니다 이미지는 당연히 자 감정 넣을 거고요 셋 네이티브 사이즈 하겠습니다 위치 종료할게요 앵커 시프트 알트 하셔서요 이번에는 좌측 가운데로 밀어 넣어 주시고요 x축은 1정도만 하겠습니다 y축도 살짝 1로 올릴게요이 정도 되었나요 글자 넣어야죠 여기 또 하나 ui에서 레거시 텍스트 는요 앵커를 양균 풀어 넓어진 요거를 선택해 주시면 좋을 것 같아요 자 그리고 가운데 오게끔 할 거고요 이쪽 여백을이 그림이 보이게끔 좀 크게 주겠습니다 좌측은 1만 주겠습니다 지금 글자 너무 크죠 글자 작게 줄일게요 포트 사이즈는 5라고 폰트도 네오 둥근 목걸로 바꾸도록 여기다가 그럼 공지사항을 접는 거죠 감자 농부가 다음 전투에 합류합니다 자 이렇게 뭐 해금되었다라는 걸 조금 느슨하게 풀어서 설명을 한 거죠 글자 너무 붙어있다 싶으시면은 아까 했던 것처럼 라인 스페이싱을 1.2로 해주시면 이쁘게 잘 보입니다 자 이런 느낌으로 하나 컨트롤 D 복사를 하셔서 이번에는 콩 농부도 그대로 만들어 볼게요 마찬가지로 이미지 바꿨구요 스탠드 콩 농부는 여기에서 콩으로만 바꾸면 되죠 됐습니다 공동부가 다음 전투에 합류합니다라고 잘 만들어졌네요 다 되었습니다 여러분들 자 이쁘게 다 만들었으면요 요것도 비활성과 요것도 비활성화 다 비활성화해 주시기 바랍니다 그런 다음에 마지막에 있는 이것까지 비활성을 해주세요 결국은 다 별상하죠 그런 다음에 얘를이 어치브매니저한테 쏙 넣어줄 것 같아요 그럼 위로 올라가서 변수 하나 선언을 하겠습니다 퍼블릭 게임 오브젝트 UI 노틱 바로 저장하시고요 잊지 않게 지금 인스펙터에서 초기화를 시켜 주겠습니다 자 unot에서 다시 스크립트 돌아와서 요거를 조금 활성화해 주셔야죠 어디에서요 바로 아래쪽에서이 체크 어치브이 부분입니다 만약에 조건을 달성했으면 업적 달성했다이 부분이죠 여기 아래에 활성을 해줘야죠 자 그럼 활성화를 미리 해야 되는데 이게 활성화되고 한 몇 초 있다가 다시 사라져 줘야죠 자 그래서 미리 코루틴을 작성해 줄 건데 I 이노뮬레이터 루틴이라고 하겠습니다 예일도 필요하죠 저는 한 5초가 할게요 근데 5초를 뉴 뭐 웨이트 포 세컨드 이렇게 가지고 뭐 오라 하면은 이거를 부를 때마다 계속 새롭게 뉴를 하기 때문에 이건 약간 좀 자원 낭비입니다 그래서 보통 이런 경우에는요 여기에서 미리 선언을 해서 저장을 해 주시는게 조금 더 최적화에 도움이 됩니다 웨이트 할게요 웨이터 볼 세컨드 자 근데 이거는 타임스케일을 탑니다 근데 우리가 레벨업 할 때요 타임스킬이 0이 되잖아요 그러면은이 UI 노티 또 계속 살아 있는 거예요 그 시간이 지나지 않기 때문에 그래서 이분은 웨이트포세컨드가 아니고 웨이트 세컨즈 리얼타임을 하겠습니다 요거는 멈추지 않는 시간이에요 이름은 웨이트 할 거고요 요거 초기화는 어웨이크에서 진행하겠습니다 몇 초 넣으면 되는데 저는 5초만 넣겠습니다 됐으면 이거 웨이트를 그대로 아래로 내려가서 이너머레이터 코르티나가 쏙 써주시면 됩니다 쉽죠 그러면은 일단 보이는 거는 예일드 앞에서 써주고요 그 다음 아래쪽 5초가 지난 후에는 다시 펄스 해서 가려 주시면 되겠죠 좋습니다 일단 코르틴 작성되었고요이 코르틴을 여기다 써 주시면 될 것 같아요 그러면 바깥쪽은 이렇게 활성화 되겠죠 어떤 내용물 자 그 어떤 내용물을 보여줄지는 여기에서 한번 더 작성을 해왔겠네요 가보겠습니다 본문 돌릴게요 인덱스는 어디까지입니까 아 그거는 UI 왜 노티에서 트랜스폼 들어가 주고요 트랜스폼은 자기 자식이 몇 개 있는지 알 수 있죠 차일드카운트입니다 요걸로 할게요 자 그다음에 인덱스는 플러스 플러스 갈게요 자 코드가 조금 길어지겠습니다 UI 어떻게 해서 다시 트랜스폼 가서 겟 차일드 몇 번째 45v를 가져올 거냐 인덱스를 가지고 와야죠에도 트랜스폼입니다 게임 오비트로 나가 주셔야 활성을 할 수 있어요 그런데이 활성화 조건이 중요하죠 활성화 조건 자 부을 해야죠 그냥 이건 이제 액티브로 하겠습니다 활성화 접근이 무엇이냐 인덱스가요 업적이죠 근데이 업적은 제가 여태까지는 이제 문자는 숫자도 매핑이 되어 있다고 말씀드렸죠 저거를 활용을 하는 겁니다 앞에다가 인트형으로 명시적으로 형 변환을 하면은 이렇게 비교가 됩니다 그렇죠 그래서 뭐 0번째 첫 번째 두 번째 세 번째 업적에 따라서도 여기 안에 있는 자식이 이렇게 켜지는 거죠 자 그래서요이 코드에서 우리가 이제 이놈으로 적어 놓았던이 업적 순서대로 여기 공지사항에 있는이 오멘트도 똑같이 쭉 아래로 나열을 해 주셔야 됩니다 그거 꼭 주의하시고요 아무튼 그렇게 데이터 가정하고 그러면 이게 성립이 되겠죠 완성이에요 자 컨트롤 s 자 갑작스럽게 코딩이 좀 많아졌습니다 자 칩셋줄 정도로 구성을 했는데요 나가 보시고요 이것도 다시 비활성화 그 다음에 잊지 마시고 에디트에서 클리어 올 플레이어 프리퍼런스 데이터 다 깔끔하게 지워 주신 다음에 고정했습니다 파일 세이브하고 파일의 세이브 하셔서 저장하시고요 테스트 해보도록 하겠습니다 너는 감자 농부를 한번 해금을 해보도록 하겠습니다 쌀눈부 선택해서 열무리 한번 잡아 볼까요 어쨌든 공지사항은 나오기 때문이죠 나왔습니다 감자농부가 다음 전투에 합류합니다라고 플레이어한테 알려준 거죠 그리고 지금 타임스퀘어에도 불구하고 알아서 살아도 주었죠 야 요렇게 해서 알람까지 이쁘게 잘 완성이 되었네요 좋습니다네 자 또 이제 버티면은 버텼어요네 버티면 이제 홈런부도 다은 전투에 하면 된다고 뜨면서 이렇게 캐릭터가 해금이 된 모습을 확인을 할 수가 있습니다 어떻습니까 여러분들네 캐릭터 해금에 대한 시스템 작성해봤고요 이게 단순히 해금 뿐만이고 지금 우리가 작성한이 코드는 모든 업적 관리를 할 수 있는 코드다라고도 설명을 드릴 수 있겠습니다 그래서 여러분들이 이렇게 여러가지 뭐 해금을 더 추가하셔서 한번 이렇게 업적도 달성했습니다라고 이렇게 끼워 보시고 해보시길 바라요 감사합니다

AI 자동 생성 콘텐츠

본 콘텐츠는 YouTube 골드메탈 (Unity 한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0