전체 글 63

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

오늘은 뭔가 한건 많은데 한게 없는것 같다.뭔가 정신도 붕 떠있고 집중도 안되고 뭔가 붕 떠있는 느낌..? 그래서 주말에는 집 대청소도 하고 정리를 좀 해보려고 한다.일단 오늘 한걸 최대한 정리를 해보자면 내가 짜야하는 스크립트의 구조는 아래와 같다. 맵 해금 - TileManager낮과 밤, 시간변화 : TimeManager, MapManager 를 통하여 관리TimeManager게임시간 관리, 낮/밤 판별, 시간 이벤트 관리TimeScreen시간 정보를 UI에 표시, 시각적표현MapManager전체 맵 제어, 시간에 따른 맵 반응 처리Map개별 맵 상태, 조명 타일 등 구체요소 관리TimeScreen과 Map은 각각 매니저를 통해 관리되는 용도이며 전체적으로 짜여져있는 스크립트를 용도에 맞게 구분한건..

Unity/Final 2025.04.11

[C#] 딕셔너리 (Dictionary)

딕셔너리, DictionaryDictionary 자료구조는 System.Collections.Generic의 네임스페이스 제네릭 클래스이며 키-값 쌍의 데이터를 저장하고 관리하는 데 사용되며 키를 사용하여 값을 효율적으로 검색할 수 있다.- 주로 아이템 관리 등에 사용하나 다른곳에서도 많이 사용됨.- 잦은 검색에 최적화된 대신 단순 데이터 저장용으로 사용하기엔 적합하지 않을 수 있음 딕셔너리 선언//종류 혹은 이름, 값Dictionary "딕셔너리명" = new Dictionary(); 주요 특징 및 기능 해시테이블(HashTable) 기반의 자료구조라 Key를 사용하여 Value를 효율적으로 검색, 추가, 삭제할 수 있다.- 해시테이블 : 비제네릭이라 자료형을 명시하지 않아 박싱/언박싱이 필요하다키와 ..

C#/Theory 2025.04.10

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

이전에 내가 해야하는 일에 대해서 짧게 쓴적이 있었는데내가 해야하는 역할은 맵과 자원, 이중 차주까지는 맵에 대해 어느정도 로직을 짜두어야 한다.맵에서 해야할일은 해금 기능과 낮/밤 기능으로 크게 두가지이고 둘중 해금 먼저 진행하기로 했다. 해금기능은 처음 시작했을때 일정 범위만 맵이 열려있고 플레이하면서 얻는 재화로 맵을 점점 넓혀나갈수 있는데, 3~4일차에 계속 공부했던 타일맵은 이것을 위해 공부했다... 일단 육각형의 타일맵이 해금되지 않은 지역에 깔려있을 예정이고 상호작용을 통해 해금이 되는 형식이다.다만 3일차에 내가 체인지 타일 메서드 생성 이라는걸로 해서 살짝 적은게 있었는데, 0번 타일타입을 1번 타일타입으로 변경 이거에 대해서는 원래 조원분께서 구상했던건 게임오브젝트 타일맵이 아닌 다른 ..

Unity/Final 2025.04.10

Unity 내배캠 최종 프로젝트 4일차, 시작

어제 일단 Terrain을 하나 만들어두고 그대로 진행된건 없었는데 오늘 뭔가 해보려고 하니 너무 커서 크기를 좀 조정해주었다.크기조정은 Terrain Settings쪽의 Mesh Resolution에서 Terrain Width(Y축)와 Terrain Length(Z축)를 조정해준다.Terrain Height는 무엇인가 하고 찾아봤는데, 산을 만들거나 언덕을 만드는 등 높이를 조정할 때 쓴다고 하지만 나는 아직 쓸일이 없기에 그냥 적당한 값으로 설정해주었다.임시 지형이기 때문에 여기까지 해도 상관 없는데 색이 너무 칙칙해 보여서 색도 좀 바꿔주었다. Paint Terrain의 Terrain Layers에서 Edit Terrain Layers를 클릭,원하는 에셋을 클릭해주었다. 나의경우 초록색의 에셋을 클..

Unity/Final 2025.04.09

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