implementation of drecon in unity 2022 lts
forked from:
https://github.com/joanllobera/marathon-envs
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
903 B
39 lines
903 B
7 months ago
|
using Cinemachine;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
public class LensOscillate : MonoBehaviour
|
||
|
{
|
||
|
public CinemachineVirtualCamera m_VirtualCamera;
|
||
|
|
||
|
public float m_Speed;
|
||
|
|
||
|
[SerializeField]
|
||
|
private float m_FOV;
|
||
|
|
||
|
private float m_SineValue = 0;
|
||
|
|
||
|
private float m_Time;
|
||
|
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update()
|
||
|
{
|
||
|
m_Time += Time.fixedDeltaTime;
|
||
|
m_SineValue = Mathf.Sin(m_Time * m_Speed);
|
||
|
m_FOV = Map(m_SineValue, -1, 1, 0.2f, 0.45f);
|
||
|
|
||
|
m_VirtualCamera.m_Lens.OrthographicSize = m_FOV;
|
||
|
|
||
|
}
|
||
|
|
||
|
private float Map(float x, float x1, float x2, float y1, float y2)
|
||
|
{
|
||
|
var m = (y2 - y1) / (x2 - x1);
|
||
|
var c = y1 - m * x1; // point of interest: c is also equal to y2 - m * x2, though float math might lead to slightly different results.
|
||
|
|
||
|
return m * x + c;
|
||
|
}
|
||
|
}
|