How can I make camera move when the ray emitted from it hits any object and reaches certain amount of ray length
I want to make my camera move downwards when it's ray gets hit to an object and when the object reaches the ray length of 5. Following is the code that I tried to accomplish above mentioned task.
RaycastHit hit3;
float theDistance3;
Vector3 top = transform.TransformDirection (0, 26, 45) * 10;//Top
Debug.DrawRay (transform.position, top, Color.green);
if (Physics.Raycast(transform.position, (top), out hit3))
{
theDistance3 = hit3.distance;
print (theDistance3 + " " + hit3.collider.gameObject.name);
if (theDistance3 < 5)
{
Vector3 simon = new Vector3 (0, 0, -1);
transform.position = Vector3.Lerp (transform.position, simon, Time.deltaTime * speed);
}
}
Answer by SimonClintonIv · Jun 18, 2016 at 05:06 PM
After trying for a long time I got the following code.
RaycastHit hit3; Vector3 top = transform.TransformDirection (0, 26, 45) 10;//Top Debug.DrawRay (transform.position, top, Color.green); if (Physics.Raycast(transform.position, (top), out hit3) && hit3.distance < 2 && transform.position.y > 0.5) { transform.Translate(0f, -10f Time.deltaTime, 0f); } if (Physics.Raycast(transform.position, (top), out hit3) && hit3.distance > 2 && transform.position.y < 1.49f) { transform.Translate(0f, 10f Time.deltaTime, 0f); } if (!Physics.Raycast(transform.position, (top), out hit3) && transform.position.y < 1.49f) { transform.Translate(0f, 10f Time.deltaTime, 0f); }
Your answer
Follow this Question
Related Questions
How Can I Detect Objets on Click with Raycast? 0 Answers
How can i detect 2 raycasthit2D in the same function storing their Vector2 position? 0 Answers
3D click and drag Camera Movement is shaking rapidly 0 Answers
Raycast Performance 3 Answers
What is wrong with the code I have written for the camera to avoid it from going through object 1 Answer