728x90
Cinemachine Camera와 Cinemachine Component의 차이점구분설명예시Cinemachine CameraVirtual Camera의 이름이 변경된 것으로, 카메라의 기본적인 속성을 담당하는 컴포넌트예요 [4]. Cinemachine ComponentCinemachine Camera 아래에 위치, 회전, 노이즈 등의 속성을 일대일로 지정할 수 있도록 기능을 담당하는 컴포넌트예요 [4].타겟을 주변으로 이동하면서 살펴볼 때는 Position Control을 Orbital Follow로, Rotation Control은 계속 타겟만 바라보도록 Hard Look At으로 설정 [6] Cinemachine Camera는 카메라의 기본적인 틀을 제공하고, Cinemachine Component..
📷 시네머신 3의 개선된 기능 소개유니티 6의 시네머신 3는 카메라 워킹 제작을 더욱 편리하게 하기 위해 새롭게 개편되었으며, 사용자 친화적인 인터페이스로 진입 장벽을 낮추었다. [1-1]Virtual Camera의 컴포넌트 이름이 Cinemachine Camera로 변경되었으며, 각 속성을 개별적으로 설정할 수 있도록 모듈화되었다. [1-4]🎥 시네머신3의 카메라 워킹 설정 방법Position Control을 Orbital Follow로 설정하면 주변을 탐색할 수 있게 된다. [2-1]Rotation Control은 Hard Look At으로 설정함으로써 항상 타겟을 바라보게 할 수 있다. [2-1]Orbital Follow는 마우스 입력이나 게임패드와 같은 회전 입력이 필요하므로, Input Ax..
에셋 번들 개념 설명에셋 번들은 유니티에서 프로젝트의 다양한 에셋을 묶어서 관리하는 방법이다.에셋은 유니티의 프로젝트 패널 내 에셋 폴더에 있는 모든 파일을 의미한다.번들은 '묶음'이라는 뜻으로, 여러 에셋을 규칙에 따라 정리한 것을 의미한다.에셋 번들을 빌드하면 전체 프로젝트의 용량을 줄일 수 있다.에셋 번들을 사용한 앱은 최초 실행 시 에셋 번들을 다운로드해야 한다. 에셋 번들의 필요성에셋 번들을 사용하지 않고 통째로 빌드할 경우, 용량이 커지고 수정 시 재설치가 필요하다.첫 번째 이유: 앱의 용량 제한을 지켜야 할 때, 에셋 번들을 사용하면 큰 게임도 업로드 가능하다.두 번째 이유: 수정 사항이 있을 때 에셋 번들만 다운로드하면 되므로 재설치가 필요 없다. 에셋 번들 구현 방법에셋 번들을 이해한 ..
🔍 프레임 디버거의 활용과 기능프레임 디버거는 한 프레임을 렌더링하는 드로우콜을 디버깅할 수 있는 도구이다.[1-1]사용자는 렌더링 과정에서 배칭의 상태를 확인하고, 수정 방향에 대한 힌트를 얻을 수 있다.[1-2]2022버전의 프레임 디버거는 게임창의 버그 모양 아이콘을 통해 쉽게 접근할 수 있다.[1-9]🎮 2D 게임에서 드로콜 이슈의 중요성드로콜은 3D 게임뿐만 아니라 2D 게임에서도 매우 중요하며, 특히 타워 디펜스 게임과 같이 요소가 많이 나오는 경우에 문제가 발생할 수 있다.[2-1]현재 테스트 중인 게임은 무적 상태로 설정되어 있으며, 이러한 설정에서 드로콜 부하가 발생하게 된다.[2-5]드로우콜의 수는 테스트에서 116개로 나타나며, 이로 인해 렌더링 비용이 증가하게 된다.[2-23]또..
이 영상에서는 싱글턴 패턴의 특징과 유니티에서의 활용에 대해 다룹니다. 이 패턴은 특정 객체의 유일무이한 인스턴스를 보장해주며, 게임 매니저와 UI 설정 등 다양한 분야에 적용될 수 있습니다. 하지만 모든 곳에 접근 가능하다는 점 때문에 안티 패턴으로 간주될 수 있는 단면도 있습니다. 특히 멀티스레드 환경에서는 코드 안전성과 캐시 최적화 문제로 인해 주의가 필요하며, 잘못 사용하면 복잡성과 디버깅 문제를 초래할 수 있습니다. 이러한 복잡성을 피하기 위해서는 상황에 맞게 신중하게 싱글턴을 사용해야 함을 강조합니다.핵심 용어싱글턴: 싱글턴은 단 하나의 객체만 만들어서 사용하는 디자인 패턴이에요. 마치 하나뿐인 대통령처럼, 프로그램 전체에서 딱 하나의 인스턴스만 존재해야 할 때 사용하죠. 예를 들...1. ?..
🖼️ 서버에서 이미지를 불러오는 방법 유니티에서 고화질 이미지를 500장 이상 사용할 경우, 직접 넣는 방식은 빌드 용량을 크게 증가시킨다.이미지를 서버에서 불러오는 방식은 빌드 용량을 줄이고, 이미지수정 시에도 다시 빌드할 필요가 없어 효율적이다.서버와의 상호작용을 통해 이미지를 구동하도록 하는 스크립트를 작성하면 실무에서 유용하게 활용할 수 있다. 🖼️ 이미지 연결 및 설정 과정 스크립트를 실행하고 업데이트는 불필요하므로 삭제하겠다고 언급된다.유니티엔진을 사용하여 필요한 이미지를 연결할 것이라고 설명한다.이미지를 더블랙 로로 연결하는 작업을 진행한다고 한다.연결을 완료한 후, 서버에서 이미지를 받아오기 위해 유니티의 네트워킹 기능을 사용할 것이라고 강조한다.이전 영상들에서 사용했던 코루틴을 반드..
https://www.youtube.com/watch?v=KxqQrx--cJU&t=5s ☀️ 유니티에서의 빛 조명 최적화게임 엔진에서는 빛이 중요한 요소로, 현실의 빛처럼 직진, 반사, 굴절 등이 이루어진다.빛과 재질의 조화를 잘 처리해야 게임의 퀄리티가 높아지며, 빛 연산은 성능을 요구하는 계산 과정이다.유니티에서 라이트 컴포넌트, 라이트맵, 라이트 프로브, APV 등을 통해 빛 최적화를 진행하며, 기본 세팅을 통해 초기 어둠 상태를 설정할 수 있다. 💡 유니티 조명 및 그림자 설정소프트 섀도우는 하드 섀도우보다 더 자연스러운 표현을 가능하게 한다.렌더링 레이어를 통해 각 물체가 영향을 받는 빛을 설정할 수 있으며, 예를 들어 특정 레이어에 속한 빛은 해당 레이어를 선택한 물체에만 영향을 준다.컬링 ..
https://www.youtube.com/watch?v=qhtL9EYtB3Q ⚙️ 팩토리 패턴의 개요팩토리 패턴은 객체를 생성할 때 사용하는 디자인 패턴이다.이 패턴은 다양한 객체를 생성할 수 있도록 하며, 그 예로 특정 공 객체를 생성할 때 사운드를 출력하거나 출력하지 않는 기능이 포함된다.샘플 코드로 이 패턴의 적용을 확인할 수 있으며, 실행은 간단하다. ⚙️ Factory 패턴을 활용한 객체 생성다양한 아이템이나 퍼즐 기믹을 생성하기 위해서는 직접 생성하는 것이 아니라 팩토리 패턴을 사용하는 것이 효율적이다.아이템 매니저는 게임 개발에서 거의 필수적이며, FPS 게임에서 다양한 아이템(예: 헬스, 스피드 업 등)에 사용된다.단순한 아이템 생성을 위해 스위치 케이스를 사용하는 접근 방식은 길어지고 ..
1. 🌟 스트레티지 패턴의 기본 개념과 데모 소개스트레티지 패턴은 객체지향 프로그래밍의 기본 성질을 이용하는 간단한 패턴이다.이 패턴은 간단하여 패턴으로 분류할 필요가 있을지 의문이 든다.데모는 이북에서 배포하는 샘플을 활용하여 진행된다.아이템마다 서로 다른 속성을 가지고 있지만, 데모만으로는 모두 이해하기 어려울 수 있다.데모를 통해 명확하게 이해할 수 있도록 도와준다. 2. 🌀 스트레티지 패턴의 핵심 개념스트레티지 패턴은 동일 계열의 알고리즘 군을 정의하고 각각의 알고리즘을 캡슐화하여 상호 교환이 가능하도록 만들어 주는 디자인 패턴이다.알고리즘을 독립적으로 런타임 시 변경할 수 있게 하여 유연성을 제공한다.여러 알고리즘을 관리하기 위해 베이스 클래스를 구체화해 다양한 구현체를 만들어 사용할 수 있..
1. 🏁 더티 플래그 패턴의 개념과 필요성더티 플래그 패턴은 널리 사용되며 디자인 패턴에 포함된 개념이다.이 패턴은 이름만으로는 의미가 명확하지 않아 다소 생소하게 느껴질 수 있다.더티 플래그는 주로 동적 객체의 상태 변경을 최소화하고 효율성을 높이는 데 사용된다. 2. 🚀 오픈 월드에서의 더티 플래그 활용오픈 월드를 구현할 때, 캐릭터 주변의 환경만 로딩하고, 벗어나면 그것을 언로딩하는 방식이 필요하다.메모리를 관리하기 위해서는 월드를 청크 단위로 나누어 캐릭터의 이동에 따라 필요한 지역만 메모리에 활성화해야 한다.더티 플래그 시스템은 메모리를 효과적으로 관리하기 위한 필수적인 방법이며, 활성화와 비활성화를 주목적으로 한다.이 시스템은 다양한 분야에서 폭넓게 사용되며, 거의 모든 시스템에서 필수 요..