بسم الله الرحمن الرحیم
لرپ"lerp" مخفف "Linearly interpolates" است که به معنی درون یابی خطی معنا می شود .
Vector3. Lerp(Vector3 a, Vector3 b, float t) Vector2. Lerp(Vector3 a, Vector3 b, float t)
همانطور که در کد بالا می بینید lerp یک وکتور است که میتواند دو بعدی یا سه بعدی باشد .
برای کار با lerp باید دو vector به آن بدهید a به عنوان نقطه شروع و b به عنوان پایان خط و در نهایت یک float که باید عددی بین 0 و 1 باشد .
کاری که lerp می کند این است که یک خط فرضی بین دو وکتور ورودیa و b می کشد و نفطه t را در این خط برای شما پیدا میکند . اگر متغیر T مساوی یک باشد اخر خط را نشان می دهد اگر متغیر T صفر باشد ابتدای خط را نشان میدهد و اگر 0.5 باشد وسط خط را نشان می دهد و بقیه اعداد نیز به همین صورت. برای فهم بهتر به عکس زیر دقت کنید.

همانطور که در بالا گفتم عددی که به lerp میدهیم تا در نقط پیدا کند باید چیزی بین صفر ویک باشد اما اگر بخواهیم فراتر از آن برویم باید از دستور زیر استفاده کنیم .در صورت استفاده از دستور زیر اگر t بیشتر از یک باشد یک نقطه در راستای همان خط بین aوb اما فراتر را بر میگرداند.
Vector3 LerpUnclamped(Vector3 a, Vector3 b, float t);
این فانکشن درواقع دو رنگ دریافت می کند و با توجه به عددی که به آن میدهید رنگ آن نقطه به خصوص بین این دو رنگ را به شما بر می گرداند.
Color.Lerp(Color a, Color b, float t);

فانکشنی دریگر در یونتی برای لرپ کردن بین دو عدد وجود دارد که جای مناسبی که نحوه کار کردن lerp را شرح بدهم.
Lerp = A+(B-A)*T
همانطور که در فرمول بالا می بینید لرپ فقط یک عملیات ریاضی ساده را انجام میدهد عدد اول را منهای عدد دوم می کنید و ضرب درT که باید عددی بین صفر و یک باشد و در نهایت حاصل را با A جمع می کند .
در کد زیر هم فانکش لرپ برای استفاده ی اعداد تک بعدی را مشاهده می کنید که همانند قبلی ها نقطه شروع و پایان را میگرید و نقطه انتخابی شما "T" را برمیگرداند.
Mathf.Lerp(A, B, t)
