Inspiration
The project was inspired by my own history with body dysmorphia and negative body image. I felt like having examples of normal, non edited bodies would help people get rid of the unrealistic beauty standards women are exposed to on social media.
What it does
Body Imager displays 3d models of the female body, made to be realistic and not idealistic. The user can select different models with the digits on the keyboard, and change the camera with the mouse.
How I built it
I used Rust and Bevy for the programming side of things, and MakeHuman and Blender for 3d modelling.
Challenges I ran into
I had to learn how to 3d model, as I had no experience. Additionally, I was at an FRC competition Saturday, so instead of starting at 9 AM like everyone else, I started at 9 PM. It had also been a while since I had last used Rust or Bevy, so I had to re-familiarize myself with those tools.
Accomplishments that I'm proud of
On a technical level, I'm proud of the 3d rendering work that went into this. Bevy has no editor. Everything about the rendering is done in code, without the shortcuts offered by other engines. I am also proud of learning basic modelling quickly, although this was helped by the MakeHuman project significantly. On a personal level, I'm proud of making a tool that can help girls like me combat the issue of negative body image and unrealistic beauty standards.
What I learned
I learned a lot about 3d modelling, and about rendering. Bevy is very low level, so I had to learn a lot about the technical details of the glTF format and how that turns into an image on the screen. I also learned plenty about Rust, as I had to use some interesting features of the language that I had not used previously.
What's next for Body Imager
I view Body Imager like a museum, with the goal of teaching other women what a normal and healthy body looks like. As such, I want to make it as refined as a museum. I want to make more models to start, and create a better UI for selecting them that does not limit me to 10 models for the 10 digits on the keyboard. I think ambient music and a better background than a flat white plane and gray sky would be helpful in making the program feel comfy, as it is a heavy topic and I want people to not feel stressed. For learning purposes, I might add more graphical options. I only learned about some rendering features, and I'd like to learn more by implementing them into the project. I think anti-aliasing would be a good first step, likely with FXAA.
README
Since the binaries are very large, I did not include them in the git repository. To run Body Imager, enter the project folder in a terminal, and run "cargo run --release --features bevy/bevy_dev_tools".
Log in or sign up for Devpost to join the conversation.