Add edge onto plane?

I’m trying to figure out how I can insert an edge into a plane at runtime. I plan to be able to draw a line across the plane and have an edge inserted there. Here are two images clearly demonstrating what I’m trying to do:

I’m not sure how I can actually insert edges into models. Does anyone know how I can do this?

You won’t be able to do this with a simple mesh filter like the plane.

The best approach would be to start by generating your mesh in code as a single quad (see this post Creating a plane mesh directly from code - Unity Answers).

Then when you need to insert an edge, you’ll need to go through each triangle in the original mesh, see if the line defined by your edge intersects it, and if so chop it into 2 smaller triangles. Then generate a new mesh from your new set of triangles.

25978-edge.png

This algorithm typically works by finding the point at which your line intersects the edge of each triangle. Where a hits a triangle you find the edge at which it enters, and the edge at which it leaves. Your result will be 3 new triangles.

Note that in itself, this process will just give you a new mesh that won’t look any different (as edges aren’t rendered). I’m not sure what its for though, so don’t know if that matters!

Hope that helps!