Unity. Mathf.Lerp() μ‚¬μš©ν•˜κΈ°

μ΅œλŒ€ 1 λΆ„ μ†Œμš”

🌟 Mathf.Lerp()

μ„ ν˜• 보간을 μ‚¬μš©ν•˜μ—¬ λΆ€λ“œλŸ½κ²Œ μ›€μ§μ΄λŠ” κ±Έ κ΅¬ν˜„ν•  λ•Œ Mathf.Lerp()λ₯Ό μ“΄λ‹€.

μ„ ν˜• λ³΄κ°„μ΄λž€, a와 bκ°€ μžˆμ„ λ•Œ κ·Έ 사이λ₯Ό μ§μ„ μœΌλ‘œ μ—°κ²°ν•˜κ³  μ§μ„ μ˜ 거리에 따라 κ·Έ 사이값을 κ³„μ‚°ν•˜λŠ” 방법이닀.

Mathf.Lerp(float a, float b, float t) μ΄λ ‡κ²Œ μ‚¬μš©ν•΄μ„œ, tλŠ” νΌμ„ΌνŠΈκ³  tκ°€ 0에 κ°€κΉŒμšΈμˆ˜λ‘ a와 κ°€κΉŒμ›Œμ§€κ³ , 1에 κ°€κΉŒμšΈμˆ˜λ‘ b에 κ°€κΉŒμ›Œμ§„λ‹€.

🌟 μ‚¬μš©λ²•

float speed = 5f;

float x = transform.position.x;
float targetX;

private void Update()
{
    x = Mathf.Lerp(x, targetX, Time.deltaTime * speed);
    transform.position = new Vector2(x, transform.position.y);
}

μ΄λ ‡κ²Œ ν•˜λ©΄ μΌμ •ν•œ μ‹œκ°„μ— 따라 μ›ν•˜λŠ” μ†λ„λ‘œ target의 μœ„μΉ˜μ— ν•΄λ‹Ή μ˜€λΈŒμ νŠΈκ°€ 이동할 것이닀.

νƒœκ·Έ: ,

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°