top of page

Lightforge Games

Export Tool Features (python)

  • Asset Batch Exporter​

    • Processed animation, rig, and model files automatically with appropriate handling depending on the scene.​

    • Performed source control processes for both Plastic SCM and Perforce, in order to ensure proper handling of files in a multi-artist environment.  Automatic workspace collection and processing that would take the guess work out of the artist's hands.

    • Automatic reference path corrections based on incorrect user environments.

    • User friendly asset list consolidation and filtering that would only provide a list of assets that contain the desired asset types.

    • Cross-platform friendly with built-in Blender processes to allow for headless export of blender files.

    • Built in asset wellness checks to ensure an asset would only be processed if it is clean of errors and checks all the requirements.

    • Automatic folder creation/pathing to ensure clean consistent folder structuring between game assets and source art.

    • Ability to handle multiple referenced assets in a file with proper scene export to appropriate asset file locations.  For example, a mace would receive an animation export from a character animation scene with a matching export name to provide direct link-ups between character and weapon.

    • Automatic Unreal Engine implementation and utilization of metadata stored within the source asset.

    • Bookmark utilized sequence exports that would allow the animator to animate a full sequence and automatically export the appropriate sections based on bookmark length and naming.

  • ​Bookmark manager

    • Built in bookmark manager to provide a more user friendly experience to the standard tooling in Maya.​

  • Prop/Armor Manager​​

    • Built in asset referencing and automatic structuring.​

    • Armor welding allowed for animators to test armor deformations prior to game utilization.

  • ​Weapon modifier additive/override layers for global scene use and multiple exports​

    • A multi-weapon animation layer tooling that allowed animators to utilize a single animation scene with multiple weapon type modification layering.​

      • For example: A combat stance idle could provide the animation for bows, crossbows, one-hand swords, staff, and two-hand swords.​​​

​​​

Artist Tool (python)

  • Source File Browser and Asset Structuring

    • The artist tool had built in source control processes as well and easy to use scene structuring and asset creation.​

    • The file browser had multiple quality of life features such as sub-string file filters and user friendly file sorting.

    • The artist tool automatically found the art asset directory for artists, so there was no setup necessary for any environment.

    • Artists were able to perform all source control processes within their Maya environment, making it quicker and easier to perform their tasks more effectively.

  • Headless Unreal Processes​

    • Multiple functions that allowed the artist to perform global project processes quickly.  This ranged from a full catalog export, a full screenshot generation of all assets, and global meta data ​manipulation.

  • Armor Gen

    • I developed in Bifrost, a system that allowed body morph generation primarily for armor and outfits.  This system utilized the deltas with a radial blend between vertices (order matched or not) of two meshes that would then be cleanly applied to the target armor.​

    • This system was automated so much so that it allowed for quick iteration, refinement and output of assets in a matter of minutes.

    • Armor genning was also leveraged for hair and facial hair assets based on the deltas of different face shapes.

    • Notable features:

      • Shape memory - I built in the ability for an asset to retain the shape memory of it's original source mesh.  This allowed for instance like armor to not get too heavily skewed by the organic shape of human portions.​

      • Softening and radial scale - The user was allowed to set the resolution of the radial point test in order to get a sharper or wider lens of a point pool providing for a more specific outcome.

      • Automatic rig integration - Morph shapes that were generated were able to be automatically ingested into the scenes rig structure, replacing and updating existing aspects.

      • Multiple morph shape processing - A standard character would provide multiple body shapes.  This required the tool to have the ability to process multiple different global shapes at once to ensure quick artist iteration and turnaround.

      • Skin Tightening - A built in feature allowed the user to pull in the mesh closer to the shape of the base body shape.  It took in delta size to strength of change, so points closest would get little to no affect, while further out points would be affected more heavily, providing a better output in the final product.

  • Driver-Driven System​

    • I developed a dynamic weapon system that utilized metadata for characters to communicate with interactable props.​

    • Dynamic Grip

      • A system that took into account the characters grip size and palm width to decide on the type of grip interaction they would have with a prop based on the props grip size and spacing.  This means a goblin with small hands would utilize a larger two hand grip with a human's one-hand sword.  This provided more realistic world interactions with props for characters of all sizes and allowed for all characters to utilize a global set of props.​

    • IK Weapon Lock Points​

      • We leveraged IK arms in Unreal to allow for dynamic link points so all weapons would be gripped appropriately to the weapon's design.  This allowed very little constraint on the artistic side of weapon design.

  • Character Portion and Level system​

    • I developed a portioning and leveling system for our characters that allowed for cross-asset sharing between outfits and assets.​

    • Levels are utilized like the layers of a Jaw Breaker.  A level covers a certain volume from the character's base nude level.  Asset's can own multiple levels of a given space.

    • Portions are simple divisions of the character's anatomy.  An asset can utilize more than one portion.

  • Component Weapon System

    • I developed a component weapon system that utilized metadata recipes as constructs for the weapons.  This allowed for cross asset sharing and clean randomization, producing thousands if not eventually millions of variations of assets from a very efficient and minor pool of actual art assets.​

    • The system had automatic batch rigging built in that would scan the topology of an asset and build out a rig based on a blueprint structure and metadata to properly dress an asset with the correct rig structure.

    • Assets were easily editable and could be tested in Maya to ensure proper use across the catalog of assets.

    • Branches, the grippable portions of a component collection were provided automatic metadata and link points to be utilized in the driver-driven system. 

  • Body and Face Bone Offsets

    • I automated a body and face offset system that allowed for global unification of characters and the offset poses that would be utilized.​

    • This system allowed for quick testing and updating.

  • Automatic Rigging and Morph Shape Integration

    • I developed rig tooling that allowed the modeling artist to quickly auto rig their assets based on a source rig.  This allowed character artists to quickly iterate and implement their work without the need to utilize tach art support or be blocked.

    • Automatic morph shape import and integration allowed artists to import in a morph shape scene and apply it to the rig, which in turn allowed for quick testing and integration of assets.

Blizzard Entertainment

W3R Artist Tool (mel)

  • Collider Auto-Gen​

    • Automatic collider generation based on asset anatomy to vertex relation.

    • Automatic import and re-construct of collider objects from Classic Warcraft 3.

  • MDL Reverse Engineering and Restructuring In Maya​​

    • All game objects were integrateable into Maya through MDL breakdown and restructuring, which allowed the team to import and re-build an asset's meta data to ensure appropriate stand-up of a remastered asset.

    • VFX assets were fully able to be restructured into Maya so the team was able to integrate classic VFX assets into the remastered project.  This allowed VFX artists a clearer setup to build on and ensure close to a 1:1 foundation.​

    • Animation timelines were also reverse engineered to the new frame rate of 30 fps as well as consistent event triggers were imported and maintained.​​

  • Portrait and Thumbnail Generator

    • A simple tool set to allow for automatic export of multiple portrait angles of an asset for icon creation and iteration.​

​

W3R Batch Tool (mel)

  • A batch exporter that performed multiple processes.

    • Asset timestamping

      • This timestamp was to ensure batch export processes only processed files that have since been updated.  This made it more feasible for quicker batch processes.

    • Animation export and compilation scene structuring in order to ensure proper MDL exporting.  This envolved export and import of animation sequences onto a single timeline.  The batch exporter would handle the proper meta data and ensure animation were cleanly structured prior to export.​

    • MDL import of meta data when meta data was not provided to ensure assets were never without the necessary items the game required.

    • Automatic Perforce source control of exported files and shelving of changelogs.

​

D2R Weapon Manager​ (mel)

  • Automatic weapon import and scene structuring for multiple weapons in Diablo 2 Resurrected.

  • Base pose import of a weapon to ensure consistency.

  • Scene structuring and automatic import of saved setups by the artist.

Notable Personal Tools

Pose Adjust Tool / Anim Importer

  • A tool that modifies animation curves in a scene based on the provided target pose.​

  • It contains a batch process that allows for a quick batch of scenes where pose corrections can be quickly applied.

  • It also has built in Perforce functionality, so a scene would be checked out prior to modifications.

  • There is a built in animation export and import functionality that works with simple time based settings.

  • The pose tool leverages linear decay adjustments so it is possible to affect only one end of the animation and not the other.  This is handy for non-looping animations.

​

Keith's Anim Tool Box

  • This is my personal curve and animation tool set.  It allows me to modify my animation quickly and efficiently with the process I prefer.​

  • Notable features:

    • Simple offsets for curves, keys, and hierarchies.​

    • Simple weighted curve increments

    • Walk cycle mirror tool allows for simple left to/from right with an offset to occur.

    • There are sharp generators, mud and static.

    • A few clean up functions for cycles and space switches.

​

Smart Turn Table

  • This tool was born out of my "it could be better" mentality when outputting turntables for review that required me to continue to modify my scene from my standard working scene.  If I wanted a 20 second turn table of a cycling animation, I had to do the math to get the cycle to loop cleanly within the 20 second window and I had to modify my timeline as well as animate the camera.  This tool resolves all of that.  You simply set your perspective camera or another camera to the angle you want for the turn table as well as the desired length and the tool does the rest.  It takes the animation's single play length and fits it within a respective time to the desired length.  Then from there it animates the targeted camera with a pivot based at world 0 and bam, turntable with no scene modifications.  Gone are the ways of ever setting up this process ever again and there are even more features available to really make it deliver exactly what is needed for the animation.​

​

Walk Speed Calculator and Re-timer

  • When animating for games, the world movement is very important to match in the animation scene.  This tool calculates the desired target's foot counter slide and informs you how fast the character is moving in world space.  ​

  • This tool also allows the user to scale their timeline/animation to achieve the desired movement speed, taking the guess work out of the process.

  • It has two preview options, a scrolling checkerboard ground plane as well as a locator that can be leveraged for an animation curve.  This is helpful when developing the animation so you have the points of references that are necessary.

bottom of page