Unity

    Unity : Virtual, Abstract, Interface

    가상(virtual)과 추상(abstract) 가상과 추상 사이에 핵심적인 차이점은 "완성도"다. 가상 클래스는 재정의(override)할 수 있지만 필수는 아니다. 반대로 추상 클래스는 '불완전하다는 의미'로서 파생 클래스에서 의무적으로 재정의해야 한다. 이 때, 불완전하다는 의미는 추상(abstract) 키워드를 달면 구체적은 기능을 제공할 수 없다는 뜻이다. 예시로 살펴보자. // ============================================== // 가상 클래스 예제 // ============================================== public class Animal { public virtual void Speak() { Console.WriteLine(..

    [Unity / Mirror] Authority

    Network Authority Authority(소유권)는 어떤 오브젝트를 누가 소유할 지 결정한다. Server Authority Server Authority는 서버가 오브젝트의 소유 권한을 가지고 있다는 의미다. 기본적으로 오브젝트의 소유 권한은 서버에게 있다. 예를 들어 수집할 수 있는 아이템, 움직이는 플랫폼, NPC 등이 있다. Client Authority Client Authority는 client가 오브젝트의 소유 권한을 가지고 있다는 뜻이다. 이 때, 소유 권한이라는 건 Client가 Commands를 호출할 수 있고 Client가 서버에서 나가면 그 물건들도 함께 사라진다는 걸 의미한다. Client Authority이더라도 Server는 여전히 오브젝트의 SyncVar 와 seri..

    Unity : Built-in Pipeline, Forward Rendering Path

    Unity : Built-in Pipeline 참고 유니티 문서 빌트인 렌더 파이프라인의 종류 Forword Rendering(포워드 렌더링) 빌트인 렌더 파이프라인의 기본 경로 가장 범용적임 픽셀 당 렌더링을 부분적으로 해서 렌더링 속도를 올림 단점 = 실시간 광원을 쓰면 부하가 높다. 조명 정확도가 낮다. Deferred Shading(디퍼드 셰이딩) 조명과 그림자 정확도가 높은 렌더링 경로 단, GPU 지원이 필요하고 제한 사항이 많다. 반투명, 직교 투사, 하드웨어 안티앨리어싱 미지원 컬링 마스크 지원이 제한적 Renderer.receiveShadows가 항상 true legacy deferred(레거시 디퍼드), legacy vertex lit(레거시 버텍스 릿) 요약 포워드 렌더링은 적당히 무..