Oynatıcıyı o döşemeye ulaştıktan sonra oyun tahtası döşemesinde belirli bir yere taşımak için bu IEnumerator
var. İşte kod, gerçekten basit.Jerky Lerp hareket
IEnumerator LerpToPlayerSpot(Vector3 newPosition, float time)
{
float elapsedTime = 0;
Vector3 startingPos = transform.position;
getInPosFlag = true;
while (elapsedTime < time)
{
transform.position = Vector3.Lerp(startingPos, newPosition, (elapsedTime/time));
elapsedTime += Time.deltaTime;
yield return null;
}
}
I having doğru konumunu ulaştıktan sonra oyuncu yerine yerleşmeden önce biraz etrafında pislik gibi görünüyor olmasıdır. Bunu kendi yaklaşımımı uygulayarak başka bir projede düzelttiğimi hatırlıyorum, ama daha iyi bir çözüm olup olmadığını merak ediyorum.
Düzeltme. Onardım. while döngüsünden önce getInPosFlag
ayarlanmalıdır. çünkü zaman döngüsünden sonra onu koordine ettim, ko-rutin ihtiyaç duyulduğundan bir veya iki kez daha çağırdı.
Teşekkürler. Math.Min kullanarak benim için hiçbir şey yapmadım, ama birden fazla param ekledim param sarmal hareket hala orada orada, daha az belirgin olan daha fazla test sonra Time.deltaTime –
tarafından ko-rutine geçiyorum. –
"Sarsıntılı" tanımlayabilir misiniz? sonunda başarısız olur? arasında? – Gusman