959e80cf72
assets upload description.
61 lines
1.5 KiB
C#
61 lines
1.5 KiB
C#
using UnityEngine;
|
|
|
|
public class SmoothFollow : MonoBehaviour{
|
|
private const float SMOOTH_TIME = 0.3f;
|
|
public bool LockX;
|
|
public float offSetX;
|
|
public float offsetY;
|
|
public bool LockY;
|
|
public bool LockZ;
|
|
public bool useSmoothing;
|
|
public Transform target;
|
|
public GameObject hudElements;
|
|
private Transform thisTransform;
|
|
private Vector3 velocity;
|
|
bool hudActive = true;
|
|
|
|
private void Awake(){
|
|
thisTransform = transform;
|
|
velocity = new Vector3(0.5f, 0.5f, 0.5f);
|
|
target = GameObject.Find("Crafter").transform;
|
|
}
|
|
|
|
void Update(){
|
|
if(hudActive){
|
|
if(Input.GetKeyDown(KeyCode.H)){
|
|
hudElements.SetActive (false);
|
|
hudActive = false;
|
|
}
|
|
}
|
|
else{
|
|
if(Input.GetKeyDown(KeyCode.H)){
|
|
hudElements.SetActive (true);
|
|
hudActive = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void FixedUpdate(){
|
|
var newPos = Vector3.zero;
|
|
if(useSmoothing){
|
|
newPos.x = Mathf.SmoothDamp(thisTransform.position.x, target.position.x + offSetX, ref velocity.x, SMOOTH_TIME);
|
|
newPos.y = Mathf.SmoothDamp(thisTransform.position.y, target.position.y + offsetY, ref velocity.y, SMOOTH_TIME);
|
|
newPos.z = Mathf.SmoothDamp(thisTransform.position.z, target.position.z, ref velocity.z, SMOOTH_TIME);
|
|
}
|
|
else{
|
|
newPos.x = target.position.x;
|
|
newPos.y = target.position.y;
|
|
newPos.z = target.position.z;
|
|
}
|
|
if(LockX){
|
|
newPos.x = thisTransform.position.x;
|
|
}
|
|
if(LockY){
|
|
newPos.y = thisTransform.position.y;
|
|
}
|
|
if(LockZ){
|
|
newPos.z = thisTransform.position.z;
|
|
}
|
|
transform.position = Vector3.Slerp(transform.position, newPos, Time.time);
|
|
}
|
|
} |