Below you'll a few of the shaders I've worked on recently that proved useful in development. I generally try to make them as robust & multi-purpose as I can in order to somewhat future proof them over the course of the project.
*These will be all node based shaders, while I do know how to some extent write in CG & HLSL since these were simpler shaders it was less time to get them up & running using the node based editor
*These will be all node based shaders, while I do know how to some extent write in CG & HLSL since these were simpler shaders it was less time to get them up & running using the node based editor
Crystal Shader w/ Emission
This shader was created to handle crystals in a recent project, initially the scope was meant for just powerup crystals in-game. Once tuned the shader got a good response to where we repurposed it to handle anything that had crystal attached to it, so I went back to expand some of its functions.
As the end result it takes in up to three textures, one blending between two colours, the second details the mission map. There are colour controls for handling any quick changes in editor & a pulse switch along with a speed value for it. Normals & Spec were included as well. |
Weapon Selection UI ShaderThis was probably my favorite shader to work on, as it was a UI element. It has a colour control along with a highlighted colour. The highlighted can be rotated along with offset that can help to emphasize the weapon selection. Some of this is achieved minimally via use of a .TGA to handle textures withing the shader. The shader appears around your hand when you select in it in the VR goggles.
|
Multi-Cam Views |
Something small I scripted for myself, written in C#, so I could view an object from multiple angles. I was mostly tired of having to rotate around an object multiple times in Unity to see the intensity of my normals, rough & metalness. Right now you need to take the script & drop the cameras into it via the inspector but I think I will add code in the future to have it pick them up at run-time. Also implemented a feature to have the cameras rotate upon pressing "A". By standard all cameras in Unity are normalized so no stretching should occur over the viewport meaning nothing will be squashed or stretched irregularly. |
TA Ulti |
Getting back into coding as I enjoy the more technical aspects compared to just plain art. So I was looking for something small to do a refresher on and decided to work out a feature from one of my favourite games DotA2, eventually settling on rebuilding the ultimate of a character templar assasin within Unity(5.3.2). When I started the idea it was to be in a vaccum, but much of the abilities modifying effects rely on the basic mechanics of the game which would take more time for me to build. That being said features of the script include placement of traps,object pooling instantiation at runtime, detonation based on proximity to the nearest trap element & a cap on how many can be placed based on your lvl along with a gui button to increase the cap. Hopefully in the near future I can get some gifs up here & possibly even the modification the traps should apply to other objects in the scene based on their speed.
|
Vive Controller movement(BASIC) |
*Please Note: You need the Steam_VR plugin installed in your Unity project to get any use out of this script as it relies on several of their systems & obviously a Vive (or emulator equivalent).
Basic movement I'm setting up for use in Vive Diablo II - Style Games. It's really basic at the moment as I'm prototyping this on my spare time in the weekends lol. Rotation & Orientation will be debugged next. Then pathfinding added later on. |
I've recently been looking at extending the editor lately to better suit development needs. The initial steps that I've been rigging up are dealing with editor GUI & window to make it easier to make sense of the more densely populated scenes we work on. The last studio project it was almost impossible to sift through the amount of nodes, scripts & invisible game objects in several levels. My desk might be messy but I like my Unity projects to run lean & optimized...
The next steps will involve building a modular placement system for either all objects or rules controlling objects marked for enemies so my teams designers don't have systems overlapping & interfering with each other.
The next steps will involve building a modular placement system for either all objects or rules controlling objects marked for enemies so my teams designers don't have systems overlapping & interfering with each other.