25/04/01 멋사 정리

YSB1026·2025년 4월 1일
0

오늘 배운 유니티 정리, 간단하게 정리해달라고 gpt에게 부탁했음.

  • 수업시간 때 배운 디자인 패턴 활용해서 게임 만듦

0. Built-in 렌더 파이프라인 Post Processing 설정 가이드

1. 패키지 설치

  • Window -> Package Manager 열기
  • 좌측 상단 "Packages" 드롭다운에서 "Unity Registry" 선택
  • 검색창에 "Post Processing" 입력
  • "Post-processing" 패키지 찾아서 "Install" 클릭

2. 메인 카메라 설정

  • 메인 카메라 선택
  • Add Component -> Post-process Layer 추가
  • Layer -> PostProcessing 레이어 새로 생성하고 선택
  1. Anti-aliasing Mode -> FXAA 선택

3. Post Process Volume 설정

  • 빈 게임오브젝트 생성 (이름: Post Process Volume)
  • Add Component -> Post-process Volume 추가
  • Is Global 체크
  • Layer를 PostProcessing으로 설정
  • Profile -> New 클릭해서 새 프로필 생성

4. 슬로우 모션 효과 설정

  • 생성된 Profile에서 Add effect... 클릭
  • 추가할 효과들:
    • Vignette (강도: 0.4)
    • Color Grading (채도: -20)
    • Bloom (선택사항)

5. TimeController 연결

  • TimeController 오브젝트 선택
  • Post Process Volume 컴포넌트 연결
  • Profile 설정 확인

주의사항

  • 모든 효과 오브젝트는 PostProcessing 레이어에 있어야 함
  • 카메라가 PostProcessing 레이어를 볼 수 있도록 설정
  • 과도한 효과는 성능에 영향을 줄 수 있음
  • 결과물

    깃허브 링크
  • time controller 스크립트 참고해서 다음 팀프로젝트 때 적용할 예정

1. 디자인 팩턴

오늘은 싱글톤, 옵저버, 팩토리에 대해서 간단하게 배움.

  1. 싱글톤 패턴 (Singleton Pattern)
    목적: 애플리케이션에서 특정 클래스의 인스턴스를 오직 하나만 생성하도록 보장하고, 해당 인스턴스를 전역에서 접근할 수 있게 해주는 패턴입니다.
    사용 이유: 객체가 여러 개 존재할 필요 없이 하나만 존재해야 하는 경우에 유용합니다. 예를 들어, 설정 관리 클래스나 데이터베이스 연결 객체가 하나만 있어야 할 때 사용됩니다.
  • 구현:
    생성자를 private으로 설정하여 외부에서 인스턴스를 생성하지 못하도록 막습니다.
    클래스 내부에서 static으로 인스턴스를 가지고, 처음에 인스턴스를 생성하고 그 이후엔 그 인스턴스를 반환합니다.
  1. 옵저버 패턴 (Observer Pattern)
    목적: 한 객체의 상태 변화가 있을 때, 그 객체에 의존하는 다른 객체들에게 자동으로 통지하는 패턴입니다. 주로 이벤트 시스템에서 사용됩니다.
    사용 이유: 객체 간의 결합도를 낮추면서 상태 변경을 자동으로 알리고 싶은 경우에 유용합니다. 예를 들어, UI와 데이터 모델 간의 연결을 할 때 사용됩니다.
  • 구현:
    Subject(주체) 객체는 상태 변화 시 Observer(관찰자) 객체들에게 알리는 역할을 합니다.
    Observer는 Subject가 상태를 변경하면 이를 알리고 적절한 반응을 합니다.
  1. 팩토리 패턴 (Factory Pattern)
    목적: 객체의 생성 과정을 서브클래스나 팩토리 클래스를 통해 처리하게 하여, 객체 생성 방식을 클라이언트 코드와 분리하는 패턴입니다. 객체 생성 로직이 복잡할 때 유용합니다.
    사용 이유: 객체 생성 로직을 클라이언트 코드에서 분리하여 코드의 유연성과 유지보수성을 높이고, 객체의 생성 방식을 중앙화시킬 수 있습니다.
  • 구현:
    팩토리 메소드를 통해 객체를 생성하고, 클라이언트는 이 메소드를 호출해 객체를 얻습니다.

0개의 댓글