Hey Everyone,
I got this error message while creating my first game and couldn’t figure it out. I know it has to do with the object reference not being made, but I don’t know how to fix it because I am a beginner and it has to do with raycasts. For some background, I am trying to make the camera transform to the object hit by the raycast. Here is the code. Thanks for the help!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Raycast : MonoBehaviour
{
public Camera Camera;
public Transform cameraPosition;
public GameObject playerCameraPosition;
public float distance;
public float camPosition;
void Start()
{
camPosition = 1;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 1000))
{
if (hit.distance < 15)
{
camPosition = 2;
Debug.Log(hit.collider.gameObject.name + " is " + Mathf.Round(distance = hit.distance) + " feet away");
cameraPosition.transform.position = hit.collider.gameObject.transform.position;
}
else
{
Debug.Log(“Nothing was detected”);
camPosition = 1;
}
}
if (camPosition == 1)
{
cameraPosition.transform.position = playerCameraPosition.transform.position;
cameraPosition.transform.rotation = playerCameraPosition.transform.rotation;
}
if (camPosition == 2)
{
cameraPosition.transform.position = hit.collider.gameObject.transform.position;
cameraPosition.transform.rotation = hit.collider.gameObject.transform.rotation;
}
}
}
}