반응형

유니티 29

[쿠키런 오븐브레이크 모작] 14. 보물 추가

모작에 추가할 보물은 아래 '파도방울 소라껍데기'입니다. 1. 보물 UI 추가 2. 소라껍데기 보물 효과 넣기 소라껍데기의 효과는 아래와 같이 파도가 화면을 지나가면서 장애물을 없애주고, 화면에 있는 젤리들에 물방울을 씌워줍니다. (물방울 씌워진 젤리가 더 높은 점수를 줌) 제가 할 일을 정리해보면 아래와 같습니다. 2-1) 14.5초마다 보물버튼의 이미지가 채워지면 보물이 자동으로 사용되게 하고, fill amount를 다시 0으로 변경 2-2) 화면을 지나가는 파도 이미지 넣기 2-3) 파도가 지나갈 때 장애물이 없어지게 하기 2-4) 파도가 지나갈 때 젤리들에 물방울이 씌워지게 하기 2-5) 물방울 젤리 점수 더 높게 해주기

[게임 제작기] 2022.05.04

[쿠키런 오븐브레이크 모작] 11. 모작 제작 2차 기획

안녕하세요 극꼼입니다! 저번에 펫과 보물을 추가하지 못함이 아쉬워 새로운 쿠키와 더불어 좀 더 완전한 모작으로 만들려 이렇게 다시 기획을 하게 됐습니다. ㅎㅎㅎ 아래는 기존에 만들어둔 모작에 추가할 컨텐츠입니다. 1. 펫 추가 2. 보물 추가 보물은 1종류만 넣을 생각입니다. 3. 새로운 쿠키 추가 - 오징어먹물맛 쿠키 이렇게 펫과 보물 컨텐츠를 추가하고, 새로운 쿠키를 추가해 스테이지를 선택할 수 있게 해보겠습니다!

[게임 제작기] 2022.04.29

[Google Play Console] 구글 플레이 게임 서비스 연동하는 법 2) Firebase 세팅

바로 이전 포스팅에서 유니티와 구글 플레이 콘솔에 구글 플레이 게임 서비스를 세팅하는 방법을 알아보았습니다. 이번 포스팅에서는 유니티에 필요한 작업과, 로그인과 랭킹을 연동하는 방법을 알아보도록 하겠습니다! 목차는 다음과 같습니다. 1. Unity 프로젝트에 Firebase 구성 파일 및 Firebase Unity SDK를 추가 2. 구글 플레이 콘솔에 Firebase 프로젝트 연결 * 이전 포스팅 : https://geukggom.tistory.com/152 [Google Play Console] 구글 플레이 서비스 연동하는 법 1) 유니티, 구글 플레이 콘솔 세팅 1. 유니티에 구글 플레이 게임 서비스 임포트 1) 아래 링크에 접속해서 Google Play Games plugin for Unity 를..

[Unity] 2021.11.02

[젤다의전설 꿈꾸는섬 모작] 치킨의 전설 1. 모작 기획

안녕하세요 극꼼이입니다. 오늘은 새로 모작 포폴을 만들기 위해 대략적인 기획을 해보았습니다. - 장르 : 액션 어드벤처 게임 - 제작 툴 : Unity(2019.4.17f1) - 플랫폼 : 모바일 - 예상 제작기간 : 약 한달 - 리소스 : 주변 지형물(땅, 풀, 바위, 벽, 물 등), 플레이어, 적, NPC 등의 리소스는 에셋 스토어의 무료 에셋 사용 예정. - 몬스터 : 젤다에 나오는 여러 유형의 몬스터를 넣을 예정. - 맵 : 여러 기능을 보일 수 있게 자체제작. - 플레이어 1. 영구 사용 아이템 : 힘의 팔찌, 대시 신발, 물갈퀴(수영, 잠수 가능) 2. 획득 아이템 - 장착 : 깃털(점프), 후크샷 3. 획득 아이템 - 소모품 : 폭탄, 화살, 마법의 가루 - UI - 설정 : 저장, 불러오기..

[게임 제작기] 2021.07.18

[Unity] 마우스 화면 이탈 방지, 마우스 고정 코드(CursorLockMode)

안녕하세요, 극꼼이입니다! 유니티를 이용하다 보면 커서가 화면 밖으로 나가서 곤란한 경우나 마우스를 고정해야 하는 경우가 생기는데요, 그럴때는 아래와 같이 유니티에서 제공하는 코드를 이용해서 이를 방지할 수 있습니다. 유니티에서 제공하는 CursorLockMode 에는 다음과 같이 3가지가 있습니다 : Locked, Confined, None 1. Locked : 마우스의 커서를 윈도우 정중앙에 고정시킨 후 보이지 않게 해주는 코드. FPS 게임에 유용. 코드 사용 예시 : Cursor.lockState = CursorLockMode.Locked; 2. Confined : 마우스의 커서가 게임 윈도우 밖으로 벗어나지 않게 함. 코드 사용 예시 : Cursor.lockState = CursorLockMod..

[Unity]/[Unity] 2021.06.29

[C#] 열거형 Enum과 string,int 형변환 방법

오늘은 열거형인 Enum에 대해서 간단하게 알아보겠습니다. C#에서 Enum은 의미있는 문자열에 숫자을 할당해줘서 코드를 단순하게 해주고, 숫자형과 문자형이 상호호환 가능해지게 해줍니다. 먼저 enum의 장점을 정리해보자면 아래와 같습니다. 1. 문자열에 숫자를 할당해줘서, 문자형과 숫자형의 쉬운 상호 형변환으로 코드가 단순해진다. 2. if문, 특히 switch문에서 쓰기 용이하다. 제가 실제로 사용한 예시를 들자면 다음과 같습니다. enum타입의 변수(변수명 : Room)를 하나 만들고, 사용할 단어들을 입력해줍니다. (Room_Manager라는 스크립트입니다) 여기서 따로 번호를 지정하지 않고 열거할 경우, 자동으로 0부터 지정됩니다. 아래의 코드는 방들의 이미지에 공통적으로 붙인 스크립트입니다.(..

[Unity]/[C#] 2021.06.28

[Unity] Xml 사용 방법 (feat.암호화/복호화)

안녕하세요! 극꼼이입니다. 오늘은 게임 데이터를 저장하고 불러올 때 사용하기 위해 제가 사용한 Xml 코드를 포스팅해보겠습니다. 사용 방법이 굉장히 쉽고 접근성도 좋기 때문에, 유저들이 접근하지 못하게 하기 위해서는 암호화, 복호화 과정도 함께 거쳐야 합니다. 1. Xml 생성 첫번째로 해야하는 것은 Xml 파일을 생성하는 것입니다. 게임을 이제 시작한 유저에게는 데이터를 저장하기 위한 Xml 파일이 존재하지 않은 상태입니다. 이때 다음과 같은 코드를 상요하여 원하는 위치에 Xml 파일을 생성해줍니다. 저장한 경로에 파일이 생성되었는지도 확인해줍니다. 2. Xml 로드 Xml 파일을 생성했으면 이제 만든 파일을 불러오는 방법을 알아봅시다. 3. Xml 덮어쓰기 세번째로는 이렇게 만든 Xml 파일에 새로운..

[Unity]/[Unity] 2021.06.27

[C#] 상속(virtual, override, abstract)

안녕하세요 극꼼이입니다. 이 포스팅에서는 상속을 배우면서 공부한 virtual, override, abstract에 대해 정리할 생각입니다. virtual, override, abstract는 모두 부모, 자식 함수간의 상속에 쓰이는 키워드입니다. 같은 내용의 코드를 여러 스크립트에서 반복하지 않도록 해줍니다. 1. virtual : 부모(상위) class에서 사용. 자식함수에서 재정의 가능하게 가상함수로 만들어 줌(본문 정의 가능). 접근 한정자는 public, internal, protected를 사용해야 함. 2. override : 자식(하위) class에서 사용. virtual함수를 재정의해줌 3. abstract : 부모(상위) class에서 사용(반드시 abstract 클래스여야 함). 자식..

[Unity]/[C#] 2021.06.26

[Unity] StopCoroutine의 올바른 사용 방법

안녕하세요, 극꼼이입니다. 오늘은 StopCoroutine 사용법을 알아볼건데요, StopCoroutine은 잘못된 사용법을 이용하게 되면 코루틴이 제대로 정지되지 않는 현상이 발생하기 때문에 제대로 된 사용법을 숙지해야 합니다. StopCoroutine 사용법에는 String, Coroutine 2가지가 있습니다. 1. String StopCoroutine 에서 String 방법을 쓸 때 중요한 부분은 StartCoroutine 에서도 String으로 코루틴 이름을 입력해야 한다는 점입니다. 위와 같이 입력한 후, 스페이스바를 누르면 StopCoroutine이 제대로 작동하는 것을 확인할 수 있습니다. String 으로 StopCoroutine을 사용할 경우, 아래와 같이 여러개의 코루틴을 돌리더라도 ..

[Unity]/[Unity] 2021.06.25

[Unity] IPointerUpHandler, IPointerDownHandler가 작동하지 않을 때

여느때처럼 게임개발을 하던 중 이상한 현상을 발견했는데요, IPointerUpHandler가 어떨땐 정상적으로 기능을 하고, 어떨땐 기능을 하지 않는 것이었습니다. IPointerUpHandler : void OnPointerUp 함수를 사용할 수 있게 해줌 - 버튼을 클릭/터치하는 순간 실행 IPointerDownHandler : void OnPointerDown 함수를 사용할 수 있게 해줌 - 버튼을 클릭/터치를 떼는 순간 실행 이런 저런 구글링을 해본 결과, 두 코드는 짝지어서 함께 써야 정상적으로 작동한다고 합니다. 이 방법으로 해결되지 않을 경우, 1. 카메라에 PhysicsRaycaster가 있는지 2. 해당 오브젝트에 raycast target이 on 으로 되어 있는지 3. 해당 오브젝트에 ..

[Unity]/[Unity] 2021.06.24
반응형