top of page

Deep Learning AI Created Artwork

1024px-Python-logo-notext.svg.png
Data set of character art used to train a deep learning neural network structure that learns to turn a matrix of random pixel values into completely new and unique characters
AI_renders_01.jpg
Deep learning powered style transfer technique can also turn simple sketches into full ray-trace rendered images 
AI_renders_02.jpg
D2r4RAXW0AUf9Z1.jpg
rot6.gif
gys2.jpg
Quick explanation of how the GAN system works:
One neural network called a Generator creates images (starting off by creating a grid of random pixel values).
Another network called a Discriminator tries to sort images into real (from the data set) and fake (created by the Generator). The Generator is trained to switch up the way it arranges pixels until the Discriminator mistakenly sorts its images into the 'real' category.
The Discriminator is trained to get better and better at sorting between real and fake images. So in return the Generator has to get better and better at 'counterfeiting' images. Eventually the Generator can piece together pixels into images that really resemble the data set.

Character and Environment Randomizers

1024px-Python-logo-notext.svg.png
autodesk-maya.png
General purpose randomizer created with Python in Maya. Modular shapes randomly chosen and snapped to appropriate locators to create unique combinations.
 
Locators can be easily duplicated and arranged to create randomly generated environments.
 
System can also generate appealing random characters. 
general_world9__snap_2019-06-15__12h21m5
mushes_01.jpg
zaboomafoo_04.jpg
fruit3.jpg
smolgys.jpg
Rec3.gif

Procedural Animation Character Controller

- Unity physics based procedural animation, paired with a controllable character.
          - Rag-doll created with Unity Configurable Joints and Rigidbodies 
                     - Rag-doll animated by a manually timed AddForce method.

Virtual Pet Automata with Procedural Animation 

- Virtual pet with procedural animation in Unity
          - Rag-doll (Configurable joint, rigidbody) animated with AddForce/AddTorque Methods
- Movement determined by a simple finite state machine
          - For instance, as the tadpole approaches certain objects, AddTorque method is used                to turn it in another direction
                    - Raycast is used to detect objects before the tadpole fully collides with them
                             - Behavior is decided based on which object layer the Raycast detects
bottom of page