[개발일지] 24. 월드 판넬 제작
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번에는 월드 판넬을 제작했다. 본격적으로 야생 콘텐츠를 만들기 전에 야생 씬으로 넘어갈 수 있도록 하는 판넬을 만들어야 하기 때문이다.    1. 게임 오브젝트이번에 새로 만든 게임 오브젝트는 World Panel 이다. 1.1 World Panel기존 Canvas1 게임 오브젝트에 자식 오브젝트로 World Panel 을 만들었다.더보기1. 하이어라키 창  2. 게임 화면 속 모습  3. 인스펙터 창 모습World Panel 게임 오브젝트는 컴포넌트로 Animator 와 World Panel 을 갖는다. 1.2 World Button기존 만들어 놓았던 게임 오브젝트이다. 수정한 내역은 다음과 같다.더보기1. 하이어라키 창 모습  2. 인스펙터 창 모습기존에 부착해놨던 Button M..
[개발일지] 23. 도감 애니메이션 적용
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 도감에 애니메이션 기능을 적용했다. 페이지를 넘길 때 동적인 효과를 주고 싶었기 때문이다.    1. 애니메이션&애니메이터도감 애니메이션을 위해 애니메이션과 애니메이터를 만들었다. 1.1 BookController 애니메이터도감을 위한 애니메이터이다.더보기1. 상태애니메이터 상태는 다음과 같다. 처음에는 Idle 상태에 있다가 도감 페이지 넘기기 버튼을 누르면 애니메이션이 수행되도록 했다. 파라미터로 Trigger 타입을 2개 만들어서 사용했다. Any State 에서 왼쪽 버튼이 눌리면 isLeftClicked 를 set 해서 도감을 넘기는 애니메이션이 적용되도록 했다. 반대도 마찬가지이다. 1.2 BookLeftAnim, BookRightAnim 애니메이션도감 애니메이션을 위..
[개발일지] 22. 데이터 로드 & 반영 로직 수정
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번에는 데이터를 로그하고 반영하는 로직을 수정했다. DataManager 가 준비될 때까지 기다렸다가 후에 가져온 데이터를 반영하도록 하기 위함이다.    1. 스크립트이번에 새로 만든 스크립트는 따로 없고 DataManager, GameManager, PoolManager 를 수정했다. 1.1 DataManager 스크립트using System;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.UI;public class DataManager : MonoBehaviour{ [Header("Data Manager")] public..
[개발일지] 21. 점토 도감
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번에는 점토 도감을 만들었다.    1. 게임 오브젝트이번에 새로 만든 게임 오브젝트는 BookCanvas 와 Book Button 이다. BookCanvas 는 자식 오브젝트로 Close Button, Book 을 갖는다. 1.1 Book Button기존에 만들어두었던 Canvas1 에 자식 오브젝트로 만들었다. 북 버튼을 누르면 북 판넬이 활성화된다.더보기1. 게임 화면 속 모습  2. 인스펙터 창 모습Book Button 의 OnClick() 에 연결된 목록은 다음 사진과 같다.  북 버튼을 누르면 BookPanel 과 두 개의 Close Button 이 활성화되도록 했다. Close Button 중 하나는 책 판넬이 아닌 부분을 클릭하면 판넬이 꺼지도록, 하나는 책 판넬의 닫기..
[개발일지] 20. 2D Light 적용
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 게임에 2D Light 를 적용해보았다. 점토를 드래그 시작 했을 때 UI 를 끄고, 2D Light 를 이용해서 배경을 어둡게 해줬다. 그리고 점토에 자식 오브젝트로 빛을 넣어놓아서 들어올렸을 때 빛이 활성화되도록 했다.    1. 애셋2D Light 를 적용하기 위해 URP Asset 을 만들었다. 그리고 점토마다 자신의 빛을 가질 수 있도록 점토 프리팹도 수정했다. 1.1 URP Asset (with 2D Renderer)URP Asset(with 2D Renderer) 를 만들었다.  Project Setting 의 Graphics 창에서 Scriptable Render Pipeline Settings 에 위에 만든 것을 넣어주었다.  1.2 점토 프리팹점토 프리팹의 상태..
[개발일지] 18. 레벨에 맞게 장난감 소환 & 데이터 적용
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 미리 만들어놓았던 장난감들을 점토 집을 업그레이드 할 때 소환되도록 했다. 그리고 데이터를 저장하고 다시 시작했을 때 저장해놓은 데이터를 반영해서 장난감들이 그대로 소환되도록 했다.    1. 게임 오브젝트Plant Panel 게임 오브젝트의 Upgrade Panel 컴포넌트 속 Toys 배열에 미리 만들어놓은 장난감 버튼 게임 오브젝트를 넣어놓았다. 점토의 집을 업그레이드 할 때마다 각 단계에 맞는 장난감 게임 오브젝트가 나타나도록 하기 위함이다.    2. 스크립트이번에 새로 만든 스크립트는 따로 없고 기존의 스크립트를 수정했다. 수정한 스크립트는 GameManager, UpgradePanel 이다. 2.1  GameManager 스크립트using System.Collecti..
[개발일지] 17. 가구 추가 & 애니메이션 적용
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 가구를 추가하고 점토를 가구에 드래그&드롭하면 애니메이션이 실행되도록 했다.  가구는 그냥 게임 오브젝트 말고 캔버스 상에 Button 으로 추가했다. 마우스가 해당 게임 오브젝트로 진입했는지 여부를 파악하기 쉽게 하기 위함이다..    1. 게임 오브젝트가구 UI 만 따로 관리하기 위해 새로운 캔버스 두 개를 만들었다. ToyCanvas1 에 있는 가구들은 점토보다 뒤에, ToyCanvas2 에 있는 가구는 점토보다 앞에 있도록 하기 위해 두개로 나눈 것이다.    2. 스크립트이번에 새로 만든 스크립트는 ToyController 이고, 수정한 스크립트는 GameManager, Clay, ClayMove 이다. 2.1 ToyController 스크립트using System.Co..
[개발일지] 16. ClayMove 스크립트 수정
·
유니티 프로젝트/점토게임
0. 들어가기 전에이제 보니까 비활성화 된 점토가 다시 활성화 될 때 ClayMove 스크립트가 제대로 동작하지 않는 모습을 확인했다. ClayMove 스크립트를 수정해서 정상적으로 작동하도록 했다.    1. 스크립트ClayMove 스크립트를 수정했다. 1.1 ClayMove 스크립트using JetBrains.Annotations;using System.Collections;using System.Collections.Generic;using UnityEngine;public enum MoveDirection{ Minus = -1, Plus = 1, Idle = 0 }public class ClayMove : MonoBehaviour{ [Header("ClayMovement")] pu..
[개발일지] 15. 이펙트 효과 적용
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 게임에 이펙트 효과를 적용했다. 점토가 성장할 때, 점토를 판매할 때, 점토를 해금할 때, 능력을 업그레이드할 때 이펙트 효과가 나타나도록 했다.    1. 게임 오브젝트GameManager 의 게임 오브젝트를 수정했다. 자식 오브젝트로 아래 사진과 같이 네 개의 오브젝트를 추가했다. 게임이 시작되면 이펙트 프리팹으로 게임 오브젝트를 생성하는데 해당 게임 오브젝트의 부모가 될 게임 오브젝트들이다.     2. 스크립트이번에 새로 만든 스크립트는 없다. GameManager, ClayPanel, ClaySellController, Clay 스크립트를 수정했다.  2.1 GameManager 스크립트using System.Collections;using System.Collectio..
[개발일지] 14. 업그레이드 판넬 제작&기능 구현&데이터 저장
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 업그레이드 판넬을 제작하고 업그레이드 기능을 구현했다. 그리고 수치 데이터 저장 기능도 추가했다.    1. 게임 오브젝트더보기1. Plant ButtonPlant Button 의 On Click() 에 직접 추가한 기능은 다음과 같다.  2. Plant PanelPlant Panel 에는 NumGroup 과 ClickGroup 이 자식 오브젝트로 존재한다. 게임 창에서 Plant 버튼을 누르면 뜨는 업그레이드 창의 모습은 다음과 같다. 각 수치 레벨에 맞게 UI 가 바뀌도록 스크립트를 설정해놓았다.    2. 스크립트이번에 새로 만든 스크립트는 UpgradePanel 와 ValueDatas 이다. 이번에 수정한 스크립트의 종류가 너무 많아서 변경사항만 간략하게 작성하려고 한다...