Intersect point from Ray

Hi, guys! Help me to understand work with Rays, pls. Iā€™m need to get intersection point at procedural plane from my ray (from mouse position for example). How to get vector3 information of it?

I do so:

Vector3 nearScreenPoint = new Vector3(input.mouseState.X, input.mouseState.Y, 0);
Vector3 farScreenPoint = new Vector3(input.mouseState.X, input.mouseState.Y, 1);
Vector3 near3DWorldPoint = device.Viewport.Unproject(nearScreenPoint, Projection, View, Matrix.Identity);
Vector3 far3DWorldPoint = device.Viewport.Unproject(farScreenPoint, Projection, View, Matrix.Identity);
Vector3 pointerRayDirection = far3DWorldPoint - near3DWorldPoint;
pointerRayDirection.Normalize();
Ray pointerRay = new Ray(near3DWorldPoint, pointerRayDirection);
float? res = pointerRay.Intersects(new Plane(0, -1, 0, offsetH));
if (res.HasValue)
{
    Vector3 Target = position + (res.Value * pointerRay.Direction);
}
1 Like

Thanks for reply! I think i just figured out this point :relieved: