Over the years, I have learned and enjoy in creating scans for gaming. I built my own scanner to achieve the best possible textures. My primary focus is on foliage, which presents an even bigger challenge due to the short lifespan of the subject for scanning. Recently I also focus on a complete pipeline, here is some of it.
Software : Substance Designer, Python, PyCharm, DetailsCapture
Photometry - 2024
I recently wrote a Blog article on Art Station. I wanted to add it on my website as well.
"
Introduction
Hello everyone,
I've been working on a personal scanning project for a few months now. Today, I want to share my journey through this article, explaining the different stages I've gone through, the challenges I faced, and the successes I achieved.
The Beginning
A bit over four years ago, in early 2020, I built a prototype scanner and used it for three months. This allowed me to learn and understand photometry, and to introduce this technique at Wild Sheep Studio in Montpellier, where I was working. Although I had to stop due to a lack of time and space (yes, it takes up quite a bit of room), I managed to sell a few scans on the ArtStation Market.
The revival of the idea
The idea of resuming scanning for a personal project stayed with me. At the end of 2023, when my journey at Wild Sheep Studio came to an end (thanks to economic layoff), the idea of creating a new scanner with an intuitive pipeline resurfaced. Motivated by the challenge and the free time, I began to envision a complete and automated workflow. I also wanted to learn Python to enhance my technical skills. The idea was simple: capture, calculate, and browse a bank of scans, all done independently without external software (except Substance Designer), and automated as much as possible. I wanted to view my scans in one go, filter them, and know the production states of each scan individually. I aimed for something simple, intuitive, and efficient.

Building the prototype: The multitask
With this idea in mind, at the end of 2023, I prototyped the interface and workflow on Miro. Then, in January 2024, I started the project by gradually learning Python with the help of tutorials and ChatGPT. Simultaneously, I worked on the physical scanner, modeled it in 3D, and researched the necessary materials for its construction.
For this part, I want to credit Erik Christensen, as I was greatly inspired by his blog post for the structure of the scanner. You can find it here: [Building a Photometric Stereo Scanner - Part 1: Framework]
His design is modular, sturdy, and customizable. This is also where I discovered aluminum profile, which met all these requirements. At the same time, I researched the best camera for the job. I chose a second-hand Canon 5Ds R, an excellent quality / pixel / price ratio. After receiving all my pre-cut parts, I began assembling the scanner, hoping nothing was missing and everything was the right size.
Solving Technical Issues
Gradually, I improved data organization and built the scanner frame in my living room. For the lights, I used outdoor floodlights, which were affordable and powerful enough (as polarized filters on the lights and the lens absorb a lot of light). I reused the Arduino from my first scan to control the lights, using nine relays for each light source (8 for the lights and 1 for the light panel). By integrating Python with the Arduino, I created an interface to control each light individually. At this stage, I had a functional scanner structure that allowed for lighting control.

The Final Step
Finally, controlling the camera without external software was the most challenging part. It took me several weeks and the help of two more brains (thanks PA and Elie) to set up the API and properly handle data from an open-source project on GitHub. Once communication between my Python project and my Canon was established, I synchronized the capture and lights, following a strict file naming and organization system. For better scan management, I set up the generation of thumbnails and preview images directly in my interface.
Processing and Automation
Once the main settings were in place and scans were possible, it was time to process them. I used Substance Designer to create automatic processing templates. I automated the input and output of files and set up a system to export textures and renders directly from my interface, without even opening Substance Designer, thus simplifying and speeding up the workflow.
Final Adjustments and Future Projects
I also had difficulties with Substance Designer in getting perfect Normal maps. To fix this, I used DetailsCapture, adding a step to my production but yielding better quality results. I combined all export operations into a single Substance Graph, allowing me to open the project once and export all necessary maps in one go. Finally, I automated the creation of Zip files containing all scans ready to be uploaded to ArtStation.
And that's it! I have an almost complete pipeline that allows me to capture scans, with meticulous data management. The entire process is nearly fully automated, from scan capture to the creation of the final .zip file. Although my PC struggled with 8K exports, new RAM is in order to improve performance. There is still much to do, improve, optimize, and clean up. Now it's time for production and experimentation as the seasons go by.
Conclusion
This project was a three-in-one: creating a photometric scanner, setting up an automated capture system, and building a scan bank manager. It was a real technical challenge in learning and implementing a personal project. Working solo, starting from scratch, and progressing little by little into the unknown. It took me a while to even talk about it online. There is still much work and finishing touches to enhance the user experience. I hope my story can inspire others to pursue their own projects with passion.
If you have any questions, feel free to contact me."
Photometry - 2020
Back in 2020 I created my own photometric scanner and discover the joy of capture the real world! I shoot with a Sony a6000 and calculate the texture on Substance Designer. Here some of them.




Albedo

Normal

Roughness

Translucent

Opacity

Here is what is looked like. 4 angles
I used a scanner I built to make them, thanks to Dave Riganelli who first inspired me to create my own!
I manage to extract the albedo, normal, height map, roughness, opacity and translucent maps.
Everything is controlled by bluetooth and a computer using Arduino so as not to move any component during the capture.
-
For reflections, I use a polarized filter, which means true Roughness and true Albedo
-
For Transparency and Opacity I use a light panel under my leaves
Then I use a custom template graph in Substance Designer to create and extract the whole maps
