Categories
Houdini Maya Nuke Substance Painter UnrealEngine

Celestial Misfire – Term 1 Project

Final Output

My Reflection with this project

I’m happy that everything about this project turned out to be very useful for developing my skills, especially in new software like Unreal Engine. I’m also pleased with how well the main shot of my project, the Moon impact, turned out.

The first part of the project involved coming up with an idea and a story, which proved to be challenging. In fact, I hadn’t decided until 2-3 weeks had passed. Initially, I considered a spaceship emerging and destroying a moon, but it felt too simple and lacked a compelling story. After some contemplation, I recalled a scene from the movie Top Gun where a jet maneuvers to evade a missile. This inspired the idea of a jet evading a missile, leading to the missile inadvertently hitting and destroying the moon.

I began the project by building the environment in Unreal Engine, marking my first experience with the software. It was highly beneficial, allowing me to quickly create basic terrains and populate the area with various assets. To add an element firing the projectile at the jet, I came up with the idea of using artillery. Subsequently, I worked in Maya for modeling and Substance for texturing learning those software as well. I wanted to craft a scene where the artillery shoots the plane, and the plane skillfully maneuvers to evade the projectile, causing it to hit the moon instead.

For the moon destruction, I opted to use Houdini for FX due to my prior experience with the software and my career focus on FX. I drew inspiration from an online lesson at Rebelway, where they demonstrated a similar process. I decided to incorporate it into my project. Starting with a sphere and experimenting with various parameters, I achieved the desired effect. This process allowed me to gain valuable insights into VEX language and how to approach certain elements without resorting to simulation. This knowledge proved extremely useful for making quick changes. In fact, out of the five elements, I only used simulation for two, achieving the rest through SOPs.

Story / Concept

FADE IN: 

EXT. DESERT – DAY 

  • The Space Odyssey theme plays as the camera moves from a ground-up shot of a sand dune, revealing a cannon in the distance. 

EXT. REMOTE AREA – EARTH – DAY 

  • A cannon is set up in a remote area. 

INT. CANNON SHOULDER VIEW – DAY 

  • The camera shows a shoulder view of the cannon, capturing a twinkle of a jet flying high in the sky. 

EXT. SKY – DAY 

  • A fighter jet maneuvers around the sky, seemingly oblivious to the cannon below. 
  • The cannon takes aim and fires a shot towards the fighter jet. 
  • CAMERA SLOWLY FOLLOWS the projectile as it travels through the sky. 
  • The fighter jet executes a cobra move inspired by Top Gun. 
  • However, the shot misses the fighter jet and instead collides with the moon. 
  • The projectile slams into the moon, causing a massive explosion. 
  • The moon is destroyed, leaving only dust and debris behind. 

FADE OUT. 

The Space Odyssey music comes to an end. 

3D Modelling in Maya

Reference
Blocking
Modelling
UVs

Texturing in Substance

Import in substance painter
Apply base material
Texturing

Creating Env In Unreal

  • Creating a desert environment in Unreal Engine involves several steps, including terrain creation, asset placement, lighting, and fine-tuning to achieve a realistic and immersive result.
1. Create a New Project:

Start Unreal Engine and create a new project. Choose the template that best fits your project requirements, such as the Third Person or First Person template.

2. Landscape Creation:
  • Create a new landscape by going to the Landscape mode.
  • Sculpt the landscape to resemble the desert terrain. Use tools like “Sculpt,” “Flatten,” and “Smooth” to shape the landscape according to your vision.
3. Desert Materials:
  • Apply desert materials to the landscape. You can either create your own materials or use existing ones from the Unreal Engine Marketplace.
  • Consider adding features like sand dunes, rocks, and desert vegetation to enhance the realism.
4. Sky and Atmosphere:
  • Adjust the sky and atmospheric settings to match a desert environment. You can use the “Sky Atmosphere” actor to control the overall look of the sky, including the sun position and atmosphere settings.
5. Lighting:
  • Configure the lighting to simulate the harsh sunlight of a desert environment. Pay attention to the direction, intensity, and color of the light source.
  • Consider using dynamic lighting to create realistic shadows.
6. Asset Placement:
  • Populate the environment with assets such as rocks, cacti, tumbleweeds, and other desert-themed objects. You can either create your own assets or use assets from the Unreal Engine Marketplace.
7. Post-Processing:
  • Apply post-processing effects to enhance the overall visual appeal. Adjust settings such as bloom, contrast, and color grading to achieve the desired look.
Imported 3D model

Moon FX in Houdini

  • I have decided to use Houdini for FX since I already have some experience working with it. I love the procedural approach, and it allows me to have total control over my FX.
My approach in Houdini
Geometry prep
  • I took a standard sphere, applied UVs for future use, and added a temporary texture for reference.
  • Marked a point where all my fx and reference data is going to take place.
  • Now, I used that point as the origin and created a falloff where the moon destruction is going to take place.
  • I generated custom velocity vectors using VEX functions, pointing outward from the designated point. Adjusted velocity using the previously created falloff mask for distance-based reduction.
Creating source for Dust FX
  • I utilized the previously created mask to form a ring-like shape. This segmented ring will have custom velocity applied and serve as the source for the Dust FX.
Creating Shock wave with the generated source
  • Now, with the source established, I created custom velocity by implementing various wrangles and SOP techniques.
  • To achieve this, I duplicated the source using a trail node and utilized an add node along with an ID attribute to connect the points, forming lines that would serve as the source. Using a foreach loop, I generated lines with various lengths.
  • To make the shockwave originate from the cracks on the moon’s surface, I made these lines as a mask. Using attribute paint, I applied the mask to the interior points of the fractures. Subsequently, I deleted the points that were not marked red and utilized the resulting I set as the source for the pop sim. Once the particle simulation was done, I fed it into the pyro solver to achieve the desired shockwave effect.
Creating Tendrils with SOP
  • I wanted to give more impact to the destruction, So I added trails/tendrils to represent fast-moving debris coming out from the moon.
  • For the tendrils I used lines with various pscale values to get different lengths, and I used a global multiplier to animate pscale which will give the illusion of trail growth across frames.
  • After that, I added some animated noise to make the trail look turbulent. I also applied a gradient with values ranging from 0 to 1, going from the origin to the end. This data is used to control the width of the trail.
  • I converted the result into geometry, then transformed it into a VDB for the dust effect. Additionally, I applied an overall time remap to enhance the impact.
Fracture of surface in SOP
  • To fracture the surface of the moon without relying on simulations, I opted for a SOP-based approach, incorporating extensive VEX coding.
  • Initially, I prepared the geometry by implementing cuts with a custom object and added interior details to the inside geometry. Subsequently, I extracted the centroids of all the resulting pieces and applied a mask ramp using a mask attribute created at the begining. This attribute allowed me to define the desired area of effect on the surface. Lastly, I utilized clusters to group the pieces into clumps.
  • In the final step, I used VEX code to manipulate the intrinsic transformation data, modifying inner transformations. Utilizing the attributes created earlier, I adjusted these data to simulate the effect of an RBD simulation. Custom ramps were also implemented to provide precise control over these attributes.
Manipulating pieces with VEX
Secondary Sim (Debris)
  • To enhance the impact, I implemented a particle simulation to depict the scattering of debris after the moon was impacted.
  • Initially, I took the animated fractured geometry and converted it into points to serve as the source for the particle simulation. Utilizing speed culling, I removed stationary points and then crafted custom velocity, resembling a crown splash effect.
  • After preparing the source, I integrated it into the particle simulation (pop sim). Further refinement was achieved by introducing variations in scale and applying random animated rotations to the resulting particles.
  • To streamline rendering speed, I opted for a straightforward approach by substituting the particles with a simple Octahedron shape in the final visualization.

Breakdown video

Leave a Reply

Your email address will not be published. Required fields are marked *