Unity 0720 배운거

김동현·2022년 7월 20일
0

라이트

  • 라이트연산은 굉장히 비싼 연산이다. 그래서 왠만하면 라이팅 정보를 저장해 놓는다. 즉, 미리 연산한다. => 라이트맵(LightMap)

  • 글로벌 일루미네이션(GI; Global Illumination) : 간접광 계산

  • 유니티에서 제공하는 라이트 종류

    • 점(Point) : 구형 조명
    • 스팟 (Spot) : 원뿔형 조명(무대조명)
    • 직사광(Direcrional) : 태양광

애니메이션

  • 레이어를 여러개 사용해서 동시에 여러 상태를 한꺼번에 포현할 수 있었음.
    • 위에서부터 아래로 차례대로 오버라이딩
    • 오버라이팅을 하기 위해 아바타 마스크
  • 좀 더 자연스러운 애니메이션을 위해 블렌드 트리를 사용할 수 있다.
  • 휴머노이드 릭(Humanoid Rig)
    • 리깅(Rigging) : 3D 모델의 골격과 움직임을 정의하는 조인트(관절) 계층 구조를 만드는 것\
    • 사람 형태의 모델은 휴머노이드 릭을 사용한다.
      • 휴머노이드 릭을 사용하기 때문에 모델의 골격이 달라도 리타게팅(Retargetting)하여 애니메이션을 재사용 할 수 있다.

시네머신

  • 자연스러운 카메라 연출을 위한 패키지
  • 브레인 카레라와 가상 카메라로 나뉨
    • 브레인 카메라는 모니터로 화면을 송출하는 역할, 가상 카메라는 카메라 연출에 필요한 데이터를 저장

최적화

  • Vector나 Quaternion 사용 시 연산 순서에 주의해서 식을 작성해야 한다.

인터페이스

  • 객체지향 프로그램에서 메시지를 정의할 수 있는 도구
  • 인터페이스는 여러 개를 구현할 수 있다.
  • 인터페이스를 상속한다면 반드시 해당 인터페이스에 정의된 메시지를 재정의해야 한다.
  • 인터페이스를 활용해 코드 간(객체 간) 느슨한 결합도를 낮출 수 있다. => 느슨한 커플링(Loose Coupling)

파티클 시스템

  • 어떤 형태가 고정되지 않은 동적 오브젝트를 표현하려면 파티클 시스템을 이용하면 된다. (Ex.불, 물, 연기 등)

스크립터블 오브젝트

  • 여러 데이터를 저장할 수 있는 데이터 컨테이너
  • 유니티 에디터 상에서 데이터를 수정할 수 있음.
  • 프로그램에서 데이터 사본은 딱 하나만 생성됨. 즉, 각 인스턴스마다 데이터를 들고 있지 않음.
  • ScriptableObject를 상속하면 스크립터블 오브젝트를 생성할 수 있다.

리플렉션과 특성

  • 리플랙션(Reflection)은 동적으로 타입에 대한 정보를 제공하는 시스템으로 GUI 툴을 만들 때 유용함
  • 특성(Attribute)은 C# 언어의 구성 요소 중 하나로 클래스, 메서드, 필드 등 요소에 대한 메타데이터(추가정보)를 제공하는 특수한 클래스
    • Attribute를 상속하면 특성을 만들 수 있다.

Light Spot 써서 캐릭터 집중시키기

손전등 넣기..?

FBX 파일 포맷
파라미터

mixamo : 3d모델링 사이트

물리갱신은 FixedUpdate 에 넣는게 더 좋다

SetFloat 찾아보기

인터페이스 왜씀?

  • 프로그램을 객체지향적으로 설계할 때 필요한 메시지를 정의하기 위해서
    느슨한 커플링을 위해

유니티 특성들 찾아보기
특성 : 추가적인 정보들을 코드로 표현할 수 있다.

Reflection 동적으로 어셈블리나 모듈, 타입에 대한 정보를 제공하는 시스템이다. 프로그래밍 리벨에서 어떤 타입의 멤버에 관한 정보를 가져오거나 메소드를 가져오거나 하는 등의 동작을 할 수 있다

[SerializeField]
캡슐화를 유지하면서 에디터상에 띄울 수 있다.
private으로 썼는데 에디터에서 보인다구.

[Obsolete("더이상 지원 안됨")] 을 메소드 위에 붙이면 그 메소드는 더이상 지원되지 않음.

profile
해보자요

0개의 댓글