Notes on Ballistic Trajectories

We will be talking about primitive mathematical models for the path of objects on ballistic trajectories: There will be ramblings, sample code, and a simple Unity WebGL demo. Definition of ballistic What exactly is something that’s moving ballistically? ballistic bəˈlɪstɪk ) ADJECTIVE Denoting or relating to the flight of projectiles after power has been cut off, moving under their own momentum and …

IK Solver From Scratch In Unity

In this post, we will cover a really simple (CCD) implementation of inverse kinematics. We’ll structure this with the typical format of waxing poetic, then some code samples and an embedded Unity WebGL demo. What is Inverse Kinematics? I’m assuming you’re here because you’re already familiar with the subject. But if not, IK is basically …

Modifying Windows System Menus in wxWidgets

System menus are those standard menus that open when you click an application’s icon in the top left of its title bar. There doesn’t seem to be a standard way to modify and respond to them in wxWidgets, so I’m going to go over what I did in my wxWidgets WindowsOS applications to modify the …

Playing Around With A 2D Wave Algorithm

If anyone reading this is prone to epileptic seizures, you may not want to watch the embedded videos. The other day I was thinking about the old Hugo Elias 2D Water article and decided to play around with it. He writes about a 2D water effect that handles an arbitrary number of ripples without using …

Streaming Microphone Audio To Unity WebGL

This is going to cover the steps I used to get the microphone working for the granulation demo.The GitHub repo for that demo can be found here. NOTE: Before reading further, please note that this only covers recording the microphone from the browser’s Unity WebGL app. It does NOT cover streaming audio playback or internet …

Transferring Binary Files Between Unity and Browser

In a recent post, I had a font parsing Unity WebGL application receive binary data, either by hitting an “Upload” button that would bring up a file selection dialog for upload or by dragging and dropping a file onto the app in the browser. These True Type Font (*.TFF) files are binary – so how …

Notes on Audio Granulation

Retiming audio with granulation – and a simple sample in a Unity WebGL example. If we had data for an audio clip and asked someone how to change the playback speed, we’d get a common answer for both, “change the rate we process and play the audio” or “resample the audio data to go through …

Calculating an Even Width For a Line Strip

The operation goes by several names: expanding, dilating, inflating, etc. Basically, given a series of ordered points, how do we calculate a path that’s the line strip, but with an even width? A caveat, this is not going to be an optimized solution, but given the basic intuition I hope to bring, and the resulting …

Multiple Unity Inspectors

Sometimes there are occasions where I need multiple inspectors open to compare items or analyze an item while keeping my place viewing another item that I’m editing. On the top right of each docked pane of Unity, there is a hamburger icon. In the Add Tab section, there is the option for another Inspector. This …