Sid Naik


fracture tool image

Vert-Group based cell fracture | Wizards Chess VR

  • How It Works:



  • Opportunity:
  • Blender's "Cell Fracture" object fracture tool doesn't work well on abnormal meshes like the chess pieces but I needed it to work for my destruction effects.


  • Solution:
  • The issue with this add-on I had was that it does not work with meshes that have long extrusions or odd loops like character meshes. I solved this by:


  • 1. Creating a script that first breaks my character meshes by their respective vert-groups. This makes it so hands, feet, weapons and everything else is broken into its own mesh.

  • 2. Fill the holes in these meshes.

  • 3. Call cell fracture on those meshes.


  • Result:
  • Sweet! Reduced manual work from about half a work day to break a character to about 1-2 hours per character. This was a huge a time saver, but was also more of a work-around than a proper solution. Nowadays I would much rather use something like Houdini's destruction system for more realistic breaks.
mirror bones script image

Auto lightmap baking tool | DodoPeak

  • How It Works:



  • Opportunity:
  • A huge amount of time would be spent manually baking each level of the game within Unreal Engine after minor level changes and when new levels are made.


  • Solution:
  • I made this tool to have Unreal bake lighting for all levels at the end of each day so we could package and QA immediately the next day.
     
    Unreal Engine has a set of ".ini" files that let developers easily setup graphics and device settings. By default you'll see 3-4 files in the Config folder of your EU project, one of which is DefaultGame.ini. This file contains all the maps you include in your game along with a ton of settings you can set manually within UE.


  • Result:
  • Awesome! The alternatives of baking 30-50 levels(at ~5-10 minutes per level) or baking only a few levels for testing is unfeasible and significantly less useful respectively. Faster iteration! Seriously, this couldn't be simpler and I'm less than scratching the surface of Unreal's automation setup with this writeup so please go check it out for yourself! I wish we could have this in Unity too, I'll do another writeup if I ever need to do the same in Unity!


  • Useful links:  Official documentation         UE Wiki  


  • Useful links:  Link to warnings about that method -->              Linux/Mac setup    
mirror bones script image

Rigging automation | Wizards Chess VR

  • How It Works:



  • Opportunity:
  • All my rigs are symmterical, so rigging both halves of any rig quickly became repetitive.


  • Solution:
  • Scripts to mirror position, vertex weights, and bone constraints from the left side to the right for symmetric models.


  • Blender provides tools for things like mirroring bones over an axis and even renaming them for you. But what I wanted was to mirror all left facing bones to the right side while also mirroring bone weights and names with the click of a button.


  • This does exactly that by grabbing all left bones (through naming scheme), mirroring each bone, their weights, and vertex groups.


  • Works without any issues on symmetrical rigs and even in some cases on asymmetrical rigs in which I needed many of the same bones but not all.


  • Result:

  • Super! Halved the rigging process for both of my personal game projects so far, and I'm sure will be useful well into the future.
in engine model and animation viewer image

In-Engine model & animation viewer | Wizards Chess VR

  • How It Works:



  • Opportunity:
  • Playing a game of chess to view each animation is not efficient for iterative improvements.


  • Solution:
  • I made a Unity scene that let me look at models and animations quickly in the editor. Doubles as a bonus "level" in Wizards Chess VR.
     
    For this, I used Unity's Editor API to create some simple buttons in the inspector to instantiate each character and play back inidividual animations.


  • Result:

  • Dope! Hard to say how much time this saved me, but I couldn't have the animations work properly in game without it. Previewing animations in-engine is necessary, playing a game of chess every time I want to preview is not.


  • It is a bit less user-friendly than I think would be good for a production tool with multiple people, but since it was just me I didn't think spending time on creating a standalone tool would be much use.
fracture tool image

Auto game packaging tool | DodoPeak

  • How It Works:



  • Opportunity:
  • Too much time would be spent packaging the game for many devices for QA and testing.


  • Solution:
  • I made this tool to let us package the game for different devices so we don't have to open Unreal and have one of us devoted to pressing the "package game" button over and over.


  • Result:
  • Mixed. We did not find the tool significantly useful in practice for this project, though I am sure it would be extremely useful for studios with a dedicated QA team or a game available on more platforms. Automated packaging for all platforms overnight, ready to then test the next morning!


  • Useful links: Useful links:  Official documentation    Auto Packaging on Unreal Wiki