본문 바로가기

분류 전체보기61

Day 31 - 객체 지향 SOLID 원칙(표 정리, 예제) 주제>> 객체 지향 SOLID 원칙 (단일 책임 원칙 - S)(개방 폐쇄 원칙 - O)(리스코프 치환 원칙 - L)(인터페이스 분리 원칙 - I)(의존성 역전 원칙 - D) >> 사용자인증시스템을 주제로 하는 예제(나쁜 예)(좋은 예) *** SOLID원칙을 알고 있으면 다른 사람의 코드를 이해하는데 도움이 된다.(추가적인 기능 구현 가능)*** But, 많이 사용하면 그만큼 코드가 복잡해진다.공부내용1. SOLID 원칙(표)원칙개념장점단점단일책임원칙(SRP)각 클래스는 하나의 책임만코드 이해, 유지보수 용이클래스 수 증가개방폐쇄원칙(OCP)확장 가능, 수정 불가능코드 재사용성, 확장 용이초기설계가 복잡리스코프치환원칙(LSP)부모 클래스가 제공하는 모든 기능을자식 클래스도 제대로 사용코드 예측가능성 증가.. 2024. 5. 26.
Day 30 - Rigidbody ForceMode 와 Raycast 주제>>Rigidbody ForceMode(개념 및 4가지 종류)(오브젝트에 힘 가하기) >>Raycast(개념)(오브젝트 감지) >>ForceMode, Raycast 둘 다 활용한 예제(플레이어가 총알을 발사, 타겟에 부딪히면 타겟과 총알 제거)공부내용1. ForceMode란?Rigidbody에 힘을 가할 때, 어떤 방식으로 힘을 적용할 것인지를 정하는 옵션이다.방식에는 다음 4가지가 있다. - Force: 매 프레임마다 일정한 힘을 가함(예: 지속적으로 힘을 가하고 싶을 때 사용)같은 힘이라도 물체의 질량에 따라 가속도가 다르게 적용된다.ex) A질량 1kg / B질량 10kg / 힘 10 ---> A가 B보다 더 빠르게 이동Rigidbody.AddForce(Vector3 force, ForceMod.. 2024. 5. 24.
Day 29 - 락 오브젝트(동기화작업 / 코루틴이나 잡시스템과 사용 가능) 주제>> 락 오브젝트 동기화(게임 점수 업데이트, 자원 관리에 사용)(유니티 스레드) 락 오브젝트 기능과 함께 사용하면 좋은 유니티 기능(Coroutine)공부내용1. 락 오브젝트 동기화란?여러 쪽에서 동시에 같은 변수를 수정하려고 할 때,lock키워드를 사용하여 하나씩 접근하도록 질서를 지켜줄 수 있다. 기본예시여러 스레드가 동시에 IncrementCounter를 호출해도 lockObject를 사용하여한 번에 하나의 스레드만 counter를 수정 가능! *스레드: 하나의 프로세스(예: 크롬) 내에서 실행되는 독립적인 작업 단위(예: 브라우저 내 탭)이다.같은 프로세스 내의 스레드는 메모리 공간을 공유한다.여러 스레드가 동시에 작용한다는 의미=> 한 탭에서는 유튜브 동영상을 재생, 다른 탭에서는 인터넷 .. 2024. 5. 23.
Day 28 - OnBecameInvisible 메서드(화면을 벗어난 총알 제거) 주제>>OnBecameInvisible 메서드(화면 밖 총알제거, 화면 밖 총알 풀링 후 재사용)공부내용1. OnBecameInvisible 메서드란?Unity의 MonoBehaviour 클래스에서 제공하는 특별한 메서드로,게임 오브젝트의 렌더러가 카메라 밖으로 나가면 자동으로 호출된다.(스크립트 내에서 명시적으로 호출하지 않아도 됨) 2. OnBecameInvisible 역할오브젝트가 화면 밖으로 나갔을 때, 특정 동작을 수행하도록 처리한다.예를 들어, 오브젝트를 비활성화 시킨다거나, 재사용을 위해 위치를 이동시킬 수 있다. 3. 화면을 벗어난 총알 제거 스크립트-Bullet.cs를 총알 오브젝트에 추가하여 사용using System.Collections;using System.Collections.G.. 2024. 5. 17.
Day 27 - 플레이어를 둘러싼 적 생성(Mathf.Cos & Mathf.Sin) 주제>> 플레이어를 중심으로 원형을 그리며 포위하고 있는 적 생성>> 적 비행기 방향 설정(플레이어를 바라봄)공부내용1. 플레이어를 중심으로 원형을 그리며 포위하고 있는 적 생성1-1. 360도를 적 비행기 수로 등분하여 배치(원형배치) 1-2. 현재 적 비행기가 배치될 각도를 계산하고 라디안으로 변환: 삼각함수 Mathf.Cos 와 Mathf.Sin 을 사용하기 위해 각도를 라디안으로 변환시킴.[변환방법] 각도 * Mathf.Deg2Rad(1도가 몇 라디안인지 나타내는 값) 1-3. 적 비행기의 위치 계산Mathf.Cos 함수:  각도에 대한 삼각함수 코사인 값을 반환(적 비행기가 x축으로 얼마나 멀리 떨어져 있는지를 나타낸다.각도가 증가함에 따라 코사인 값은 1에서 -1까지 변화한다.코사인 값이 0일.. 2024. 5. 16.
Day 26 - Player Input System을 이용한 이동 및 점프 구현 주제1. Player Input System이란?2. 설정방법3. Invoke Unity Events 사용하기공부내용1. Player Input System이란?키보드나 마우스, 게임패드 등으로 부터 입력을 받아 처리하는데 유용하다.이 기능을 이용하려면 Unity에서 설치가 필요하다. Windows -> Package Manager -> 상단 Packages: Unity Registry로 변경 -> Input System 검색 -> 다운로드-> 새로운 Input system을 적용하려면 다시 시작해야한다는 문구 -> Yes2. Player Input System 설정 방법① Input Actions 생성Assets -> Create -> Input Actions ("RocketInputActions") .. 2024. 5. 14.
728x90
반응형