using UnityEngine;
using DG.Tweening;
public class Billboard : MonoBehaviour
{
[Header("跟随镜头旋转")]
public bool isRotation = false;
[Header("跟随镜头缩放")]
public bool isZoom = false;
[Header("大小比例,为0时,以当前对象的Scale为准")]
public float size = 0F;
private Camera mainCamera;
private float _distance;
private void Start()
{
mainCamera = Camera.main;
_distance = Vector3.Distance(mainCamera.transform.position, transform.position);
if (size == 0)
{
size = transform.localScale.x;
}
}
private void Update()
{
if (isRotation)
{
transform.rotation = Quaternion.Slerp(transform.rotation, mainCamera.transform.rotation, 10*Time.deltaTime);
}
if (isZoom)
{
float distance = Vector3.Distance(mainCamera.transform.position, transform.position);
var scale = distance / _distance * size;
transform.DOScale(new Vector3(scale, scale, scale),Time.deltaTime);
}
}
}