본문 바로가기
반응형

유니티 공부152

Unity - 유니티 수학(+) Model Matrix, View Matrix, Projection Matrix) 파이프라인 공부를 하던 중 Vertex Shading부분에서 많은 행렬들이 나오는데 더 자세한 이해를 필요로 하는 것 같아 게시글을 작성하게 되었습니다 :) 현실 세계의 공간 vs 수학의 공간우리가 사는 현실 세계와 게임이 모방한 가상 세계는 모두 일정한 규칙과 질서에 따라 움직인다. 이러한 규칙을 설명하기 위해 수학적 개념이 사용되며, 그 중 중요한 것이 바로 벡터와 벡터 공간이다. 벡터 공간이란?벡터들의 집합으로, 벡터들이 특정 규칙에 따라 더해지거나 스칼라에 의해 곱해질 수 있는 공간을 말한다. 벡터 공간의 구성 요소가 벡터들이다. 벡터 공간을 이해하는 것은 벡터를 제대로 이해하는데 필수적이며 이는 나아가 행렬을 이해하는데도 중요하다. 벡터 공간에서의 벡터 조합벡터 공간 내에서 벡터들을 조합하는 방.. 2024. 6. 1.
Unity - SRP(Scriptable Render Pipelines) + Pipelines(Batching,DrawCall,Post Processing, Upscale Sampling) SRP(Scriptable Render Pipelines)2018년부터 유니티에서 제공하기 시작한 Scriptable Render Pipeline(SRP)은 C# 스크립트를 통해 유니티의 렌더링을 구성하고 제어할 수 있는 기능이다.왜 빌트인 렌더링 파이프라인말고 SRP가 필요할까?Rendering Pipeline을 직접 구성한다는 것은 그만큼 많은 선택권을 가진다는 의미이다. 이는 개발자들이 직접 렌더링 파이프라인을 커스터마이징 할 수 있어, 게임의 렌더링 방식과 리소스 사용을 더욱 효과적으로 제어할 수 있다. 문제 발생!이게 무조건 좋은 점만 있는 것이 아니다. 많은 선택권이 주어짐에 따라 많은 인력, 시간, 돈이 필요할 수 있다.해결 방법SRP 템플릿으로서 URP와 HDRP를 제공하여 이를 해결한다... 2024. 5. 30.
Unity - 랜더링 파이프라인(Rendering Pipeline) 랜더링 파이프라인개념을 들어가기 앞서 먼저 Render 영어 단어에 대해서 알아보자Render는 표현, 묘사의 뜻을 가지고 있는 단어이다. 랜더링 파이프라인(Rendering Pipeline)간단히 말하면 3D화면을 2차원으로 표현하는 과정이다.3D 입체들을 전부 그물로 표현하고, 이를 적절한 위치에 배치하여 2차원으로 납작하게 하고 그 그물의 구멍들에 어떤 색을 채워줄지를 결정하는 것이다.Input Assembly이 그물이 Mesh라고 불리는 기능이다. 이는 삼각형의 세개의 꼭짓점으로 이루어져있다.왜 삼각형으로 생겼을까?삼각형의 조합으로 다양한 형태를 만들 수 있기 때문이다. 예를 들어 삼각형 두개를 붙이면 사각형이 되고, 삼각형 3개를 붙이면 오각형이 된다. 이러한 조합으로 물체의 겉면을 수많은 삼각.. 2024. 5. 8.
C# - 상태 패턴(State Pattern) 상태 패턴이란?객체 자신의 내부 상태에 따라 행위를 변경하도록 하는 패턴이다. 즉 객체의 특정 상태를 클래스로 선언하고 해당 상태에서 할 수 있는 행위들을 메소드로 정의한다. 그리고 이러한 상태클래스를 인터페이스로 캡슐화하여 클라이언트에서 인터페이스로 호출하는 방식으로 사용한다. 상태 패턴 구조 State인터페이스 : 상태를 추상화한 고수준 모듈ConcreteState : 구체적인 각각의 상태를 클래스로 표현Context : State를 이용하는 시스템, 시스템 상태를 나타내는 State 객체를 합성하여 가지고 있다. 클라이언트로부터 요청받으면 State객체에 행위 실행을 위임한다.코드 예시상태 패턴을 사용하는 경우using System;// 상태 인터페이스public interface IState{ .. 2024. 5. 7.
C# - 전략 패턴(Strategy Pattern) 디자인 패턴이란?(소프트웨어)디자인 + (공통적으로 마주치는 문제를 해결하는 방법의)패턴이다. 전략이란?특정한 목표를 수행하기 위한 행동계획이다. 예를 들어 로봇을 만든다고 해보자로봇에는 다양한 전략 기능을 넣을 수 있다. 1) 이동 전략(걷기,뛰기, 날기) 2) 온도 전략(차갑게,뜨겁게,미지근하게) 전략 패턴이란?디자인 패턴 중 하나로, 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고 사용하며, 동적으로 전략 수정이 가능한 패턴이다.  전략 패턴 구조전략 : 모든 전략 구현체제에 대한 공용 인터페이스구체적인 전략(전략 인터페이스) : 알고리즘, 행위, 동작을 객체로 정의한 구현컨텍스트 : 알고리즘을 실행해야 할 때마다 해당 알고리즘과 연결된 전략 객체의 메소드를 호출클라이언트 : 특정 전략 객체.. 2024. 5. 7.
C# - SOLID 원칙 1. 단일 책임 원칙(Single Response Principle)이름 그대로 하나의 클래스는 하나의 책임만 갖는 원칙이다.예를 들어 플레이어와 관련된 스크립트가 있다고 해보자 그러면 플레이어의 입력, 이동 관련, 각종 사운드 관련 기능 등이 있을때 아래와 같이 별도의 스크립트로 분리해야한다. 왜 이렇게 해야할까?만약 플레이어의 움직임만 수정하고 싶을 때 단일 책임 원칙을 지키고 있다면 Movement스크립트만 수정하면 되지만 원칙을 지키지 않는 경우 모든 클래스를 수정해야한다. 01 가독성스크립트에 단일 기능만 적혀있으니 많은 기능들이 포함된 경우보다 스크립트의 길이가 짧아질 것이다. 그러므로 가독성이 좋다.02 확장성하나의 기능으로만 이루어져있기 때문에 이 클래스를 상속받아 확장하기에 용이하다.03.. 2024. 5. 6.
반응형