전체 글
-
내일배움캠프 29일차 TIL - 3D 게임 기초 개발 2TIL/Unity 2024. 5. 27. 19:48
[한 줄 요약]유니티 숙련 주차 개인 강의를 학습하고, 3D 게임 개발 기초 단계 중 데미지 처리, 조명, 아이템 구현 등을 실습했다.[학습 내용] 유니티 숙련 주차 강의상태바 UI 구현UI 캔버스 해상도 변경캔버스 생성 후 UI ScaleMode를 Scale With Screen Size로 변경 이렇게 하면 플레이 환경에서 해상도가 바뀌더라도 개발 때 의도한 모습으로 구현된다. 체력바 UI 생성 및 구현기본적인 UI를 만들어준다.패키지 매니저에서 2D Sprite를 설치한다.2D Sprite의 Square를 하나 만든 뒤 체력바에 추가한다.Image Type을 Filled로, Fill Method를 Horizontal로 변경해준다. 정렬 그룹 추가빈 오브젝트 Conditions를 추가컴포넌트로 Vert..
-
내일배움캠프 28일차 TIL - 3D 게임 기초 개발 1TIL/Unity 2024. 5. 24. 21:28
[한 줄 요약]유니티 숙련 주차 개인 강의학습을 시작하고, 3D 게임 개발 기초 단계 중 플레이어 준비를 실습해본다.[학습 내용] 유니티 숙련 주차 강의Rigidbody ForceModeRigidbody 컴포넌트를 이용하여 게임 오브젝트에 물리적인 힘을 가할 때 ForceMode를 사용하여 다양한 힘 적용 방식을 설정할 수 있다. 주요한 ForceMode 종류Force : 힘을 지속적으로 적용한다.Rigidbody.AddForce(Vector3 force, ForceMode.Force);Acceleration : 가속도를 적용한다. 이전 힘의 누적에 따라서 점진적으로 더 빠르게 움직인다.Rigidbody.AddForce(Vector3 force, ForceMode.Acceleration);Impulse ..
-
내일배움캠프 27일차 TIL - 유니티 입문 팀 프로젝트 6TIL/Unity 2024. 5. 23. 20:25
[학습요약]프로젝트 발표를 진행하고 객체지향 특강을 청취했다.[학습내용]발표 피드백똥피하기 게임을 기반으로 만들었기 때문에 확장이 어려울 것 같았는데, 컨셉을 잘 붙여서 스킬 등을 구현하여 깔끔하게 해결한 거 같다.버섯의 생성 부분에서 버섯을 에너미 캐릭터가 던지는 식으로 구현했다면 재밌었겠다.트러블 슈팅을 잘 정리했다. 발표 준비를 잘하신 거 같다.전체적으로 완성도 있는 게임이었다.버튼 에셋에 버튼을 눌렀을 때의 이미지가 있다. 활용해보면 좋겠다.AddForce 등을 이용하여 버섯의 움직임을 구현하는 방법도 시도해봤으면 좋겠다.객체지향 특강SOLID 원칙Single Responsibility Principle : 단일 책임 원칙하나의 클래스는 하나의 책임만 가져라Open Closed Principle ..
-
내일배움캠프 26일차 TIL - 유니티 입문 팀 프로젝트 5TIL/Unity 2024. 5. 22. 22:27
[학습요약]팀 프로젝트 작업물을 마무리하고, 발표를 준비했다. 그리고 수준별 특강도 2시간 진행됐다.[학습내용]수준별 특강 Coroutine메서드를 끝까지 실행시키지 않고 중간에 제어하고자 할 때 사용할 수 있다.yield return 시에 제어권을 유니티에게 넘겨주고, 반환 받으면 그 이후를 진행한다.비동기처럼 보이지만 비동기는 아니다(스레드와 다르다).실행시킨 주체가 비활성화 되거나 파괴될 경우 코루틴도 작동을 멈춘다.Box Collider 2DMaterial: 시각적이 아닌 물리적인 머터리얼Is Trigger: 물리적 충돌 없이 충돌을 구현할 것인지Used By Effecter: Platform Effector 등을 사용할 것인지Used By Composite: 여러 콜라이더를 하나처럼 사용할지 (..
-
내일배움캠프 25일차 TIL - 유니티 입문 팀 프로젝트 4TIL/Unity 2024. 5. 21. 21:16
[학습요약]어제 구현한 것들을 다듬는 작업을 가졌다.[학습내용]오늘은 큰 작업을 하지 않았다. 인게임 변경, 난이도 추가먼저 버섯이 떨어지는 주기와 버섯의 크기, 속도 등을 조절하여 플레이 경험을 향상시켰다.그리고 획득 점수에 따라 버섯의 종류가 늘어나는 방식으로 난이도를 조절했다. 무적 아이템 변경그리고 무적 아이템을 사용하면 움직이지 못하도록 변경했다. ! 무적 아이템 애니메이션 관련 문제 발생무적 아이템 사용 시 노란색으로 캐릭터가 변하는 시각적 효과와 함께 움직임이 제한된다. 5초 후에 상태가 풀리는데, 실제로 노랗게 변하는 시간과 움직일 수 있게 되는 시간이 다르게 적용되었다. 둘 다 5초로 설정해두었기 때문에 동시에 이루어져야 하는 작업이었다. 시도알고 보니 애니메이터에서 트랜지션의 Exit ..
-
내일배움캠프 24일차 TIL - 유니티 입문 팀 프로젝트 3TIL/Unity 2024. 5. 20. 20:19
[학습요약]유니티 입문 주차 팀 프로젝트를 진행하고 추가 요구사항 일부를 구현했다.[학습내용]어제에 이어서 버섯 피하기 게임 구현을 진행했다. 팀원들이 HP 시스템과 점수 시스템, 버섯 종류 다양화와 스킬 구현을 진행하는 동안 나는 사운드와 아이템 시스템을 구현했다. 배경음악(BGM) 추가우선 구현할 사운드에는 버섯 충돌 시 출력될 효과음과, 게임 전반적으로 출력될 배경음악 등이 있다. 여기서 더 구현한다면 버튼 클릭음 정도가 될 것이다. 효과음은 구현 우선 순위를 낮게 잡았기 때문에, 우선 배경음악을 먼저 구현하고 후에 경과에 따라 효과음까지 구현하기로 했다. 먼저 오디오 매니저를 만들었다. 오디오 소스 컴포넌트를 집어넣고, 스크립트를 통해 이 곳에 유동적으로 클립을 재생시키는 구조로 구현했다. 배경음..
-
내일배움캠프 23일차 TIL - 유니티 입문 팀 프로젝트 2TIL/Unity 2024. 5. 17. 21:02
[학습목표]유니티 입문 주차 팀 프로젝트를 진행하고 필수 요구사항 기능 구현을 완료한다.[학습내용]시작 화면 구성우선 팀원별로 역할을 분배하여 시작하였다. 나는 게임이 시작하는 스타트 씬을 맡아서 구현하였다. 와이어 프레임에 따라 세 개의 버튼을 배치하였고, 각각 버튼에 알맞는 기능을 구현하였다. 기능 구현이 우선이기 때문에 하얀 사각형은 나중에 알맞은 이미지로 바꾸고 배경도 추가해야 한다.public void QuitGame(){ // 구동 환경이 유니티 에디터일 경우 #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; // 구동 환경이 응용프로그램일 경우 #else Application.Q..
-
내일배움캠프 22일차 TIL - 유니티 입문 팀 프로젝트TIL/Unity 2024. 5. 16. 21:08
[학습목표]유니티 입문 주차 팀 프로젝트를 시작한다.[학습내용]수준별 꾸준 과제오늘 진행한 부분은 로켓의 움직임을 더 정교하게 만드는 작업이다.먼저 OnMove와 OnBoost에 직접 구현되어있는 이동 로직을, 입력 기능과 이동 기능으로 쪼개고 이동 기능을 RocketMovement 쪽으로 옮겨주었다.그리고 추가적으로 이동 기능을 Move()와 Rotate()로 나누어, 직선적인 움직임과 회전을 따로 구현해 주었다. 기존의 로켓은 WASD 키를 이용하여 상하좌우를 직접 이동하였지만, 새로운 방식은 실제 로켓처럼 전진만 한다. 좌우는 로켓을 회전시켜서 호를 그리듯 움직인다.이 회전 부분을 구현하다가 진행이 막혔는데, 원리가 어렵다기보다 메서드를 사용하는 방법이 어려웠다. private void Rotate..