- Home /
Raycasting
Hi,
Is it possible to use Raycast for this and if yes how?
I want to send a raycast in the forward direction and if it hit any object that don't have a specific tag, let's say Test for example, it turns my boolean to false.
Best Regards,
Nb0
Answer by AlucardJay · Sep 04, 2012 at 09:10 PM
Yes ! How ? well, here I am showing 2 methods.
The first is checking if there is no tag applied, the default tag is "Untagged"
The second is comparing it to all known tags, if the object is not one of the tags then .....
function Update()
{
if (Input.GetMouseButtonDown(0))
{
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
var hit : RaycastHit;
if ( Physics.Raycast(ray, hit, 100) )
{
Debug.Log(hit.collider.gameObject.tag);
// Just check if the object is Untagged
if (hit.collider.gameObject.tag == "Untagged")
{
Debug.Log(hit.collider.gameObject.name + " is Untagged");
}
// Check if the object has no predefined tags
if (hit.collider.gameObject.tag != "Player" && hit.collider.gameObject.tag != "Enemy")
{
Debug.Log(hit.collider.gameObject.name + " is not in the tag check");
}
}
}
}
oops, I did this with a mouse raycast, but it doesn't matter how you cast the ray. I won't edit the answer as this is an easy way to test if it works with a mouse point-and-click.
For you, just delete the line : var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
And also replace the line if ( Physics.Raycast(ray, hit, 100) ) with :
if (Physics.Raycast(transform.position, transform.forward, hit, 100.0))
=]
Your answer
Follow this Question
Related Questions
Setting Scroll View Width GUILayout 1 Answer
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Gun Script Help 2 Answers
How to fix a small raycast issue? 2 Answers
The name 'Raycast' does not denote a valid type ('not found') 1 Answer