İleriyi Görme
Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 49 / 71.
Hareket eden bir oyuncunun merkezine yerleştirilmiş kamera, oyuncunun gittiği yer kadar geride kaldığı yeri de gösterir. Bunun yerine yandan görünüm önden gelebilir: oyuncunun birkaç birim önünde, yöneldiği tarafta durur.
Oyuncu yönünü değiştirdiğinde öndeki mesafe de yön değiştirir ve bu mesafenin anında değişmesi tüm görüntünün sıçramasına neden olur. Bu yüzden öndeki mesafeyi bir alanda tut ve her karede biraz değiştirerek yeni değerine doğru kaydırmak için Mathf.MoveTowards kullan. Bu tekne kamerası 2 birim önden gelir ve saniyede 3 birim hızla kayar:
float lead;
float heading = 1f; // 1 sağa doğru seyrediyor, -1 sola doğru seyrediyor
void LateUpdate()
{
lead = Mathf.MoveTowards(lead, heading * 2f, 3f * Time.deltaTime);
transform.position = new Vector3(boat.position.x + lead, transform.position.y, transform.position.z);
}Yön, teknenin en son hareket ettiği yöndür: x değerini önceki karedeki x değeriyle karşılaştır ve hareket etmediği karelerde yönü değiştirme; böylece duran teknenin öndeki mesafesi korunur.
Görev
OrtaKamera yandan, koşucunun gittiği yönü daha fazla gösterecek şekilde ayarlansın.
LateUpdate()içinde koşucunun x değerinilastXile karşılaştır: sağa hareket etmekdirectiondeğerini 1, sola hareket etmek -1 yapar; hareketsiz kalmak değeri değiştirmez.shift = Mathf.MoveTowards(shift, direction * ahead, shiftSpeed * Time.deltaTime);ile kaydırmayı yumuşakça ayarla.- Kameranın x değerini
player.position.x + shiftyaparken y ve z değerlerini koru.
“Oyna” düğmesine bas ve iki yöne de koş. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class LookAheadCamera : MonoBehaviour
{
public Transform player;
public float ahead = 3f;
public float shiftSpeed = 4f;
void LateUpdate()
{
// Oyuncunun son hareket ettiği yönde ahead birim önden git, shiftSpeed hızında kayarak.
transform.position = new Vector3(player.position.x, transform.position.y, transform.position.z);
}
}
Fizik ve Oynanış bölümündeki tüm dersler
1Rigidbody
Yerçekimi ve KütleAddForce ile İtmeDürtüyle ZıplamaFizik için FixedUpdateHızKinematik CisimlerTekrar: Fırlatma Rampası2Çarpışmalar
OnCollisionEnterNeye Çarptım?Çarpınca KırılYerde DurmakSekme ve SürtünmeCollider ŞekilleriTekrar: Kırılabilir DuvarKendi başına pratik yap: Unity playground