Unity

Mathf.PingPong

JiHxxn 2024. 3. 17. 11:07

📜 information

  1. 핑퐁처럼 A값이 최댓값 B에 도달하면 그 뒤부터는 마이너스 처리되고, 0이 되면 다시 최댓값까지 특정지점을 반복해서 왔다 갔다 하는 경우 사용하면 좋다.
    • 다만 A는 지속적으로 증가하여 B까지 도달해야 마이너스 전환된다.
    • 이때, 결괏값은 최댓값보다 작은 값까지만 반환된다.(최댓값이 3이라면, 2.9999까지 가능)
class PingPong
{
    void Update()
    {
        // x축으로 2.9999 만큼 이동하면 다시 0.0001까지 재이동되고 다시 2.9999까지 이동 반복한다.
        transform.position = new Vector3(Mathf.PingPong(Time.time, 3), transfrom.position.y, transfrom.position.z);
    }
}
private IEnumerator SpawnEnemy()
{
    float spawnDelay = 1;
    float tileFlashSpeed = 4;
    Color initialColur = tileMat.color;
    Color fleshColour = Color.red;
    float spawnTimer = 0;

    while (spawnTimer < spawnDelay)
    {
        tileMat.color = Color.Lerp(initialColur, fleshColour, Mathf.PingPong(spawnTimer * tileFlashSpeed, 1));

        spawnTimer += Time.deltaTime;
        yield return null;
    }    
}
  • Mathf.PingPong
    • 첫 인자는 시간을 넣어줌 → SpawnTimer * tileFlashSpeed 는 점점 빨라지도록 연출하기 위해 넣음
    • 두 번째 인자는 길이를 넣어줌. 0에서 몇 까지 이동할 건지. → 1

📖 참고 문서

오브젝트 이동 시 유용한 Mathf 함수

 

오브젝트 이동 시 유용한 Mathf 함수

오브젝트 이동 시 유용했던 Mathf 클래스 함수를 정리해본다. Mathf.Abs (float 데이터) 데이터의 절대...

blog.naver.com

 

'Unity' 카테고리의 다른 글

Rigidbody.AddTorque  (0) 2024.03.17
[Attribute]ContextMenu  (0) 2024.03.17
[키워드] operator  (0) 2024.03.17
[길찾기 알고리즘] Flood Fill  (0) 2024.03.17
[셔플 알고리즘] The Fisher-Yates  (0) 2024.03.16