Atlantoaxial Joint Interactive

Importing 3D Models into Unity

I adapted the atlantoaxial joint model I created in Zbrush to create an interactive, 3D anatomy learning experience in Unity. This involved cleanup of topology and UV unwrapping in Zbrush. Once I cleaned my model, I imported it into Adobe Substance Painter where I created textures for each structure. 

I added a fill layer with some roughness and height adjustment layers to create a bone texture. Layering alphas in the roughness channel helped achieve the bony texture. Setting fill projection to tri-planar helped avoid tiling of alphas. 

I exported both a high and low resolution mesh alongside texture maps for Unity. I used the low resolution model and applied texture maps to the materials for each structure. 

Scripting with C#

I scripted in C# both manually and with the assistance of ChatGPT. Scripting with ChatGPT was done iteratively where I refined scripts through conversation, indicating the action I wanted the script to perform and what tweaks I would like to the script. Successful generative AI scripting requires knowledge of C# so the user can precisely describe the desired outcome. I also manually edited scripts to tailor, organize, and comment to my liking. 

I created scripts to zoom in and out, rotate the model about the Y-axis, pan around the model, and reset the model to its original positioning. This is done in relation to the main camera in the scene. 

Creating a Quiz

Part of the learning experience I created included a quiz where the user types in the name of an anatomical structure and validates their input. I organized quiz questions into individual GameObjects. I created images for the quiz in Adobe Illustrator. 

My QuizManager.cs script shuffled questions and activated the next question while hiding all other questions so the user could seamlessly press the next button to advance. When all quiz questions were viewed, the end of quiz panel would appear. 

I created succinct instructions at the beginning of the quiz to quickly orient learners. 

Pressing the Enter button validates the text input by checking if the text contains any strings I set as correct answers in my script. Using “userInput.Contains” searches for the string within the text the user typed in so that the answer need not be exact. Some quiz questions only had one correct answer or phrasing, so I used “userInput.Equals” in those instances. 

Text beneath the text entry box appears to immediately confirm or correct the learner to avoid frustration or lengthy guessing, encouraging quick recall. 

View my model in Sketchfab!

I included annotations of anatomy within the Sketchfab model and adapted textures I created with Adobe Substance Painter. I chose more simplified texturing for the Sketchfab model to prioritize quick didactic use. 

Discover more from Grace Herzberg

Subscribe now to keep reading and get access to the full archive.

Continue reading