Sean Cooper Sean Cooper

Popul8 Tool

Something I have been working on for the most part of this year:

“Character creation is time-consuming and expensive. Our patented AI technology enables game creators to generate thousands of unique characters in minutes.
Popul8™️ by Didimo quickly populates your digital worlds with thousands of unique characters while matching your visual style & technical specifications. Now you can build richer worlds with greater diversity while maintaining your unique game aesthetic. And because it's so fast, you get to market quicker.
Popul8 uses AI technology to adopt base models to fit your visual style. It also fits assets, both external and proprietary, to your characters. Popul8 is an infinitely variable character generator that fits your game needs.”

Read More
Sean Cooper Sean Cooper

Body Modification Demo

In this demo, we take our didimo and allow the user to change measurements of the body in real time. I started with a mesh and some blendshapes, added some measure lines i.e. point to point and wraps around and then changed the body to reflect them. Issues arise, as the rig positions change so we need to move the bone positions and rebind the skin.

Read More
Sean Cooper Sean Cooper

Voxel Editor

Just for fun a simple Voxel Editor, written purely in JavaScript. At the time of writing I had zero knowledge of using the canvas and this was mostly an experiment to try and understand it. See what you can create!

Read More
Sean Cooper Sean Cooper

Asset Creation Pipeline

Utilizing the GraphView in Unity (Shader graph, VFX graph use it), I built a system that allows us to convert, extract, modify, and recreate most assets in Unity, including Textures, Meshes, and Materials, etc. It’s common practice to write tools that allow simple processing of asset files, this promotes reuse and centralization of conversion code, usually distributed across projects. Its main use was to take assets from other Avatar systems and retarget them (move vertices, bind to bones and copy materials) to our avatar system. It’s also commonly used across all demos and the product SDKs.

Read More
Sean Cooper Sean Cooper

GDC Demo: didimo creation show-off

Created this Demonstrator App to allow the client to capture and view themselves as a 3D avatar in less than 90 seconds. Built in HDRP, connection to ARKIT capture, beautiful scenes and lighting rigs. Coupled together with Mixamo animations and ARKIT mocap facial animations.

Read More
Sean Cooper Sean Cooper

Configurator System

Mission, I did choose it, was to create a configurator system. I really wanted to produce a reusable system that could be applied to any 3D object, well not any, but most (which still need a little tweaking) and drive a system of camera focus, interchangeable parts and interaction. Customisable in the Unity Editor by content creators, assign components to different behaviours, highighters, camera controls, exploders and anything else you wish to extend it with inside the system. Easy to create a simple but elegant configurator for your business, cars, characters, objects, trainers, etc.

Read More
Sean Cooper Sean Cooper

A procuderal city

Originally I wrote this demo in Flash to sell licenses for my Engine, which took a lot of effort to create but yielded financial benefits later. That aside, building this in Unity just seems too easy. Buildings randomly generated from Bricks, traffic system joined together with road templates, people moving on Unity’s NavSurface, simple player movement controls, and a nice finite state machine to drive the AI. What could be more simple?

Well, 100 x 100 block city produced a small issue, too many peeps, too many cars, and too many Buildings. Draw Calls escalated, polygons enough for all my games put together - what an absolute nightmare. Of course, it was a known issue before writing one line of code, culling is key to making anything run smoothly. In this I used https://docs.unity3d.com/Manual/CullingGroupAPI.html, just did the work for me, brilliant.

Still required some simple optimizations, which turned into something complex and this was the result.

The assets were purchased on the Asset Store (https://assetstore.unity.com/packages/3d/environments/urban/toony-tiny-city-extended-170772) for demo purposes… the client was super happy.

Read More
Sean Cooper Sean Cooper

Conveyor Belts

Another Physics demo showing off the AWESOMENESS of Unity. A shader graph to scroll the UVs to make it look like it’s moving and a simple script to apply physical movement to the conveyor belt.

Read More
Sean Cooper Sean Cooper

Spline Group Movement

A deterministic spline group movement system built for Unity’s Timeline. The first iteration was a 3D spline system with Editor Controls and fast runtime behaviour. The Second pass I added spline Noise and a Grouping system which the Penguins are demonstrating nicely below. The Group pattern is not AI but sampling a Perlin noise map at various positions will give a good enough result for convincing grouping which can be used on a timeline and used in cutscenes. In addition I added a simple set of controls to tweak the group and using different ground collision components this can be used on pretty much every surface (see elephant video).

Read More
Sean Cooper Sean Cooper

The Marble Run

Created this demo for educational purposes to allow people new to unity to play around and design some that works. Only two MonoBehaviours created, one to spawn the Marbles and the second to rotate the spiral lift. I had to design the spiral lift system in Sketchup and took many iterations for the Physic system to accept it. Fun ON!

Read More
Sean Cooper Sean Cooper

Character Morph/Blend

Weekend exercise: program a morphing character animation system. Blending textures, morphing Blend Shapes, noise animation, blinking… all built in Unity using the latest HDRP 11.0.0.

Recorded using the Timeline and the Unity Recorder.

Read More
Sean Cooper Sean Cooper

Rendering and Timeline controllers

Created a number of tools to allow us to control the timeline and to increase the rendering capability in Unity. We used Unity to allow us to render the sequences (i.e. like rendering in Maya or other 3D application), this allowed us to add simple physics and re-use the elements at runtime.

Read More