Advertisement
JonneOpettaja

SmoothCameraFollow

Mar 19th, 2019
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.35 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class SmoothCameraFollow : MonoBehaviour
  6. {
  7.     public GameObject target;                   // seurattava kohde
  8.     public float cameraDelay;                   // kameran "kiihtyvyys"
  9.     private Vector3 targetPosition;             // muuttuja johon kohteen sijaintivektori tallennetaan
  10.     private Vector3 velocity = Vector3.zero;    // käytetään vain säilyttämään smoothdamin nykyinen nopeus
  11.  
  12.     void Update()
  13.     {
  14.         targetPosition = target.transform.position; // tallennetaan sijainti
  15.         targetPosition.z = transform.position.z;    // lukitaan z-akseli, koska kyseessä 2D-peli
  16.         transform.position =
  17.             Vector3.SmoothDamp(transform.position,                  // ensimmäinen parametri ottaa sijainnin mistä ollaan liikkumassa
  18.             targetPosition,                                         // sijainti mihin ollaan liikkumassa
  19.             ref velocity,                                           // viittaus nykyiseen nopeuteen, jota SmoothDamp muuttaa
  20.             cameraDelay / Vector3.Distance(transform.position, targetPosition)); // neljäs parametri on aika jolloin target saavutetaan
  21.                                                                     // jaetaan aika etäisyydellä, jotta nopeus kiihtyy tarvittaessa
  22.     }
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement