Our final project, The Exquisite Corpse, is a collaborative sculpting virtual experience, where the players are embodying the avatars of sculptors which are portrayed by ourselves, Sofía and Itay. So the first thing we needed to do was to get a 3D scan of us. For this, we use a structure sensor and the program ItSeez3D.
We tried several times but the scans were far from perfect, so we decided to work on the best one we had of each and then fix texture errors later. Itay’s scan came out decent enough, but Sofia’s was not very good, we decide to use another scan of Sofia’s where she was using all black clothes, but that meant we would have to work more on the textures so both scans were wearing the same attire: jeans and a white shirt.
Itay’s original scan:
Sofia’s scan attempt:
The process of fixing the scans was this: First, the .obj file was first resized in Maya, because the first .obj that is downloaded from ItSeez3D is very small and usually comes slighting down. After being resized we used Wrap3 to morph the scans to a base model, so the polygons get fixed and we can emend some volume errors.
This is how the polygons looked before the wrapping in wrap3:
And this is the process of wrap3, where there is pipeline system to adjust the scan to the base model mesh. The result is a cleaner scan made out of organized polygons.
After the wrapping process, you also get a cleaner texture file, which is what we need to fixed the details and actually know what part of the body we were working on.
This is the raw texture that comes with the .obj file downloaded from ItSeez3D:
And this is how Wrap3 process it:
Even though is more organized, there a lot of parts that are missing info or are super messy, so some serious photoshop had to be done to solved this. Here you can see the process of fixing the textures of Itay’s and Sofia’s scan.
After getting the textures fixed, we added to our avatars boots and an apron to look more like a sculptor.
After having our avatars ready, we rigged them in mixamo so we could have an skeletal mesh associated to our .obj, so that our .fbx file would come into the game, and we could map it’s rigged skeleton to the VR Inverse Kinematic script.
But first, now that we have our avatars ready and rigged we place them in the 3D environment. For now we have a basic version of what we designed for the environment.
This is the design we are aiming for. We don’t have the sculptures made from body-parts yet, but we have a pedestal in the middle, the decorative sculptures in the back, and the mirrors:
We still need to create some human sculptures to set into the environment. We are missing some other objects, like unfinished sculpture, sculpting tools, and some object-trouvée to give it a more surreal and dadaist look to the scene. We planned to create a big sand clock also on the back wall.
But we have a basic environment were we could try ourfirst thing we did was try the VR Inverse Kinematic to see if we could have a first person perspective for our avatars. It is working, but we need to still fix some offset and some movement range, so the movement looks natural.
Once we have that going, we tried to instantiate objects by colliding with something. We first had just a cube that when it collided with the players hand, it instantiated more cubes. Once this was working, we added box colliders and rigid bodies to each part of the avatar body, and tagged it so we could have a script that recognized with which part the player’s controller is colliding and according to that, instantiate a body part. So if the player’s controller collided with a head, then a head is instantiated. Here is a video of how this is working: