Unity 45

Unity 내배캠 최종 프로젝트 3일차, 무한반복

무엇을 무한반복 했느냐, 코드는 한줄도 작성 못했는데 서치만 무한반복 했다..Tilemap으로 벽을 만들어야하고 그 벽을 상호작용 하면 한개씩 다른 속성으로 변경해야 하고 근데 이 타일맵을 3D에 hexagon(육각형)으로 만들어야 한다.이러한걸 하나씩 풀어서 어떤 개념으로 해야할지 서치하는데 마지막에 육각형에서 막혀버렸다.. 일단 막혔다고 아무것도 안할순 없으니까 씬을 하나 만들어서 지형인 Terrain을 하나 만들어두고, 어떤식으로 해야할지 구조를 좀 생각해보았다. 일단 상호작용을 하면 맵 외곽이 사라져야 하니까 타일 하나가 파괴될 수 있게 해야하나? 라는 생각으로 타일 파괴라는 키워드로 검색을 많이 해보았는데, 타일 파괴에 대해선 원하는 자료가 별로 없어 일단 계속 공부하자 라는 생각으로 열심히 이..

Unity/Final 2025.04.08

[Unity] 클리키 게임 팀 프로젝트 중, 스탯 생성 (enum 사용전)

클리키 게임 중 내 역할은 플레이어 능력치 및 업그레이드였고 필수적으로 데이터 테이블을 ScriptableObject를 이용하여 수치 증가량 테이블을 만들고 업그레이드에 따른 능력치를 산출해야 했다.일단 내가 만들어야할 능력치는 치명타, 자동공격, 골드획득량 추가이다.치명타 데미지(공격력 및 확률), 자동공격 로직, 골드획득 로직은 다른분들이 맡아주셨으나 내쪽에서 능력치를 보내주면 그 능력치만큼 기능이 작동될 수 있게 수치를 잘 맞춰야 했다. [CreateAssetMenu(fileName = "PlayerStat", menuName = "Scriptable Object Asset/PlayerStat")] public class PlayerStat : ScriptableObject { Player ..

Unity/Unity Study 2025.04.07

Unity 내배캠 최종 프로젝트 2일차, 네?

일단 오늘 아침까지만해도 피곤하지만 정말 컨디션 최상이라고 생각했다. 그리고 바로 최악으로 떨어졌다.화장실을 계속 오락가락 하고 그러니까 머리도 아프고 탈수증상 오는 느낌이었다....  그런 와중에 내가 버티고 앉아있던 이유는 지식을 넣어주시는 우리 조원분.. 근데 놀라운건 어려운데 재밌다, 너무나 이해가 잘된다는거다. 그리고 내가 이걸 이해했어? 하면서 신기해하는 나를 계속 보고있었다. 일단 오전에는 기획과 관련하여 수정할 부분을 조금 더 수정하는 작업을 기획자분과 리드개발 조원분께서 조율하셨고, 리드개발 조원분께서 과제를 내주셨는데 아래 세개에 대해 공부하라고 하셨다.프록시 패턴옵저버 패턴오버라이드이거에 대해 나중에 설명을 듣긴 했는데 일단 오버라이드는 사용해본 기능이기에 대략 알고있었고, 프록시와 ..

Unity/Final 2025.04.07

Unity 내배캠 최종 프로젝트 1일차,

처음 조가 배정되고 기획서를 확인했을 때, 내가 좋아하는 설정이나 요소들이 많아서 개발이 어렵더라도 재미있게 할 수 있을 것 같아 다행이라는 생각이 들었다. 조원분들도 모두 실력 있으시고 좋은 분들이라, 첫날부터 “제가 많이 도움을 요청드릴 수도 있다”고 말씀드렸는데, 너무나도 따듯하게 얘기해주셔서 첫날부터 감동받았다..! 우리 조는 기획 1명, 개발 4명으로 구성되었다. 처음에는 기획자 분이 사전에 작성하신 기획서를 바탕으로, 수정하거나 보완할 부분에 대해 함께 논의하는 시간을 가졌다. 게임 장르는 로그라이크인데 나는 그동안 해본 로그라이크 게임이 많지 않아 그래서 기획 회의 중 의견을 내는 데 조금 어려웠다.. 또 기획서 상으로는 3D 게임으로 되어 있었지만, 팀 내에서 논의하다 보니 2D로 갈지 3..

Unity/Final 2025.04.04

[Unity] 클리키 게임 팀 프로젝트 중, 여러번 눌림 현상

클리키 게임을 만들고 있는 중 레벨업을 위해 버튼이벤트를 작성해주었다.레벨업 버튼을 눌렀을 때 한번씩 정상적으로 강화가 되던 기존 시스템에, 버튼을 꾹 누르고 있으면 자동으로 연속 강화되는 기능을 추가했다. 이를위해 이벤트 트리거를 활용하였는데 기능 추가 후 버튼을 한번만 눌러도 강화가 두번 실행되는 문제가 발생했다.public class PlayerUpgrade : MonoBehaviour{ // 버튼이벤트 메서드 public void UpgradeClick() { int gold = playerStat.upgradeGold; // 강화 비용 가져오기 if (player.gold >= gold) { player.gold -= gold; ..

Unity/Unity Study 2025.04.03

[Unity] 개인과제, ATM 만들기 - JSON을 이용한 유저 저장

일단 나는 다른분들이 Json을 사용하는건 많이 봐왔으나 보기만 했을 뿐 이론이나 내가 손댄적은 한번도 없었기에 저건 저장하는 기능의 일부구나 라고만 생각했지 그 외에 알고있는건 단 하나도 없었다.그런 상태에서 시작하려고 하니 이론적으로 공부해도 무슨소린지 이해가 안되어 어려운점이 많았다.. 일단 GameManager에서는 유저 데이터의 경로를 설정하고, 정보를 저장할 수 있도록 했다.public class GameManager : MonoBehaviour{ string userPath; // 사용자 목록 지정 경로 private void Awake() { // Assets 폴더 내 SaveData 폴더를 경로로 설정, userData 이름으로 저장 userPath = ..

Unity/Unity Study 2025.03.28

[Unity] Unity Hub - Add Modul (모듈 추가) 이 뜨지않는 경우

Git에 Merge중 충돌이 발생했는데 이유를 알고보니 팀원들 간에 설치된 모듈이 달라서 생긴 문제였다.모듈 추가는 Unity Hub > Installs(설치) > 원하는 버전 - 설정 > Add Module(모듈 추가) 로 가능하다. 그리하여 몇몇 모듈을 추가하려고 하였는데.. 난 왜 모듈추가가 없는것인가..찾아보니 hub에서 설치한게 아닌 홈페이지에서 exe 파일을 통해 설치를 했다면 설정에서 모듈 추가가 불가능하다고 한다.. 원래는 없는 메뉴를 추가할수있나 싶어서 찾아보던 중 직접 파일을 다운받는 방법이 있어 그렇게 해결하였다. Unity Download Archive 내 버전을 찾아 우측 Downloads에 있는 See all를 누르고 설치해야할 모듈을 찾아서 다운받고 설치해주면 완료! 이렇게 하..

Unity/etc 2025.03.27

[Unity] 개인과제, ATM 만들기 - PlayerPrefs를 통한 유저 저장

이제 사용자 정보를 저장할 차례, 사용자 정보는 제이슨(JSON) 혹은 PlayerPrefs를 통해 만들라고 되어있었는데 나는 제이슨은 자신이 없었으므로.. 바로 PlayerPrefs로 결정.public class GameManager : MonoBehaviour{ public static GameManager Instance; public UserData userData; private void Awake() { if (Instance == null) { Instance = this; } userData = new UserData("JeeU", 100000, 50000); } private void S..

Unity/Unity Study 2025.03.26

[Unity] 개인과제, ATM 만들기 - 입금, 송금

일단 순서는 메인화면 구성(현금, 사용자 정보, 잔액, 입출금), 유저데이터 클래스 작성, 게임매니저 생성, UI와 데이터 연동으로 하여 본격적으로 입출금 기능을 만들고 마지막에 저장기능까지 만들어줬다.[System.Serializable]public class UserData{ public string UserName; public int Balance; public int Cash; public UserData(string username, int balance, int cash) { UserName = username; // 이름 Cash = cash; // 현금 Balance = balance; //..

Unity/Unity Study 2025.03.25