Wednesday, November 19, 2014

Visual Effects 2: Houdini Fluids Final

My final project for this month in Visual Effects was to create any effect in any program we desired. I decided to branch out and continue using Houdini to create fluid effects. I decided to stick with the subject I've used throughout both Visual Effects classes; Deadpool. To keep with the random and silly style, I decided to create a water balloon dropping and splashing on Deadpool, spraying water everywhere around him.

To start, I quickly posed the Deadpool rig I created (See it here!) and also modeled a water balloon in Maya. I imported those into Houdini using Geometry nodes and replacing the files. Along with this, I brought in the texture for Deadpool, as well as a wall and floor texture that I placed on flat planes.


Some textures do not show up in the viewport

Next, I placed the water balloon geometry above the character and applied gravity to it. This allowed it to fall like it would in real life. When I found how far the object would fall over a certain period of time, I deleted the gravity on it and hand-keyed the motion. By not leaving the gravity on the balloon, I am able to make sure Houdini doesn't do extra calculations for a rigid body that will be hidden very quickly and won't even be seen. I also keyed the shape of the water balloon so that, as it came in contact with Deadpool's head, it would squash a bit so it didn't just explode the second it touched his head.



Now that the easy stuff was taken care of, now it was time to create the fluid effects. I simply created a duplicate of the water balloon and turn it into a fluid. By doing this, the new balloon-shaped water received gravity, which allowed it to fall down. I also turned Deadpool into a static rigid body, meaning the water will collide with it. One big problem that happened by dropping the water from the highest point is that, by the time they actually hit Deadpool, the water would disappear in air. To fix this, I decided to lower where the fluid dropped from and made it hit the head at the exact same time as the actual balloon. When these were timed right, I set it so that right after the balloon squished for two frames, the balloon would turn invisible and the water would turn on, so it appears like the balloon had popped and released the water.


Frame showing the balloon falling, and switching into the water

I now added white water to the fluid to give the water a splash effect after hitting Deadpool's head. Now came the worst part of this project... The waiting. Houdini's fluids come with a "Particle Separation" setting, which turns up the quality of the fluids. While this makes the fluids look amazing, it also cranks up the simulation time. At its worst, one frame of the simulation took over 20 minutes.

I tried for over 24 hours to create a memory cache, or running through the simulation once, and Houdini will continue to use that cache for as long as Houdini is open. This worked, until Houdini crashed every single time. I eventually gave up on this method and resorted to using actual cache files. This process actually ran A LOT faster than a memory cache, and actually saved the fluid motion. This cache only took about 5 hours to complete, and worked perfectly! The downside? Now I have a folder of almost 35 GB of cache data!

Once everything finally worked the way it was supposed to, I quickly ran a Flipbook test to see how the particles moved together smoothly, which I believed was realistic looking (though it does look like a mess because of the whitewater and spray). This low-quality version of my final render assured everything was working.



With everything finally working the way it was meant to, I set my scene to render at high quality. After 10 hours of waiting for the render to finally finish, I was given this final result below!



This project was a test on its own, and really pushed me to my limits. I played with a program I've barely used for a couple months to create a realistic water simulation, and it was very stressful. But after a week of work, and 35 hours of waiting for simulations, caching, and rendering, I'm very happy with what I have! I hopefully won't have to touch Houdini for a while, or ever again!

- Drew

Saturday, October 25, 2014

Character Animation 2: Lip Synch Final

For my second and final project of the month, I was given the task of animating our character to a clip of audio, as well as animating the face and mouth to lip synch the character with the audio. I have to say that this was one of my favorite assignments of the last year!

More info coming soon!



Wednesday, October 22, 2014

Software Technologies: Houdini Marble Machine

My other class this month has been Software Technologies, a class that allows us to use new programs similar to the programs we've used cor the last year. This allows us to branch out in case we land jobs that do not support our accustomed programs like Maya. One of the programs we've been learning has been Houdini, which is like a mix between Maya and Nuke. The node based layout allows for you to visualize the edits you make to your scene, while the program reacts similar to Maya.

Our job for this project was to create a marble machine using rigid bodies which are already in Houdini's interface. Together with my girlfriend Kaycee Kendrick and our good friend Emily Childrey, we modeled out our pieces for our scene using Maya, a tool we were much more comfortable with. We then took all of our individual objects and imported them into Houdini using file nodes and transform nodes to place them in the correct position.


I wish I could say that everything went smoothly after this point to the end, but that could not be farther from the truth. That would be too easy, now wouldn't it? Houdini is such a very complex program, but a lot of the complexity runs beneath the hood, and everything usually works. Turning the marble into a moving rigid body worked perfectly, as it reacted to gravity and contacted other objects. The problems came when we turned the pieces of the machine into static rigid bodies. When the ball would pass over them, the ball would react to a non-existent bounding box that did not make sense. We searched high and low and eventually found that by playing with different elements of the rigid body solver allowed for the marble to react with the objects properly.

With that issue solved, the simulation could begin. First, an invisible cube on a motion path pushed the ball off the platform and into the machine. The ball would then react with, and roll down a slide.


 The ball then leaves the slide and falls onto a funnel, where the ball would spin around a few times until finally falling through the hole in the middle. We encountered a new problem here, as the ball would randomly clip through the funnel and fall to the floor. We found out that this was caused by the funnel not having very much topology, so when the ball would roll over a large face, it would not realize it was colliding with the surface, and would fall straight down.


Next, the ball would fall out of the funnel and into a tube where it would roll down and into a paddle. Simple, right? Nope. This particular piece did not get fixed as easily as the other objects and their bounding box issue. No, this time we had to change some settings in the ball as well to make it react properly, and it still has some issues. Regardless, it worked for what it was.

One problem that we noticed with this piece is that there was a clipping issue behind the tube as the ball fell. From the front, it is somewhat apparent during the final render. To fix this, I decided to do a quick camera cut which would not show the front of the ball falling through the floor for a few frames. I feel that this helped solve the issue easily, while keeping the quality of the animation.



The next piece of our marble machine was to knock over a paddle which would land on a seesaw. You'd think that hitting an object straight on would make it fall forwards? Well not according to Houdini. The paddle had a tendency to flop around and not even fall forwards at some points. I thought that it may have been clipping through the floor which was making it freak out, but I had lifted it up to avoid this. I actually had to lift it up very high and let it fall down. This allowed it to avoid the floor and fall properly on the seesaw.



The final section of our simulation is to have the ball launch off the seesaw into a cup. As the theme goes for this project, nothing worked as expected and this is no exception. We thought the force of the seesaw would be enough to launch the ball pretty high or forwards, but instead it launched it up about 3 inches. We worked with what we had, but found that the ball kept clipping through the cup. This was just a simple subdivide to fix, but it still clipped at the back of the cup. I decided to use another camera cut to avoid showing the back of the cup at all. After all was said and done, all I had to do was light the scene with 4 or 5 point lights and some visibility swaps.




And remember kids! Don't forget to set your project when you're rendering out! While I was doing test renders to see how Houdini's renderers worked, I rendered those images to my desktop. Stupid me forgot to change that output folder when I did the final render... And that's the story of how I had 450 files on my desktop that I couldn't stop.




All said and done, this project was honestly a big pain to work with. Compared to the rigid bodies, cameras, keyframe, lights, and just about everything in Maya, Houdini is not my favorite program to work with. Luckily, this was more about testing the program more than anything. Below is our final render! We hope you enjoy it!



Our team:
Drew Kedra: http://drewkedra.blogspot.com
Kaycee Kendrick: http://kayceekendrick.blogspot.com
Emily Childrey: http://emilychildrey.blogspot.com

- Drew

Character Animation 2: Pantomime Animation

Of all the classes I've taken over the last year at Full Sail, Character Animation 2 is by far the best class I've been able to take! As the name suggests, this class is all about animating a character to create believable movements and expressions. Along with this, we also needed to create pre-pro sketches/storyboards (as with any animation), as well as a character back story to help us understand the character more easily.

This particular project was to create an animation showing a change of expression while completing a task. I decided to take the task of receiving a box. From the start, I wanted to show excitement to shock, which I achieved by implying the misfortune of the animal in the box he's carrying.

I started out by sketching out my ideas into simple storyboards and exploratory sketches that would be the basis of my animation.

 Some of the sketches used for the final shot

As an animator, sometimes it's easier to film yourself for particular movements, and base you work off of that. Well that's exactly what I did! By filming myself, it was a lot easier for me to visualize exactly what I was trying do, and I believe it really aided in my final shot. And yes, it was embarrassing, but that's what being an animator is all about!

Shots of me acting out my storyboards for better reference

 Now that I had enough reference, I began working in Maya for the final shot. I worked a lot with camera posing, character staging, acting, and faces to complete this animation. My work flow starts with blocking out all the main poses in Stepped animation, as well as adding anticipations and moving holds to create more realism. Once everything is all set up properly, I switch into Auto animation, which allows me to create smooth movements. After fixing up any poses, I move to secondary action in the arms, as well as appendages like the character's antennae and tail. Finally, I animate the facial expressions to the character.

I'm more than happy with the result of this animation! Two weeks worth of work on top of another class and a month long art test, I couldn't be happier with the final shot. Though I feel like there is I could have done to improve the overall quality, I am very pleased with the work I put in and look forward to the next project!


- Drew

Thursday, October 9, 2014

Motion Capture: Final Project - Bowling Barrage

I'm a little late with this post, but I feel like I needed to show my final project for Motion Capture here. This was by far one of the most fun projects I've ever worked on, and I enjoyed every single minute of it! Our job was to create a short animation using our own directed motion capture files. We would then take need to clean the files up and exaggerate them to make them appealing.

We actually started out in a bit of a funk, and had writers block for most of the first day. I randomly thought of the idea to have two bowlers competing against each other in their own styles after going bowling with my girlfriend and seeing how our friendly competition worked. After a group meeting, the idea stuck and the pre-pro began!

I first started out by drawing up some quick storyboards to plan out our idea. Below are some of the frames that I drew up that would eventually become our final shots.


Once our story was down, I worked together with my friend and colleague Taylor Gallagher to model assets for the bowling alley scene, as well as my other group member Sean Olimpo to create textures for the scene and the characters. We were really happy with the results and feel that the work we put in raised the overall quality of the project.

We then took our ideas into the motion capture room an with the help of our classmate Aaron Stoll, we recorded our motions into Cortex where we cleaned them up and fixed any issues with our data. Our next step was bringing it into Autodesk Motion Builder where we attached our character motions onto actor rigs.
With the actors moving, our jobs were to take all the clips, add the ball constraints to the characters, and add extra animation layers to better enhance the motions to make the whole scene more appealing.

Next, we took exported the actor animations as a .FBX and imported them into Maya with the characters and the bowling alley. All that was left to do was for me to clean up any problems with the layered animation in Maya, lighting the scene, creating the right camera shots, and finally rendering out the scene.

We had a lot of fun doing this, and we've been updated by our professor that our project was the best in the class, and one of the best he's seen! We're really proud of this and hope you enjoy it!


-Drew Kedra 

Sunday, September 28, 2014

Visual Development: Final Project

For the last three weeks of Visual Development, we were given multiple tasks to create one final piece using the objects in the scene. These included a box with a sticker and blood/dirt that we had to light and place with bump, the scraper from my previous post, and a bottle of soda that we placed a label on and created the liquid inside.

With each render of the objects, we needed to render in different passes or renders that only show one type of lighting from each render, including the full beauty pass, diffuse, reflection, refraction, indirect, and specular. Each of these passes is shown on the bottle below (which I created the textures for the glass and the liquid, plus added bubbles, dirt, and a label to the bottle).

Reflections render pass

Refraction render pass

Specular render pass

Diffuse render pass

Indirect render pass

All of these passes together lead to this final pass, or the beauty pass, which came out pretty nicely in my opinion.

Final beauty render with all passes combined

After we rendered out the bottle, we rendered each pass for the rest of the objects in the scene as well. We also rendered different lighting setups for each render, each with a different type of lighting, including Warm Light, Cool Light, and a Key Light.With all three renders, we then brought the .exr files (which contained each render pass for each type of lighting setup) into Nuke, where we shuffled out each pass. This allowed us to individually edit different passes which gave us very different results depending on what we edited. For example, editing just a specular pass allows us to change the color of the bounced light without editing the entire piece. This allowed us to create many different types of the same project. Below are my final two final pieces, the original yellowish image and my final cleaned up work.

 Original final render
Final render edited in Nuke

This class was very helpful for me in shading and lighting. Considering it's been almost a year since my last shading and lighting class, Visual Development has really helped me use new techniques in Maya, Photoshop, and Nuke that can help my renders look even better!

- Drew

Saturday, September 27, 2014

Visual Development: Scraper

This month, I took two classes. One of them was Visual Development, a follow up to Shading and Lighting (nine months after the first class...). The class was essentially creating different effects on objects using one material in Maya and how the lighting on them would create different results. We also needed to properly UV an object and create a texture map for that object.

We worked on the final scene for the last three weeks of class, starting with the object we were going to texture. We were given the choice of working with a gear, or a paint scraper. I chose the scraper, because the UVs were not easy to lay out, but the textures were not too difficult to create. We first started by assigning a surface shader to the object with a number grid laid out. The purpose of this is to line up the edges of the object to create seamless lines on the scraper, so that when an actual texture is applied, the it is seamless.

The plain scraper with no textures applied

Scraper with the number grid laid out

The UVs for the scraper laid out in the 0 to 1 space, using all available space

Our next job was to take our UVs and bring them into Photoshop, where we would use the tools there to create a texture for our object. I was given basic shots of the scraper, and needed to use those to create a final texture map using the original images. Using the clone stamp tool and masking, I was able to duplicate areas of the texture to fill in areas, and also remove highlights.
  Texture for the scraper created in Photoshop

Finally, we brought our textures back into Maya and applied it onto the scraper model and adding a basic bump onto the model to give the appearance of depth.
Final render of the scraper with bump added

All in all, this project helped me learn a lot more about properly creating UV maps, as well as using tools in Photoshop to create a realistic texture from reference and applying them in Maya properly. The second half of this project will be posted soon!

-Drew

Sunday, August 31, 2014

Character Animation 1: Walk Final Project


This is the final playblast of my final project for Character Animation. I can honestly say that I learned a lot more about walk cycles and posing than I thought I already knew.I had a lot of fun with this project, and I know that the skills I've learned from this project will aid me greatly in the future.

Even though a lot of us probably thought a simple walk cycle is boring, but it really lays the ground work for future work, and the only way I can become a successful animator to understand as much as possible about animation and how to properly use it.

Hopefully, I will get a chance to re-upload a higher quality video on here to show the character's expressions more clearly, but I'm really happy with my final result, and I'm glad I was able to accomplish this project! I look forward to more animation in the future!




- Drew

Friday, August 29, 2014

Visual Effects 1: Soft Bodies: Deadpool makes Breakfast

For our final project for Visual Effects, we had to create a video using at least one type of soft body. That was literally the entire description of the project! We could do anything we could think of as long as it included soft bodies. So naturally, I decided to use my Deadpool rig one final time.

I think this was my favorite project yet, so I made sure to have a lot of fun with it. The soft bodies were not too difficult to make look right, so I didn't try and make it too complicated. The butter melting and the pancake forming were enough for my soft bodies, and I also added some extra particles to the butter to act as bubbles.

As for animation, I really loved animating this project. Between rigging and animating Deadpool as a whole, as well as rigging and animating the pancake, I can say that I feel like I've greatly improved over the last few months and I am confident in my animations. I look forward to posting more of my animations here, and hope you'll enjoy them as well.




- Drew

Visual Effects 1: Particles - Deadpool Plays with Fireworks

For our second project of Visual Effects, we had to create a scene using at least three different types of particles within Maya. Just like the last project, we were able to create anything we wanted as long as we met the requirements.

I took advantage of the opportunity to use my rigged Deadpool model again in this project, and I really enjoyed it. Particles were not too hard after I figured out how to make each particle work properly. It was a lot of fun to make this project, though I had not finalized my rig at this point, so I was forced to work in FK for picking up the firework (which is nearly impossible). I animated everything, created the background of the scene, as well as the rig for the Deadpool model, and all of the particles. I also edited the video and added all the sound effects.All in all, I loved making this and hope you enjoy it!




- Drew