[개발일지] 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 점토 프리팹점토 프리팹의 상태..
[개발일지] 19. 블라인더 장난감 소환시 배경 변경
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번에는 점토 집 레벨이 4가 되면 나타나는 블라인더에 맞게 배경을 적절히 변경했다. 이전에는 블라인더가 생겨도 바닥에 빛이 반사되는 모습이 변하지 않아서 마음에 들지 않았다.    1. 게임 오브젝트새로 추가된 게임 오브젝트는 windowLight 이다. 이는 바닥에 빛이 반사되는 모습을 블라인드에 맞게 그려놓은 게임 오브젝트이다.  Plant Panel 게임 오브젝트의 Upgrade Panel 스크립트 속 blindBackground 와 lightBackground 변수에 게임 오브젝트인 shin 과 windowLight 를 할당했다.    2. 스크립트이번에 새로 만든 스크립트는 없고 UpgradePanel 을 수정했다. 2.1 UpgradePanel 스크립트using System..
[개발일지] 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 이다. 이번에 수정한 스크립트의 종류가 너무 많아서 변경사항만 간략하게 작성하려고 한다...
[개발일지] 13. 안내창 구현
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 게임 화면에 안내 문구를 띄우는 기능을 만들었다. 점토를 구매할 때 돈이 부족하거나, 점토를 해금할 때 불가능하거나, 다 자라지 않은 점토를 판매하려고 하는 등의 상황에 안내 문구를 나타나게 해서 플레이어가 알 수 있도록 했다.    1. 게임 오브젝트이번엔 Info Panel 게임 오브젝트를 추가했다.더보기1. 하이어라키 창 모습  2. 인스펙터 창 모습  3. 애니메이터안내 문구 판넬에 애니메이션을 적용하기 위해서 애니메이터를 만들고, 애니메이션도 만들었다. 애니메이터의 상태는 다음 사진과 같다. Started 가 체크 되면 Start 애니메이션이 수행되고 끝나면 Exit 로 이동하도록 했다. Start 에는 직접 만든 애니메이션을 넣어놓았다.    2. 스크립트이번에 새로 ..
[개발일지] 12. 점토 구매 UI 창 수정 & 저장 로직 수정 & 옵션 판넬 제작
·
유니티 프로젝트/점토게임
0. 들어가기 전에점토 구매 UI 창과 저장 로직을 수정했다. 옵션 판넬에 돌아가기와 나가기 버튼을 만들었다. 돌아가기 버튼과 나가기 버튼에 현재 게임 데이터를 저장하는 메서드를 연결했다.    1. 게임 오브젝트이번에 추가한 게임 오브젝트는 OptionPanelParent, Save Button, Exit Button 이 있다. 1.1 OptionPanelParentOptionPanelParent 를 추가한 이유는 다음과 같다.더보기비활성화된 게임 오브젝트는 Find 메서드로 찾을 수 없기 때문에 활성화된 부모 오브젝트에 OptionPanel 을 넣었다. Find 로 OptionPanelParent 를 먼저 찾고 이어서 계속 Find 를 쓰면 최종적으로 Option Panel 을 찾을 수 있다.  1...