2025/05 18

[내일배움캠프 36일차] 나무가 다시 생성되게 해보자

1. 오늘의 목표자원을 계속 만들기 위해 나무가 다 캐지면 일정 시간마다 다시 생기도록 만들 예정이다.무엇을 활용할 수 있을까요? Coroutine? 일단 가봅시다 Let's go 2. 제작 개시 🛠️1. 일단 제작 구상1. 아이템이 다 떨어지면, ResourceObject.cs가 달린 GameObject를 SetActive(false).2. 리스폰 시간이 끝나면 SetActive(true)로 변경3. 재 생성될 시점에, 빈 오브젝트의 IsTrigger 콜라이더에 Player 혹은 Enemy Tag가 존재한다면(감지된다면) 코루틴으로 재생성을 더 지연시킴 2. 어떻게 진행시켜볼까...구상 구현 🤔 1. 일단 아이템이 다 떨어지면 SetActive를 false로 변경 여기까지는 어렵지 않다! 2. 다음..

Unity_본캠프 2025.05.28

[내일배움캠프 34일차] 새로운 팀플 개시

1. 이번 팀플의 주제는?- 3D Survival 게임이다.허기, 갈증을 관리해야하고 자원을 채집해서 도구를 만들고, 그걸 이용해 건축 자재도 만들어야한다. (와! 할 일이 많아!)2. 시작하기에셋이 꼬이고(새로운 에셋으로 교체했다) 깨져서 9시가 넘어서야 시작을 할 수 있었다.그래서 학습 시간이 끝나고 나서야 스크립트를 간단하게 만질 수 있게 되었다. 이번에는 Scriptable object를 활용해보기로 했다.json도 고려했지만, 일단 아직은 Scriptable로 감당해볼 예정이다. 3. 마무리만들어야 할 것은 1. 자원(나무, 돌) 2. 도구(검, 곡괭이, 도끼 등), 3. 음식/음료, 4. 자재(제작품-합판, 기둥 등)이다.뭘 만들고 어디까지 만들 수 있으며 어디까지 엎어질지는 아직 아무도 모..

Unity_본캠프 2025.05.26

[내일배움캠프 33일차] 잘못하면 시간 가속기에 들어가고 만다....

1. 무슨 일인가요?계속해서 발생하던 문제를 해결했다. 쿨타임이 먼저 끝나고, 지속시간이 뒤늦게 끝나는 문제. 자체적으로 해결한 것은 아니고, 튜터님께 물어서 해결했다. 2 해결과정 Q. 튜터님 튜터님 쿨타임은 30초, 아이템 지속시간은 20초인데 자꾸 쿨타임이 먼저 끝나요...쿨타임이 끝난 뒤에 지속시간이 시작하는 거 같아서 코드가 꼬인 것 같습니다...ㅠA. 쿨타임과 지속시간은 거의 동시에 카운터되기 시작하는데, 지속시간이 나중에 끝나고 있습니다.디버깅 결과 쿨타임이 30초보다 더 빨리 감소하는 것 같습니다. 디버깅 과정 요약디버깅 실행을 하자, 실제로 쿨타임 종료 후 10초 즈음 뒤에 지속시간이 종료됨. = 지속시간이 나중에 시작하는 것이라면 정확히 20초 뒤에 실행되고 종료되어야 함)쿨타임 시간..

Unity_본캠프 2025.05.23

[내일배움캠프 32일차] 자꾸 하나만 물고 늘어지는 버릇을 고쳐야하는데

1. 오늘 뭐 했나요?쿨타임도 만들었겠다, 아이템 지속효과!를 만들려고했다.결과: 점프력 상승 아이템과, 속도 상승 아이템을 먹이고 지켜본 상태변화.실제로 점프력은 눈에띄게 증가하는 게 눈에 보인다!그런데 문제가 있다. 아래는 문제를 정리한 내용들이다. 2. 무슨 문제가 있나? 1. 쿨타임과 지속시간이 동시에 작동하지 않는다. 영상을 보면 알 수 있는 사실이다.(효과지속시간 20초, 쿨타임 30초인데, 쿨타임이 먼저 끝나고 그 다음에 수치가 원래값으로 돌아오는 모습을 보인다.): 이유는 짐작이 간다. 아이템 사용 함수의 끝에 아이템 재사용 대기시간 코루틴이 실행되는데, 아무래도 그 다음에 Jump와 Speed 의 속도를 정리하는 코루틴이 실행되는 모양이다.즉, 쿨타임 30초+효과지속시간 20초로 인..

Unity_본캠프 2025.05.22

[내일배움캠프 31일차] 오늘 한 일의 정리

1. 오늘 뭘 했나요?1. 아이템과의 상호작용2. 아이템을 인벤토리에 넣기 3. 점프하면 스태미나가 닳게 하기 4. 스태미나가 부족하면 점프 불가 2. 개선 해야 할 부분현재 인벤토리를 보면 Select가 정상적으로 작동하지 않는다. >확인 결과, ItemSlot의 버튼이 제대로 할당되지 않은 것이 문제로, 해당 사항을 적용하자 다음과 같은 상태가 되었다. 드디어 빈칸이 아니라 아이템 정보가 나타난다...하지만 여전히 문제가 있다. : 사용, 버리기가 안됨아마 이쪽도 버튼이 할당 안된 것 같은데...실행 중인 상태의, 아이템이 할당된 ItemSlot을 확인하자 Button, Index가 할당되지 않은 것이 보인다.아마 Button이 할당되지 않으니까/Index도 할당되지 않은 것 같다. 사용버튼을 할..

Unity_본캠프 2025.05.21

[내일배움캠프 30일차] Ray 빔~!!!

1. 오늘의 할 일1. 체력바/스테미너바 만들기2. Ray를 사용해서 Ground 레이어를 판정하고 점프가 가능하게 만들기 1은 금방 해냈고, 2가 이번 핵심 되시겠다.2. 제작 개시🛠️1. HP와 Stemina체력과 스테미너바 되시겠다.일단 단순한 구조로 시작한다. (가장 기본 구조) 구조는 다음과 같다.-캔버스 (UI라면 기본으로 필요한 곳) > Conditions (빈 오브젝트): 여기에 Vertical Layout Grid 삽입 >>Health (Icon, HPBar도 UI 이미지) >>Stemina (Icon, SteminaBar도 UI 이미지) ? Vertical Layout Group?Layout Group. 이름에서 알 수 있듯, 레이아웃을 정렬하는 그룹 생성기.Vertical은 ..

Unity_본캠프 2025.05.20

[내일배움캠프 29일차] 이제 진짜로 써보자 Interface

1. 오늘의 할 일UI만들고 아이템도 만들기 위해서Interface를 확실히 잡아놓고 넘어갈 생각이다.= 막연히 '다중 상속 가능' '아무튼 쓰기 편함'의 상태에서 벗어나도록 하자. 2. 인터페이스에 대해 정리해보자Interface란?- 소프트웨어끼리 접촉·공통되는 부분. 순화어로 '접속'- C#에서 Class는 여러 개의 Interface를 상속받을 수 있음 (다중 상속 가능!)- 보통 같은 기능을 가진, 다른 객체들에게 사용한다. public interface IDamageAble{ void TakeDamage(int amount); // 데미지를 입는 메서드}public class Enemy : MonoBehaviour, IDamageAble //Enemy 클래스는 MonoBehaviour와..

Unity_본캠프 2025.05.19

[내일배움캠프 28일차] 델리...케이트...람...다?

1. 오늘의 학습 델리케이트와 람다에 대해 학습했다.델리케이트의 연장선인 Action과 Function도 학습했다.Action은 저번에 쓴 게 비슷한 것 같은데....(event Action과 다른 걸까?)간단해 정리해보자 Let's go 2. 학습 정리📘 Action을 들어가고 싶지만 그 전에 델리케이트를 정리한다. 1. 델리케이트(Delegate)(솔직히 Dedicated로 들었다.)함수를 변수처럼 다룰 수 있으면 좋겠다~ 아 있을 것 같은데~했는데….이게 진짜 있네. 의 주인공이다.그 전에 알고 있던 건 돌아다니면서 겨우 주워먹은 event Action뿐이라 헤에 그렇구나 하고 그냥 가져다 썼는데 이번 기회에 확실히 습득할 수 있어서 기쁘다. Delegate. 위에 말했듯 함수, 메서드를 '변수'..

Unity_본캠프 2025.05.16

[내일배움캠프 27일차] 팀플 종료! 개판냥판!

1. 오늘의 정리오늘은 팀플을 완료하고 발표한 날이다.이번에는 조금 더 완성도 있는 게임을 만들게 되어 만족스럽다.어떤 기능이 있는지 간단하게 살펴보도록 하자. 2. 게임 preview이번에 만든 게임, 개판냥판은 사고뭉치 도굴꾼 강아지와 고양이가 신들의 물건, 유물들을 훔치는 이야기이다. AWD와 화살표 방향키로 이동을 구현했다. S버튼을 누르면 각각의 스킬을 사용할 수 있다. (벽타기, 돌진-가벽부수기)또한, 개는 상자를 옮길 수 있고, 고양이는 2단 점프가 가능하다! 보고있으면 알겠지만, 현재 게임을 종료할 수 있게 해주는 문은 활성화가 되지 않은 상태이다.문은 '유물'이라고 하는 특수한 아이템을 먹어야한다. 이 '유물'은 맵마다 하나씩 배치되어 있으므로 잘 찾아봐야 한다. 하지만 ..

카테고리 없음 2025.05.15

[내일배움캠프 25일차] Oh, Event.

1. 오늘의 할 일 Item을 먹으면 UI에 반영하고 싶다.이건 쉬운데,그 Item. Update로 하니까 계속해서 불러낸다. 편하긴 한데, 가만히 두면 Debug 로그만 8000개 넘게 쌓이니까 어떻게든 처리하고 싶다... 2. 그래서 사용한 것. event Action그래서 찾아보니까 event Action 이라고, 행동이 발생할 때만 불러낼 수 있는 코드가 있었다. public static event Action OnItemCountChanged;이번 프로젝트에서는 이렇게 작성했다. 명칭이 제법 재미있다. 제공자와 구독자라는 단어를 쓴다. 제공자: 행동이 발생하면 구독자에게 알림구독자: 알림설정 해두고 알림이 울리면 반응함 심지어 구독은 += , 구독 취소는 -=로 한다.아래와 같은 형태로 작동한..

Unity_본캠프 2025.05.13