- Home /
Detecting the location of a shadow that is being projected onto a plane
I'm trying to do this based on this question: https://answers.unity.com/questions/514902/detecting-the-location-of-a-shadow-that-is-being-p.html
But not managing to make it.
So, I'm trying to draw lines from an object position to other object vertices, using the following code:
public Transform light;
public Transform cube;
Mesh mesh;
Vector3[] vertices;
void Update()
{
mesh = cube.GetComponent<MeshFilter>().mesh;
vertices = mesh.vertices;
for (var i = 0; i < vertices.Length; i++)
{
Debug.DrawLine(light.transform.position, cube.transform.position + transform.TransformPoint(vertices[i]), UnityEngine.Color.cyan);
}
}
But the lines do not match the vertices positions and I can't figure out why.
Can someone give me some help? Why are the points in the wrong positions?
The whole idea is that I wanna know the points defining the shadow in the back wall. That's why I'm trying to manually ray-casting from the light source to the vertices of the object, so I can later extend those lines to the backplane to match the vertices of the shadow on the wall and use some convex hull algorithm to draw the shadow outline manually.
Maybe there is another approach to this. Maybe the shadow borders are already defined somewhere else.
This was me trying to figure it out the hard way, I think.
If someone could put a light on this, I appreciate it.
Answer by Namey5 · May 27, 2020 at 01:26 PM
You're using the wrong transform when casting the vertex positions into world space;
//This
cube.transform.position + transform.TransformPoint(vertices[i])
//Should be this
cube.transform.TransformPoint(vertices[i])
Your answer
Follow this Question
Related Questions
Colliding Line render or Raycasts 0 Answers
Grid Based Movement Raycast Issue - Please Help,Raycast Not Working After Roating - Please Help! 0 Answers
Point Light casting weird shadows 0 Answers
Spherecast. Want to determine how close to the center of the sphere the collision occurred. 0 Answers
2D colliders for a rotating 3D cube 1 Answer