This week, Yon and Theo got alignment working pretty well, so I integrated it into the system pipeline. It occurs after the scans are taken, but before the normal map is done to ensure that the normal map itself is all aligned properly.
Since the normal map and height map were then sorted out, I figured out how to get a height map as an object in Blender. I did this first through a tutorial using the Blender UI, adding in a plane object, giving it a material, and uploading the height map. By adjusting the “strength” you can get the height differences to be more or less significant and more accurate to what the real-world object is.
Here are the models for a regular quarter coin and a piece of paper (along with the real-world photo of a piece of paper) that we got from manual height map uploads with a DPI of 100.
After those successes, I also wrote code to automatically do this process in Blender, so after pressing the Flatbed 3D Scan add-on button, a few minutes later you would have the object itself in Blender with no other work. I’ll be testing this first thing next week.
Next steps would be to ensure the automatic object creation works and to see if there’s any way to crop the height map or Blender object to only where the actual object is, so we don’t end up with blank white space on the edges of the models. Yon also has his own normal to height map file algorithm that we are going to try and compare with the one I used from another Blender project, so we can figure out which works better and/or faster.
To be able to accomplish the tasks I’ve done through the project, I mostly used online research, tutorials written and from YouTube, and lots of Stack Overflow posts to learn. Some things I had to learn specifically were how to set up and use a Dotnet project, how to use subprocesses, and navigate file directories to run all of these different files properly. I’ve had to learn a lot about Blender add-ons and the Blender library, also how to use Blender itself because the UI elements translate almost directly over into the Blender library.