- Home /
Question by
Memnyatta · May 25, 2021 at 12:08 PM ·
third-personcamera follow
I'm having a problem with preventing the camera clipping
This code suppose to move player's 3d person camera closer if it collides with another object, whick works fine, but i can't figure out how to make the camera move to the original position, if there is enough distance behind it. The camera itself is parented to the moving 'invisible gun' with a first person looking script on it
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class raycast_forthecamera : MonoBehaviour
{
private LayerMask LayerGround;
public Transform player;
public Transform currentPosition;
public float ogRange = 15f;
RaycastHit hitInfo;
float hitDistance;
// Start is called before the first frame update
void Start()
{
LayerGround = LayerMask.NameToLayer("Ground");
transform.localPosition = new Vector3(0f, 0f, ogRange);
}
// Update is called once per frame
void Update()
{
AntiClipping();
}
void AntiClipping()
{
if (Physics.Raycast( currentPosition.position, player.position, out hitInfo) && hitInfo.transform.gameObject.layer == LayerGround)
{
hitDistance = hitInfo.distance;
Debug.Log(hitDistance);
transform.localPosition =- new Vector3(0f, 0f, hitDistance);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Cinemachine free look follow problem,Cinemachine free look camera sğ 0 Answers
Side Scrolling Shooter. How to aim my bullet trajectory at the mouse cursor? 2 Answers
How do I make a simple, 3rd person RPG-type camera behavior? 1 Answer
3rd Person Throwing Grenade Question 0 Answers
Third Person Melee Attack 0 Answers