본문 바로가기
TIL

12.28 (TIL-Unity3D)

by 오랑이귀엽다 2023. 12. 28.

[Header][field: Header]

[Header]: 이 속성은 일반적으로 필드(Field) 바로 위에 사용.

이것은 Unity 인스펙터에서 해당 필드 위에 라벨을 추가하여 구성 요소를 더 읽기 쉽게 구분할 수 있게 함

예를 들어, [Header("Animations")] public int speed;와 같이 사용할 수 있다.

 

[field: Header]: C# 9.0에서 도입된 field: 타겟팅 지시어를 사용하여 속성(Property)에 직접 헤더를 적용.

일반적인 [Header] 속성은 필드에만 적용되므로, 속성에는 직접 적용할 수 없다.

이를 해결하기 위해 field: 지시어를 사용하여 속성의 백킹 필드에 헤더를 적용할 수 있다.

예를 들어, [field: Header("Animations")] public int Speed { get; set; }와 같이 사용할 수 있다.

 

간단히 말해서,

[Header]는 필드에 직접 사용되고,

[field: Header]는 속성의 백킹 필드에 적용되어 인스펙터에 헤더를 추가하는데 사용

 

시네머신(Cinemachine)

시네머신(Cinemachine)은 Unity에서 제공하는 고급 카메라 시스템.

이 시스템은 게임, 영화, 애니메이션 등에서 다양한 카메라 워크플로우를 지원하며, 카메라 이동, 추적, 매핑, 블렌딩 등을 쉽게 구현할 수 있도록 도와준다.

시네머신은 Unity 2017 버전 이후부터 기본적으로 포함되어 있으며, 유니티 에셋 스토어에서도 추가적인 확장 패키지를 얻을 수 있다.

  1. 가상 카메라(Virtual Camera): 시네머신은 가상 카메라를 사용하여 실제 카메라가 없는 상태에서도 여러 가상 카메라의 시점과 속성을 조작할 수 있다. 각 가상 카메라는 독립적인 카메라 속성을 가지며, 원하는 순간에 활성화되거나 비활성화될 수 있다.
  2. 카메라 블렌딩: 여러 가상 카메라 간에 자연스럽게 전환하기 위해 블렌딩 기능을 제공. 카메라의 위치, 회전, 시야 등이 부드럽게 전환되어 자연스러운 카메라 이동을 구현할 수 있다.
  3. 트랙링과 추적: 시네머신은 오브젝트나 캐릭터를 추적하여 자동으로 카메라를 따라가도록 지원. 특정 타겟을 추적하거나 경로를 따라 이동하는 카메라 워크플로우를 구현할 수 있다.
  4. 애니메이션 연동: 시네머신은 애니메이션 시스템과 연동하여 카메라의 속성을 애니메이션과 동기화할 수 있다.
  5. 렌즈 세트: 이를 사용하여 렌즈 조작을 편리하게 할 수 있다. 줌, 화각, 특수 렌즈 효과 등을 쉽게 적용할 수 있다.

 

  1. Tracked Object Offset: 추적 대상에서 카메라가 유지해야 하는 오프셋(거리)을 설정. X, Y, Z 축에 대한 값으로 구성
  2. Lookahead Time: 카메라가 대상의 미래 위치를 예측하는 데 사용되는 시간. 높은 값은 더 멀리 앞을 내다보게 만듬
  3. Lookahead Smoothing: 룩어헤드 동작의 부드러움을 조절. 높은 값은 더 부드러운 카메라 움직임을 만듬
  4. Lookahead Ignore Y: Y축 변화를 룩어헤드 계산에서 무시할지 여부를 결정. 활성화되면 Y축 변화는 룩어헤드에 영향을 주지 않는다.
  5. Damping: 대상의 움직임을 따라가는 카메라의 감쇠(부드러운 움직임을 위해)를 조절. X, Y, Z 축에 대해 별도로 설정된다.
  6. Screen X, Screen Y: 카메라 뷰포트 내에서 대상이 위치해야 하는 화면의 X, Y 좌표를 결정. 0.5는 화면의 중앙.
  7. Camera Distance: 대상에서 카메라까지의 거리를 설정합니다.
  8. Dead Zone Width, Dead Zone Height, Dead Zone Depth: 카메라가 대상을 따라 움직이기 시작하는 데드존의 너비, 높이, 깊이를 설정.
  9. Unlimited Soft Zone: 이 옵션을 활성화하면, 소프트 존의 제한을 해제하여 대상이 화면에 항상 존재하도록 한다.
  10. Soft Zone Width, Soft Zone Height: 대상이 데드존 내에서 움직일 수 있는 영역의 너비와 높이를 설정. 이 영역 내에서는 카메라가 대상을 따라 움직이지 않는다.
  11. Bias X, Bias Y: 카메라의 소프트 존 내에서 대상의 위치를 미세 조정. 이는 대상의 화면 내 위치를 약간 변경할 때 사용 된다.
  12. Center On Activate: 이 옵션을 활성화하면, Framing Transposer가 활성화될 때 카메라가 대상을 화면 중앙으로 재설정한다.

 

  1. Recenter Target: 카메라 조준점을 어떤 대상이나 조건으로 재센터링할지 결정.
  2. Vertical Axis:
    • Value: 현재 카메라의 수직 축 각도.
    • Value Range: 카메라가 수직 축으로 회전할 수 있는 각도의 범위.
    • Wrap: 설정되면 값이 최대나 최소에 도달했을 때 랩핑됨.
    • Speed: 카메라가 조준을 조정하는 속도.
    • Accel Time: 카메라가 최대 속도로 가속하는 데 걸리는 시간.
    • Decel Time: 카메라가 정지하거나 속도를 줄이는 데 걸리는 시간.
    • Input Axis Name: 카메라 조준에 사용되는 입력 축의 이름입니다. 여기서는 마우스의 Y축.
    • Input Axis Value: 현재 입력 축의 값.
    • Invert: 입력 축의 방향을 반전할지 여부를 결정.
  3. Vertical Recentering:
    • Enabled: 수직 축의 재센터링 기능을 활성화할지 결정.
    • Wait Time: 재센터링이 시작되기 전에 기다리는 시간.
    • Recentering Time: 재센터링이 완료되는 데 걸리는 시간.
  4. Horizontal Axis:
    • Value: 현재 카메라의 수평 축 각도.
    • Value Range: 카메라가 수평 축으로 회전할 수 있는 각도의 범위. 
    • Wrap, Speed, Accel Time, Decel Time, Input Axis Name, Input Axis Value, Invert는 수직 축의 설정과 유사
  5. Horizontal Recentering: 수평 축에 대한 재센터링 설정. Vertical Recentering의 설정과 유사.
  6. Noise: 카메라 조준에 추가할 노이즈

'TIL' 카테고리의 다른 글

01.02 (TIL-Unity)  (1) 2024.01.02
12.29 (TIL-Unity3D)  (0) 2024.01.02
12.27 (TIL-Unity3D)  (0) 2023.12.27
12.26 (TIL-Unity3D)  (0) 2023.12.26
12.22 (TIL-코딩문제)  (1) 2023.12.22