Back

Freelance: Tasty Tech   - Summer of 2022 

    (Scripting, Rigging)

This Job consisted of 2 parts. It was for a software that took pictures of teeth and generated an interactive visual of the teeth with ai. Since everything is proprietary (I don’t have access to all the work anymore)  I will not be able to show any code or even pictures of the teeth models I used in this Job, but I will explain the general process I took:

  1. Mesh Processing
    For this step I was given
    1000 meshes to “process .” This included 3D model scans of the before and after of many different patients' aesthetic teeth surgery.

    Processing : I needed to separate each tooth/gum of the mesh into different objects, name each object according to a specific naming scheme for the tooth/gum position, and then save it out to two separate files for the lower and upper halves. This process would be repeated for each before and after for all 1000 meshes.

    I wrote a blender python script : it selected all objects, separated them by loose parts, then batch renamed them in the correct naming scheme based off of the relative positions of each mesh. I didn’t auto export/import as saving the filename of each patient was too specific and I had to double check the batch renaming went smoothly. This was still a tedious task, but my script still made it exponentially faster.

  2. Rendering the Dataset
    This next step was much more involved. I had to create a dataset by rendering out the teeth in different angles and with different camera setups simulating real world cameras. At the same time I had to create a rig of a human mouth so the teeth could be shown with different mouth/lip positions and in varying shapes



Above shows the camera rig consisting of two curved tracks that the origin of the camera would follow to create different angles. This combined with moving forward/backward.

Since the teeth were different sizes I had a process that accounted for that and changed the size/positioning of the mouth rig. This is done with the green box above that detected how far any mesh would move past its boundaries.



The teeth needed to be color coded for specific values of each tooth. For this I made sure the render consisted of completely flat colors. I made preset materials that would automatically be assigned to the correctly named objects.

The rig itself consisted of controlling a tongue, lower/upper jaw, and the lips. I skinned and remeshed the mouth in a way so it would deform well. To create different sizes of mouths/lips I made many different shape keys that could be combined together.

After all this setup the only thing that had to be done was finishing a script that would import and export the over 1000 obj files of teeth in the exact specified format.


Back