کاربرد تابع SmoothDamp از کلاس Mathf در یونیتی
پنجشنبه, ۲۲ مهر ۱۳۹۵، ۱۲:۵۳ ق.ظ
gameover.bog.ir
damp=damping=تعدیل یا جلوگیری تجاوز از مقدار حداکثرشکل کلی:
public static float SmoothDamp(float current,
float target,
float currentVelocity,
float smoothTime,
float maxSpeed = Mathf.Infinity,
float deltaTime = Time.deltaTime);
پارامترها:
current | موقعیت فعلی. |
target | موقعیتی که تلاش می کنیم تا به آن برسیم. |
currentVelocity | سرعت یا شتاب فعلی،این مقدار با استفاده از هر بار فراخوانی تابع،تغییر می کند. |
smoothTime | زمان تقریبی برای رسیدن سریعتر به هدف. |
maxSpeed | اختیاری هست.برای تنظیم حداکثر سرعت بکار میره. |
deltaTime | زمان پس از آخرین فراخوانی این تابع،مقدار پیشفرض Time.deltaTime هست. |
مثال:
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private float yVelocity = 0.0F; void Update() { float newPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, ref yVelocity, smoothTime); transform.position = new Vector3(transform.position.x, newPosition, transform.position.z); } }
۹۵/۰۷/۲۲