unity 2d raycast необходимо множественное пересечение
Всем привет, делаю свой платформер и возникла необходимость отдалять в определенном месте камеру, затем возвращать ее на место. Для этого использовался RayCast и тут начались проблемы в сторону отдаления камеры все работает идеально но вот при повторном пересечении луча камера еще больше отдаляется. Я понимаю что в моем скрипте так и должно и он написан не правильно но я никак не могу понять как сделать что б пересекая в одну сторону камера отдалялась , а при пересекании в другую возвращалась обратно) Буду рад любому совету
using UnityEngine;
public class CameraChange : MonoBehaviour
{
public float speed = 5f;
public float cameraZoom = -12f;
public bool isLeft = false;
CameraFollow changeZoom;
//PlayerRigiController playerDirection;
RaycastHit2D hit;
// Start is called before the first frame update
void Start()
{
changeZoom = GameObject.Find("Main Camera").GetComponent<CameraFollow>();
// playerDirection = GameObject.Find("Player").GetComponent<PlayerRigiController>();
}
// Update is called once per frame
void Update()
{
hit = Physics2D.Raycast(transform.position, transform.TransformDirection(Vector3.up), 100f);
if (hit)
{
Debug.Log("Raycast collited with " + hit.collider.name);
MoveCamera(cameraZoom, cameraZoom);
isLeft = true;
}
}
public void MoveCamera(float x, float y)
{
Vector3 movementAmount = new Vector3(x, 0, y) * speed * Time.deltaTime;
changeZoom.gameObject.transform.Translate(movementAmount);
}
}