- Home /
Adding a raycast to prevent camera from going through walls?
Hi, Sorry to ask for help but I've been stuck with this issue for a few days now and I cannot find a solution, I've tried a few different techniques what I have found online such as: adding a collider to the camera and various different raycasting scripts but I cannot seem to get them to work with my code.
The camera code I have is a fairly simple c# script what I mainly achieved by watching a youtube tutorial video done by N3K EN on Youtube at https://www.youtube.com/watch?v=Ta7v27yySKs. I thought I'd post the link incase anyone was looking for a simple camera script.
Anyway the script I currently have is:
using System; using System.Collections; using System.Collections.Generic; using UnityEngine;
public class ThirdPersonCamera : MonoBehaviour {
private const float Y_ANGLE_MIN = -5.0f;
private const float Y_ANGLE_MAX = 100.0f;
public Transform LookAt;
public Transform camTransform;
public Camera cam;
private float distance = 6.5f;
private float currentX = 0.0f;
private float currentY = 0.0f;
private Vector3 dir;
private void Start()
{
camTransform = transform;
}
private void Update()
{
currentX += Input.GetAxis("Mouse X");
currentY += Input.GetAxis("Mouse Y");
currentY = Mathf.Clamp(currentY, Y_ANGLE_MIN, Y_ANGLE_MAX);
}
public void LateUpdate()
{
Vector3 dir = new Vector3(0, 0, -distance);
Quaternion rotation = Quaternion.Euler(currentY, currentX, 0);
camTransform.position = LookAt.position + rotation * dir;
camTransform.LookAt(LookAt.position);
}
}
All I really need to do is add in a raycast from the camera to the player to make sure nothing is blocking the view, and if something is blocking the view to make the camera move infront of the intervening object.
Sorry for taking up your time I'm just struggling to find a working solution
Thanks.
Your answer
Follow this Question
Related Questions
Problem with using Ray Casting to avoid obstacles and walls.. 1 Answer
,How to lock the raycast on the first point hit? 2 Answers
How to add platform motion to player controller without parenting? - Mostly working code 1 Answer
How to determine which side of an object the player collided with? 2 Answers