연습문제 : Min, Max, Clamp

Jaemyeong Lee·2024년 12월 8일
0

입문자를 위한 UE5

목록 보기
12/60

1. Min 노드

기능 설명:

  • Min 노드는 입력된 값들 중에서 가장 작은 값을 반환하는 노드입니다.
  • 예를 들어, 두 값이 Hp + 20MaxHp라면, 둘 중 작은 값을 결과로 출력합니다.

예제 설명: Heal 20 블루프린트

  1. 키보드 2번을 누를 때마다 체력(Hp)이 20씩 증가합니다.
  2. 체력 증가 이후, 현재 체력(Hp)이 최대 체력(MaxHp)을 초과하지 않도록 Min 노드를 사용해 제한합니다.
  3. 최종 체력을 텍스트로 출력합니다.

작업 흐름:
1. 현재 체력(Hp) 값을 Get하고, 20을 더합니다.
2. Min 노드에 두 값을 입력:

  • 첫 번째 값: 증가된 체력(Hp + 20).
  • 두 번째 값: 최대 체력(MaxHp).
  1. Min 노드가 작은 값을 반환하여 체력(Hp)을 업데이트.
  2. 현재 체력을 출력합니다.

2. Max 노드

기능 설명:

  • Max 노드는 입력된 값들 중에서 가장 큰 값을 반환하는 노드입니다.
  • 예를 들어, 두 값이 Hp - 100이라면, 둘 중 큰 값을 결과로 출력합니다.

예제 설명: Damage 10 블루프린트

  1. 키보드 1번을 누를 때마다 체력(Hp)이 10씩 감소합니다.
  2. 체력 감소 이후, 현재 체력(Hp)이 0 이하로 내려가지 않도록 Max 노드를 사용해 제한합니다.
  3. 최종 체력을 텍스트로 출력합니다.

작업 흐름:
1. 현재 체력(Hp) 값을 Get하고, 10을 뺍니다.
2. Max 노드에 두 값을 입력:

  • 첫 번째 값: 감소된 체력(Hp - 10).
  • 두 번째 값: 0.
  1. Max 노드가 큰 값을 반환하여 체력(Hp)을 업데이트.
  2. 현재 체력을 출력합니다.

3. Clamp 노드

기능 설명:

  • Clamp 노드는 입력된 값을 최소값(Min)최대값(Max) 사이로 제한합니다.
  • MinMax의 기능을 하나로 통합한 노드입니다.

예제 설명: Damage 10과 Heal 20 통합

  1. 체력(Hp)이 증가하거나 감소할 때, Clamp 노드를 사용해 체력 값을 0 ~ MaxHp 사이로 제한합니다.
  2. 이를 통해 별도로 Min, Max 노드를 사용할 필요 없이 간단히 구현할 수 있습니다.

작업 흐름:
1. 체력 감소 또는 증가 계산이 완료된 값을 Clamp 노드의 Value에 입력합니다.
2. Clamp 노드의 입력 핀:

  • Min: 체력의 최소값(예: 0).
  • Max: 체력의 최대값(예: MaxHp).
  1. Clamp 노드가 제한된 값을 반환하여 체력(Hp)을 업데이트.
  2. 현재 체력을 출력합니다.

4. 블루프린트 최적화

기존 방식:

  • Damage와 Heal 블루프린트에서 각각 MaxMin 노드를 별도로 사용하여 체력 값을 제한.

최적화된 방식:

  • Clamp 노드를 사용해 Damage와 Heal 로직을 단일 블루프린트로 통합.
  • 입력값(Value)이 MinMax 사이를 벗어나지 않도록 자동으로 제한.

5. 사용 사례 및 장점

1) Min 노드 활용 사례:

  • 힐 제한: 체력이 일정 이상 증가하지 않도록 설정.
    • 예: 체력이 최대 200일 때, 체력(Hp + Heal)이 200을 초과하지 않도록 제한.

2) Max 노드 활용 사례:

  • 데미지 제한: 체력이 0 이하로 내려가지 않도록 설정.
    • 예: 체력이 0 이하가 되지 않도록 체력(Hp - Damage)을 0으로 제한.

3) Clamp 노드 활용 사례:

  • 통합 제한: 체력을 0 ~ MaxHp 사이로 제한.
    • 장점: Min과 Max를 따로 사용하지 않고 단일 노드로 제한을 설정.

예제

profile
李家네_공부방

0개의 댓글