유니티 7

[내일배움캠프] 인벤토리 slot을 응용한 간단한 퍼즐 구현

🧩 개요이번에는 인벤토리 시스템에서 사용했던 Slot 구조를 응용해, 간단한 퍼즐 시스템을 만들어보았습니다.퍼즐은 드래그 앤 드롭 방식으로 퍼즐 조각을 옮기며, 슬롯 위치가 정답과 일치하면 해결되도록 구현했습니다. 🔧 사용한 구성요소✅ PuzzlePiece.cs퍼즐 조각을 담당하는 클래스입니다.IDragHandler, IBeginDragHandler, IEndDragHandler 인터페이스를 구현해 드래그 동작을 처리합니다.CanvasGroup을 이용해 드래그 중에는 반투명 처리하고, Raycast 차단을 잠시 해제합니다.드래그가 끝났을 때 슬롯에 제대로 놓이지 않았다면 원래 자리로 돌아갑니다.public void OnBeginDrag(PointerEventData eventData){ _o..

Unity 2025.05.26

[내일배움캠프] 유니티 시간 개념 / 가속도, 위치는 Vector3 그럼 회전은..??

💡 Unity에서의 시간...?오늘부터는 유니티를 본격적으로 입문하는 과정을 밟기 시작했다. 배우는데 Awake, Start, Update.. .. 등의 개념과 Time.deltaTime 이라는 개념이 나왔는데갑자기 deltaTime에서 왜 필요한지 감이 안 와서 여러 번 돌려보고 검색하며 이해해봤다.막상 개념을 잡고 나니, **왜 이걸 쓰는지**가 분명해져서 정리해두려한다. 🧩 문제Time.deltaTime을 왜 쓸까? 하면서 뭐.. 예를들어 3, 2, 1초 하고 3초의 시간을 쓴다면,그냥 -= 3 하는거랑 무엇이 다른지 모르겠어서이해가 되지 않았다. 어차피 프레임이 지나가는 건 실제로 시간은 흐르고 있는 것이니까 말이다.동작하는 것에 무슨 차인지 감이 안왔다.👀 ..? 🎯 시도deltaTim..

Unity 2025.04.29

[내일배움캠프] Audio Manager / 사운드 삽입 작업

어제부터 첫 회의를 통해 결정된 팀프로젝트를 진행중이다.각자 역할을 맡아 작업을 진행하였다. 완전 왕초보 입문자인 나는 여러가지 시행착오를 겪었고,문제를 해결하였다. 팀원 분들의 도움으로 중간중간 수정 하거나최적화 하는데 새로운 배움이 있어서 좋았다 : )    # BGM 재생   유니티에서 배경음악을 넣으려면, 빈 게임오브젝트를 추가하고  해당오브젝트에 C# 스크립트를 컴포넌트 해준다.   스크립트를 Audio Manager라 하면,  이 스크립트에 mp3나 wav같은 사운드 파일을 넣어줄 수 있는 코드를 넣어주고  컴포넌트 스크립트에 코드로 생성한 클립에 오디오 소스를 선택해 넣어준다.   그렇게 하면, 소리는 안들릴 것이다.  그래서 Audio Source 컴포넌트를 꼭 추가해줘야 한다 : )   ..

사전 적응기 2025.04.08

[내배일캠움프 사캠전프] ←대괄호로 랜덤 배열 이해하기_arr

#오늘의 키워드: 배열과 변수  -이번에는 배우는데 [대괄호]가 처음 나왔다이러한 코드의 경우,0번부터 7번까지의 수는 리스트가 아니라 배열을 의미한다.대괄호는 리스트가 아니라 배열이기 때문이다!    배열에서 쓸수 있는 기능인 arr배열이 영어로 arrangement 이기 때문에. 약자인 arr 로 사용하는 듯하다. OrderBy 는 정렬하는 것이다.이는 배열이 아니기에 배열로 사용하려면, ToArray를 입력하여 배열로 바꿔줘야 한다.여기서 Random.Range의 0f, 7f는 랜덤하게 섞어주는 값이다.    -for 반복문! ⓐ int i = 0;  초기화 값이 몇번 반복하게 할지 조건을 정해주는 부분 ⓑ i   몇번 반복하게 할지 조건을 정해주는 부분 - true 면 중괄호 안에 있는 값 실행한..

사전 적응기 2025.04.01

[내일배움캠프 사전캠프] 차근차근 배워가는 유니티 강의_Basic

#오늘의 키워드: 기억이 새록새록 풍선을 지켜라 게임과 고양이 밥주기 게임을 만들며 0배워보았다. 배웠던 것은 빠르게 넘어가고, ( 3번씩 돌려본 것 같다) ㅠㅠ새로운 것은 차근차근 알려주셨다.  transform.position += Vector3.에다가 up을 입력하면 y축 방향으로 올라간다. 여기서 if 함수로 이를 x > 0 기준으로 잡고 방향을 적어주면  x축 (left, right) 방향으로 가게 할 수도 있다.     #왜 그런지... 보다는 개념이해가 필요하다 이렇게 해야하니까 이걸 넣는다라는 것은 알겠는데그게 하나씩 정확한 개념이 무엇인지 모르겠으니, 여전히 혼자 짜보라하면 갈피가 안잡힌다. 책의 힘을 빌려 좀 더 알아봐야겠다.. 머리아프다 내가 잘 할 수 있을까?   #다음에는 ...레..

사전 적응기 2025.03.27

[내일배움캠프 사전캠프] 게임 끝내기와 재 도전_Unity

#오늘의 키워드: Retry 드디어 게임 하나를 완성했다.    따라가기 급급했지만 .. 다른 게임을 만들면서 같은 상호작용들은 다시 복습도 해보게 되었고,몇가지 새로운 것을 추가로 배웠다.     빗방울 받기 게임에서도 사용했던Retry 기능! 이 스크립트에서는 start와 update를 싹 다 지워준다그리고 Retry()함수를 넣어 씬을 입력해주면 된다!   최고 점수를 내는 부분에서조금 머리가 저렸다...  스크립트에서는//이것을 사용하여 메모처럼 내가 적어놓고 싶은 것을 적을 수 있었다.   #새 프로젝트를 실행할 때, 30분 넘게 대기..? 가끔 이러기도 하나요..?   #다음에는 새로 만들고 있는 게임을 완성시켜보겠다!

사전 적응기 2025.03.25

[내일배움캠프 사전캠프] 충돌에 의한 텍스트 값의 변동_UI

#오늘의 키워드: [UI]   UI는 User Interface 의 약자로 사용자(플레이어)와 컴퓨터 시스템 사이의 의사소통 매개다. 유니티 내에서는 Canvas 위에 그려져 사용자에게 바로 보이는 것인데, 카메라 위치와는 관계가 없다.  저번에 만들어 놓은 동그라미 방울 한가지만 가지고 코드를 부여하여 여러가지 랜덤한 Size와 Color 그리고 랜덤한 위치로 떨어지게 구현하였다.  그리고 캐릭터가 특정한 값의 방울을 맞으면 그에 상응하는 점수, 1점, 2점, 3점을 얻어 스코어에 누적되게 하였다. size = 0.8f; score = 1; GetComponent().color = new Color(100 / 255f, 100 / 255f, 255 / 255f, 255 / 255f); 이런식으로 if ..

사전 적응기 2025.03.24