SDGM-560

Repository for SDGM-560 Project


Project maintained by deepspacebanana Hosted on GitHub Pages — Theme by mattgraham

Taizyd Korambayil SDGM-560 Blog

Week 1 - Transition Effect Prototype 09/14/2018

For the first week as we as a group decided on what the project would be and the kind of effect we are doing. Since we are dealing with a transition effect where a car transforms from and old model into another I decided to do a quick prototype shader in UE4 that we could use as a Previs element in out pitch.

Shader

The shader is essentially driven by a linear gradient generated from the Forward Vector of a Location Blueprint. The geometry is masked and swapped based on which side of the locator BP it is on.

Shader Nodes TestShader

The Location of the Blueprint Actor is fed into the shader using a Material Parameter Collection fo Convenience.

BP Locator Setup LocatorBP

For the final effect we intend to make use of Houdini’s game sheld tools to bake out Pivot Points and also bring in cached geometry animation from houdini and implement these in Unreal using shaders and Blueprints to drive them in real time.

FX Reference

ref01 ref02 ref03 ref04 ref05 ref05

Week 2 - Pivot Painter R&D 09/25/2018

This week I spent some time looking into the Game Shelf Tools in Houdini, specifically the Pivot Painter SOP. I used this tool to bake out seperate pivot locations for each poly on the surface of the car into the UV channels, and accessed them in unreal to create the dissappation effect. The limit with this effect is that it is dictated by the topology of the Mesh.

Test on Car Model ref05 ref05 ref05

Houdini Setup Below you can see the setup I am using to bake pivot locations to each face, I scatter points at the center of each poly, and transfer a name attribute to the points that make up each primitve so it knows which scattered point to use as it’s pivot. The Pivot Painter SOP then bakes these locations into additional UV channels of the mesh.

Network
ref01 ref01

Setup in Unreal Engine In Unreal I modified my Shader from last week to make use of the baked pivot locations to displace the polys based on the location of the blueprint to drive the Transition. There are Parameters to control Displacement Amt, Falloff and Effect Radius.

Displacement Amt: 32 ref05

Displacement Amt: 512 ref05

Shader Network: ref01

Troubleshooting: The Pivot Painter SOP sometimes still exports geometry with incorrect Pivot Locations and flipped faces, resulting in unclean geometry inside unreal.

Next Step:
1.Try and export pivot locations for each part of the car so that we can prototype the Disassmbly type effect that was suggested by Todd last week.
2.Try exporting out vertex animations from houdini instead of driving the effect procedurally in unreal.

Week 3 - FX Update, Piece chunking, Variation 10/02/2018

This week I spent some trying to implement Todd’s suggestion of having individual pieces of the car disassmble and reassemble. For this I needed to update my houdini setup to chunk pieces together and assign the same pivot location for each piece. I also tried a quick variation shader in UE4 where the car would swirl and morph into the other.

ref01 ref01 ref01

Houdini Setup Update

I had modify my houdini setup to account for chunking and find a way to scatter the pivot location points at the center of each group.For now I am using spherical normals for the pivot direction, which is what casues all hte pieces to fly out in an outward spherical direction. Moving forward these will be grouped to work better gor how we want the effect to play out. Groups Visualized: ref01
Scattered Pivots Visualized: ref01

Network
ref01
Below is the VEX code that scatters points at the centroid of each group. ref01
And below is the VEX code for creating groups from attributes, in this case using the @class variable generated by the connectivity Node.
ref01

UE4 Setup updates

In unreal I updated the technique I was using to drive the transition, instead of using the forward vector of one blueprint to drive the transition mask, I switched to using a linear gradient generated from the distance between a BPstartLocator and a BPEndlocator. This allowed to drive the transition from any 3 dimensional axis we want instead of being limited to the XY plane with the old technique.

Different Axis
ref01

Influence Radius
ref01

Updated shader Network

I’ve updated the shader to have more parameters to control the final look of the effect in realtime, like influence radius, Displacement Amount, Enable/disable Rotation, Falloff etc.

Shader Network

ref01

Parameter List:
ref01 ref01

Next Steps

  1. Start Working on Look-Dev for the effect, more elements.
  2. Wrap shader into Material Function for easy layering onto any surface shader
  3. Try some more variations on transition effect
  4. Try Simple composition in Nuke with shaded Models from Haley and Brian.
  5. Implement feedback from this week.

Week 4 - Houdini Troubleshooting, Transition Variation 10/09/2018

This week has mostly been troubleshooting on my end, moving individual pieces by hand and transferring data from the processed mesh to the Final Shaded Mesh, is proving a little difficult as the Mesh Topology has changed on the actual mesh. So this may require a little bit of backtracking on my end, as well as redoing some of the tedious bits by hand.

The other problem was getting houdini to export the model with the Assigned Material ID’s, the obj format reads Material ID’s into houdini but when exporting FBX the the Material ID’s would not transfer, so that required a bit of wrangling.

Below I’m moving individual pieces by hand to get more deifned movement

ref01

Pivot rotation based in location in space

ref01

Vex Code to set normal rotation based on location in space

ref01

Pivot locations Transferred to pieces on base model

ref01

Transition Shader Variation

Since a lot of my work this week had been trouble shooting, I needed to take abreak and work on something else, so I created a variaiton on the shader based transition effect.

Sequence Breakdown ref01
ref01
ref01

ref01

Car Schematic View This was a test for aholographic schematic view of the car. The idea is to have the car transition into this schematic view before the pieces fly away to try and sell the original effect better.

ref01

Shader Network

ref01

Custom Function

ref01

Next Steps

  1. Start Working on Look-Dev for the effect, more elements.
  2. Try some more variations on transition effect
  3. Try Simple composition in Nuke with shaded Models from Haley and Brian.
  4. Implement feedback from this week.

Week 5 - Testing on shaded models, Variation 10/09/2018

For this week, I converted the shaders into Functions and added it to all the car shaders in our project. To see the effect on the shaded models.

ref01

I also tried another variation for the transition effect using pivot painter and curl noise in the shader to drive the motion. Below you can see the test on the UE4 mannequin:

ref01ref01

And below the shader modified to work as a transition effect

ref01 ref01

To do for Next week:

  1. Help Brian with bringing in car animations to UE4
  2. Test Animated car comp with Fx
  3. Switch Hailey’s car to use Material Instances
  4. Feedback from this week

Week 6 - Testing FX with Animated Shot, LookDev on FX 10/09/2018

This week after the feedback from the mentor’s, the primary goal for all the teams was to start putting together the shots, and keep showing progress on the mfor the rest of the quarter. So we did the same, I made a rough pass of the FX in the Animated shot, I still need to work on the Timing and Keyframing of the FX transitions. We also, ran into some challenges with the Camera Animation for this particular shot as the Camera Pan would desync, when we tried to render out the Frames from the Engine.

Fx Sequence
ref01

Rough keyframed Shot
ref01

Hologram Shader Setup:

As I had alluded to last week, we decided to ahve the cat transform into a hologram before it transformed into the other car, jsut to sell the effect better. Below you will find the shader setup for the Hologram.

ref01
ref01
ref01

Week 8 - Glitch FX for Shot 1, Creating FX Pass Pipeline, Keyframing Shot 02 10/09/2018

This week I spent some time making a glitch FX for shot 01. The group felt that we needed some sort of anticipation in Shot 01 before the full transition happened in shot 02. For this we referened the glitch-teleport effect in Wreck-it Ralph where the character Vanellope would occassionally glitch out and teleport around.

ref01

Our implementation in shot 1 ref01

Shader Details:

ref01

We also put together an FX Pass, so that the FX could be comped on seperately from the beauty render.

FX Pass shot 02 ref01

Beauty Render 02 ref01

To Do: Figure out a way to render a FX lighting pass.