How on earth does the 'Make Plane' node work?

I’m working on a VR project in which I’m using two Oculus touch controllers and an Oculus Rift CV1. I’m trying to define a quadrilateral plane with the coordinates (A, B, A+X, B+X), where A is the location of the left motion controller, B is the location of the right motion controller, and X is a constant value use to determine the size of the plane.

I thought the Make Plane blueprints node would be capable of doing this, but I can’t seem to figure out how the node is supposed to work. ‘Make Plane’ accepts 4 arguments, W,X,Y,Z. Because at least 3 points (each with their own X,Y,Z coords) are necessary to define a plane in 3D space, I figured that the only way the method could possibly work is by accepting a single vector (X,Y,Z) and using the vector’s start point as one vert, the vector’s (magnitude) end-point as a second point and then using W to define a width in UU of the plane which could be used to generate the other two verts.

Based on my trial and error, this is clearly not the case.

I’m trying to create this plane so that I can use ‘Line Plane Intersection’ to determine whether another line that I am drawing is intersecting the the plane generated by the touch controllers.

Could someone please explain how Make Plane actually works?

1 Like

Planes in ue4 are kept in coordinate form/linear equation standard form: Xx+Yy+Zz=W. You will have to convert your form. I am can’t find any direct conversion from 3 points to coordinate form, but from normal form it is:

X = Nx, Y = Ny, Z = Nz, W = PxNx + PyNy + PzNz with N beeing the normal vector and P beeing the position vector.

I have no idea if thats it real english name, I can only find german stuff right now.

Edit: found an easier way: This constructor takes a normal and position vektor directly, so you only have to get a normal vector from you three points. That is easily done with the cross product.

2 Likes