오브젝트 자연스럽게 이동하기 : Mathf.PingPong

2023. 8. 4. 11:54·Unity/Tip
반응형

Mathf.PingPong이란?

Mathf.PingPong은 값이 0과 지정된 최대값 사이에서 "핑퐁" 방식으로 앞뒤로 진동하게 만드는 Unity 함수입니다. 이 기능은 주로 부드러운 전환, 애니메이션 또는 특정 범위 내에서 숫자가 변동해야 하는 기타 사용 사례를 만드는 데 사용됩니다.

Mathf.PingPong 구문

Mathf.PingPong의 구문은 매우 간단합니다. 여기있어:

csharpCopy code
Mathf.PingPong(t, length);

이 함수에서 't'는 진동시키고자 하는 값이고, '길이'는 진동의 최대값입니다. 이 함수는 0과 '길이' 사이에서 앞뒤로 핑퐁하는 값을 반환합니다.

Mathf.PingPong의 실제 적용

Mathf.PingPong을 사용하는 실용적인 예를 살펴보겠습니다. 게임 장면에 구가 있고 X축을 따라 0에서 5 단위 사이에서 앞뒤로 움직이기를 원한다고 가정합니다.

이를 달성하기 위한 간단한 스크립트는 다음과 같습니다.

csharpCopy code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PingPongMovement : MonoBehaviour
{
    public float speed = 1f;
    public float maxDistance = 5f;

    void Update()
    {
        float newXPosition = Mathf.PingPong(Time.time * speed, maxDistance);
        transform.position = new Vector3(newXPosition, transform.position.y, transform.position.z);
    }
}

위의 스크립트에서는 이 프레임의 시작 부분에서 시간을 반환하는 Time.time 함수를 사용하고 여기에 속도 변수를 곱합니다. 이렇게 하면 PingPong 함수의 't'가 시간이 지남에 따라 지속적으로 증가하여 개체가 움직이게 됩니다. maxDistance 변수는 구가 X축을 따라 어느 방향으로든 이동하려는 최대 거리를 나타냅니다.

'Mathf.PingPong' 함수는 이 값을 사용하여 매 프레임마다 구에 대한 새로운 X 위치를 생성하여 X축에서 0과 'maxDistance' 사이를 앞뒤로 이동합니다.

마무리

'Mathf.PingPong' 함수는 진동하는 움직임이나 부드러운 전환을 만드는 편리한 도구입니다. 이 기능을 활용하면 몇 줄의 코드만으로 게임에서 복잡한 동작을 구현할 수 있습니다.

따라서 다음에 특정 범위 내에서 값이 변동해야 하는 경우 Mathf.PingPong을 사용해야 합니다. 당신이 찾고 있는 솔루션일 수도 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity > Tip' 카테고리의 다른 글

Animation Preview Auto Play  (0) 2023.09.11
~~~ is missing the class attribute 'ExtensionOfNativeClass'!  (0) 2023.08.21
Unity Unique ID 스크립트  (0) 2023.07.14
Unity : Custom Dictionary Script  (0) 2023.07.14
Unity로 안드로이드 앱 개발 시 권한 설정 방법  (0) 2023.07.07
'Unity/Tip' 카테고리의 다른 글
  • Animation Preview Auto Play
  • ~~~ is missing the class attribute 'ExtensionOfNativeClass'!
  • Unity Unique ID 스크립트
  • Unity : Custom Dictionary Script
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (603) N
      • 상품 추천 (111) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    스크립트 실행 순서
    쇼핑몰리뷰
    programmerlife
    긴유통기한우유
    codingtips
    Python
    셀레니움
    카페24리뷰
    cv2
    믈레코비타멸균우유
    list
    appdevelopment
    unity
    codingcommunity
    devlife
    리스트
    스크립트 실행
    파이썬
    라떼우유
    C#
    카페24리뷰이관
    ipcamera
    리뷰이관
    리뷰관리
    스마트스토어리뷰
    programming101
    유니티
    learntocode
    rtsp
    상품 리뷰 크롤링
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
오브젝트 자연스럽게 이동하기 : Mathf.PingPong
상단으로

티스토리툴바