A collection of some of the Technical Art tools/shaders/etc… that I created whilst working on Riptide. This is not all of my work on the game, but rather a collection of mini-projects that I felt were worth showcasing.
Houdini
Asteroid Generation
Procedurally generated asteroid meshes with automatic in-engine material application and collision, along with Nanite support in UE5.
Crystal Generation
Procedurally generated crystal meshes with automatic in-engine material application and collision, along with Nanite support in UE5. Custom shader using Houdini generated texture maps. Placed in-level using foliage tool.
Multi-Material UVing
Developed a Houdini tool to work alongside an established art pipeline to assist in overhauling our in-game materials from an atlas based approach to a PBR system. Artists assign mesh materials in modelling software, Houdini handles importing the model and creating multiple texture sets based on the number of material inputs. The final model is UVed and has assignable materials in-engine. The whole system is fairly simple in principle, but very effective and quick.
ACKNOWLEDGMENT: This is not a memory efficient approach to materials as it results in several draw calls for the same mesh. BUT considering the time constraints and project scale and limitations, this approach did allow us to increase our visual fidelity without having a large impact on game performance. This tool could be upgraded in the future to support a more memory efficient approach.
Planet Generation
To create the planet in the second level I used Houdini to generate a landscape heightmap. I used vex to create the rough shape of the crater and then used other landscape erosion tools to blend into the surface. Once the heightmap was generated I used it to displace geometry on a Nanite enabled sphere. Planet was textured in Substance Painter.
Pipeline
Master Materials
Developed a primary Master Material to allow artists to quickly implement and edit their materials in-engine. Allowed for a faster and more efficient art pipeline.
Texture Atlasing
Master Material used early in development. Made so artists could quickly change and edit color values on meshes. All masks are created procedurally and the whole material uses no textures.
Python Assisted File Restructuring
Used my Unreal Prefix script to assist in completing a complete project file overhaul along with the programmers.
Shaders
Crystal Material
Procedurally generated vertex color maps for Height, Edge Wear and AO. Camera based depth effect & World Position based random color assignment.
Ship Shield
Scrolling grid based textures. Dynamically adjusting texture and color based on in-game values. Ship shield mesh generated in Houdini.
Blueprint
Main Menu UI
Worked with Designers and Programmers to create a dynamic main menu with moving cameras, multiple sub-menus, and scrolling credits.
Environmental Blueprints
Animated and assembled assets within the environment using blueprint. E.g spinning space stations and planets for skyboxes.
VFX
Engine Plume
Dynamic engine plume for main player ship. Length and color scales with throttle input.
Impact Debris
As player bullets impact asteroids within the environment debris erupts from the point of impact. Worked with Programmers to implement effect functionality.