3D Graphics

A Small Holiday Gift: Tools for Flow Launcher Power Users

Flow Launcher Plugin: Shortcuts and Shortcut Editor

This is a low-key release, offered in the spirit of Christmas Eve rather than a launch cycle.

Over the past little while I’ve been building a set of tools around Flow Launcher—tools I wanted for my own daily use, and which turned out to be broadly useful enough to justify cleaning up, documenting, and releasing publicly.

There’s no grand thesis here. Just three practical things, now open source:

  • A Flow Launcher plugin for managing shortcuts cleanly and sanely

  • A desktop editor that makes those shortcuts pleasant to work with

  • A developer skill / guide for people who want to build similar plugins themselves

All of it is MIT-licensed, free, and meant to be forked, modified, and quietly improved.

If you use Flow Launcher heavily, one or more of these may be useful to you.


1. Flow Launcher Shortcuts Plugin

Flow Launcher is already excellent, but I wanted a better way to manage frequently used paths, URLs, apps, and bookmarks—something structured, searchable, and predictable.

The result is the Flow Launcher Shortcuts Plugin, which adds a simple but flexible shortcut system directly into Flow.

You get:

  • Keyword-based access (s docs, s github, etc.)

  • Shortcuts for folders, files, apps, and URLs

  • Category grouping with explicit priority ordering

  • Per-shortcut icons

  • Context-menu actions for editing and management

  • A shortcutlist command that shows everything, grouped and ordered

  • Environment variable expansion (%USERPROFILE%, etc.)

It integrates cleanly with Flow Launcher’s JSON-RPC interface and behaves the way a native plugin should—fast, predictable, and unobtrusive.

This isn’t a flashy plugin. It’s meant to disappear into your workflow and stay there.


2. A Desktop Editor (Because JSON Should Be Optional)

Manually editing JSON for everyday workflow tools gets old fast. So alongside the plugin, I built a standalone desktop editor using PySide6 (Qt for Python).

The editor exists for one reason: to make shortcut management frictionless.

Features include:

  • A clean, modern Qt interface with proper dark-mode behavior

  • A table view of all shortcuts

  • Add / edit / delete dialogs with validation

  • Icon selection via file picker

  • Configurable storage location

  • Window state and settings persistence

  • A proper menu bar and About dialog

  • Automatic saving

The standout feature is browser bookmark import.

The editor can read bookmark data from Chrome, Edge, Brave, and Opera, recursively traverse folders, and let you selectively import bookmarks into Flow Launcher shortcuts. It handles non-standard locations and edge cases without drama.

This turns Flow Launcher into a fast, keyboard-driven bookmark launcher without requiring browser plugins or sync hacks.


3. Building Flow Launcher Plugins: Claude Skill and Practical Guide

While building the plugin, I ended up formalizing a lot of knowledge about how Flow Launcher plugins actually work in practice—what’s reliable, what’s fragile, and what patterns scale.

Rather than letting that knowledge evaporate, I wrote it down as a reusable developer skill / guide, structured so others can use it as a starting point for their own plugins.

It includes:

  • An overview of Flow Launcher’s plugin architecture

  • Common plugin patterns (search, actions, data-driven tools, utilities)

  • Production-ready templates

  • Notes on result ordering, scoring, context menus, and edge cases

  • Build and packaging guidance

  • Plugin Store submission workflow

If you’ve ever thought “I should write a Flow Launcher plugin someday,” this removes most of the archaeology phase.


Everything Is Open Source

All of this is available now:


Merry Christmas! Andy Moorer, Dec 24, 2025.

MakeSomeNoise

MakeSomeNoise v1.1.2 is Released

 

What’s MakeSomeNoise?

MakeSomeNoise is a free tool I built for generating procedural noise textures, texture atlas (sprite sheets), and image sequences. It’s a standalone Windows app, just download and run.

What does it do?

  • Mix two layers of noise using common weighted blending modes.
  • 6 different kinds of noise (for now, more are coming).
  • Explore the 3d noise space and preview the noise animating through Z slice at user-defined speed and frame numbers.
  • Export the result as a single frame, atlas or image sequence with clean naming for your use.

Built-in Learning Guide

I added a complete “Guide To Noise” right in the app. Click the help button and you get detailed explanations for every noise algorithm—the history, how it works, when to use it, and pro tips. I wanted to make this tool educational, not just functional. Whether you’re learning about noise for the first time or just need a quick refresher on how these noise functions work it’s all there.

Export Previews & Animation Playback 

You can now preview before export. Want to see what that 16-frame atlas will look like? Preview it. Need to check your animation sequence? Play it back at any FPS from 1-60. There’s also a handy right-click menu for copying the preview to clipboard or jumping straight to your export folder.

Smarter File Management

The app now automatically manages file versions for you (_v00, _v01, etc.), so you’ll never accidentally overwrite that perfect noise pattern you made. Export paths are now fully visible prior to export.

Cleaner, Smoother Experience

I’ve been squashing bugs and polishing the UI. Better tooltips everywhere, improved thread management (no more crashes when you spam sliders), and generally just a more responsive app.

The Licensing Thing

Quick note: The app itself is free to use for anything, including commercial projects. You just can’t sell the app or bundle it for profit without asking me first. But anything you generate with it (textures, images, animations) is completely yours under CC0. Use them commercially, sell them, whatever. No attribution needed (though it’s always appreciated 😊).

Download It!

Ready to make some noise? Head over to the GitHub Release Page and grab the executable. It’s a single 120MB file—download, double-click, and you’re good to go.

First run might take a few seconds while Windows Defender does its thing, but after that it’s smooth sailing.

If you’ve got ideas or feature requests, hit me up on GitHub!

Download: MakeSomeNoise v1.1.2 on GitHub

Happy noise-making! 🎨


– Andy

Change is good. And change is also terrifying. Keep. Creating.

I’ve been a bit frustrated with this site for a while, because there’s all this fascinating work I do at Meta Reality Labs, that I’d really love to share. While I know many people are reeling under the changes from AI technology as well as the difficult time both game and visual effects creatives have been facing as everything changes beneath us… Please don’t think I’m unsympathetic (or unaffected) when I say this: there has never been a more exciting time to work in CGI.

“Exciting” and “challenging” go together. It means we are in a period of great change. But I’ve found over the years that these are the kind of times when people also tend to do their most meaningful work. This is one of those points when reputations (and fortunes) are made, and when new paradigms and possibilities abound.

If you’re a professional struggling to find work or establish relevance in a world which may not demand some of your formerly most attractive skills, allow me to suggest that you step back a moment and remember that you ARE still relevant. Yes a toddler can now seemingly generate an image or video that would only have been possible through great effort just a few years ago, or vibe code an application that formerly took a team of engineers. All that means is that YOU can do the same, as well as so much more, by leveraging your less obvious skills which have now become massively relevant.

– Eye for quality and detail. – Understanding of process principles to achieve top results. – Industry understanding of tools, methods, ways to approach challenges and visualize your end goals early. – Discipline to slog through difficulties to get to somewhere extraordinary.

You may not be able to do the work you’ve spent decades doing. But that doesn’t mean you lack value. Do NEW stuff. Ride this wave, and go further, faster than you ever dreamt was possible. Or, to be a bit more militaristic in tone: Adapt. Overcome.

Change is struggle. But it’s also opportunity. Figure out where your brass ring is, and reach for it.

Update: It’s all about AI these Days

Ok, it’s been some time since I last posted. That is due in part to the fact that much of the work I’m doing for Meta Reality Labs is NDA’d and even the work I do in my personal time often touches on what I’m focusing on at work. I wish I could show off some of the stuff I’ve gotten into recently, it’s pretty amazing.

Here are a few thoughts. The world which has emerged is one of increasing rate of change. For Game Devs, VFX professionals and Technical Artists this change is almost overwhelming. AI is capable of generating astounding visuals in seconds from a simple prompt, as well as models, code, and even entire games. I see this generating a lot of angst 

and fear, and it certainly has changed the recruiting and hiring side of things.

But this kind of change has happened before. The emergence of CGI transformed filmmaking. Computer networks transformed all of

 society. The emergence of digital tools for artists decimated the once huge numbers of “draftsmen” working in architecture, construction and a host of other fields. In recent decades we have seen a LOT of change. Video killed the radio star, and then video on demand killed television, at least to the extent of replacing those media from their seemingly (at the time) unassailable positions as king of the hill.

Today influencers vie with A-listers for viewership, movie box office releases and television series compete for consumer attention with on-demand series, game titles, and social media.

Change is scary and disruptive.

But it can also be astoundingly beneficial. Artists of all kinds shouldn’t fear AI directly. Sure we will have to face uncertainty as job markets change and seek different skills. And that can be incredibly frustrating and challenging. But if you are a skilled professional you absolutely have the insights and talents necessary to thrive in a new world filled with AI. The ability to discern visual quality is still essential. The ability to organize and guide an effort to success is still relevant. “Production sense”, “vision”, an “artist’s eye”, and “creativity” all have as much value as they ever did.

Creative tools have changed and enabled the most unskilled an astounding degree of capability to produce impressive creative works. But that’s good, and doesn’t change the fact that those of us who have spent entire careers focusing on creating such imagery have gained a myriad of skills needed more than ever in assessing and learning to fully exploit these astounding new technologies and tools.

The key to relevancy today as a technical artist or professional creative in general is to ride this wave at it’s cutting edge. Our role in times like this is to identify the new creative opportunities inherent in these changes. Explore new mediums. Guide the engineers towards enabling better quality content as opposed to releasing a societal spam storm of mediocre content. Identify the new bar of quality and use AI and new methods such as gaussian splatting, realtime engines, spatial computing, code and asset generation, image and video generation in new ways. Creative ways.

We aren’t facing a disaster for creatives. It’s just change, filled with disruption of plans to be sure, but also filled with opportunity to be the ones who create entire new media, new forms of artistic expression, and creative content better than anything we dreamed possible in our lifetimes.

Surf this wave of change. Have fun with it. The core of what makes us creatives – vision, insight, keen minds and practical experience – is not at all devalued. Our use cases have just been reset, the canvas wiped clean. Now is the time to make your masterpiece.

Empowering Creativity: Emerging AI Tools for Game Developers and Technical Artists

When it comes to game development, technical artists are always on the lookout for tools that can make their lives easier and their work more efficient.

Enter AI. 

From automating repetitive tasks to enhancing asset creation, AI tools can help streamline workflows and free up time for creativity. Technical artists can already use AI tools in a number of helpful ways:

  • Asset generation, including 3d models, animations, rigs, textures, audio and skydomes.

  • Creative inspiration and conceptualization – this can go beyond simple image generation and get more specific with tools like comfyUI, to allow for the creation of specific art styles and applications such as character model sheets, sprite atlases, equirectangular skydomes, and so on.

  • Code exploration and generation. It’s hardly a secret at this point that software development has changed dramatically with LLM tools like Copilot, Windsurf, Codeium, Bolt and Mutable.

  • AI customization and automation is getting very interesting, with resources like huggingface, tensorflow, zapier and more.

  • AI is also a game changer when it comes to communicating ideas and collaborating. I have had some great experiences with Descript and Ryter being particularly notable.

  • And last but perhaps most importantly, AI is a game changer when it comes to research and learning. I regularly use Meta.ai to explore technical topics and other go-to tools are Consensus and Perplexity. If you are using google to try to learn about something or research a topic, you are missing out on the power of AI in helping you obtain the information you need to access and understand.

The number and nature of the AI tools available are rapidly changing. They’re not just about saving time; they’re also about pushing the boundaries of what’s possible in technical art. Currently we are in a period where we are confronted with many different tools but have yet to bring them together into cohesive workflows. As such, I’m just going to touch base on a few areas I’m keeping an eye on. Think of this article as a starting point, I’ll add more to this later and hopefully end up with some tangible assets and workflows worth considering.

Infographic on AI tools and tech art

Unity ML-Agents

Unity ML-Agents are a powerful toolkit that allow developers to create intelligent agents within their games. By leveraging machine learning techniques, developers can simulate complex behaviors and decision-making processes.

  • Intelligent Agent Creation: Unity ML-Agents enables developers to train agents using reinforcement learning, allowing them to learn from their environment and improve their performance over time. This can lead to more realistic and responsive non-player characters (NPCs).

  • Machine Learning Applications: Examples include creating NPCs that adapt to player behavior, developing dynamic difficulty adjustments, and simulating realistic character interactions.

  • Gameplay Experience Enhancement: By integrating intelligent agents, developers can create more immersive and engaging gameplay experiences that respond to players in real-time, ultimately leading to higher player satisfaction. For more information, visit the Unity ML-Agents documentation.

 

NVIDIA GameWorks

NVIDIA GameWorks provides a suite of tools and technologies designed to enhance the graphical fidelity and performance of games.

  • Key Features: GameWorks offers tools such as PhysX for realistic physics simulations, NVIDIA HairWorks for lifelike hair rendering, and NVIDIA Flow for fluid simulations.

  • AI-Driven Solutions: One of the standout features is Deep Learning Super Sampling (DLSS), which utilizes AI to upscale lower-resolution images in real-time, providing stunning visuals without compromising performance. For more details, check out NVIDIA GameWorks.

  • Successful Implementations: Popular titles like “Cyberpunk 2077” and “Control” have successfully implemented NVIDIA GameWorks, showcasing the dramatic improvements in graphics and performance that these tools can achieve.

 

Houdini

Houdini is a 3D animation and visual effects software known for its procedural capabilities and integration of AI features, making it invaluable for technical artists.

  • AI-Integrated Features: Houdini offers tools that leverage AI for tasks such as automating texture generation, enhancing simulations, and optimizing workflows. This can greatly reduce the time artists spend on repetitive tasks. Of particular note are the

  • Procedural Generation and Simulation: The procedural nature of Houdini allows artists to create complex environments and effects efficiently. This streamlining can significantly reduce the time spent on manual adjustments.

Of particular note, the Houdini node collection known as MLOPS are hugely useful to technical artists. Houdini version 20 also added their first official machine learning node, the ONYX inference SOP.

 

For further details, visit the Houdini documentation.

 

Meta Developer AI Tools

Meta developer AI tools, such as Llama, represent a significant advancement in how developers create and manage their workflows. These tools utilize large language models (LLMs) to automate and enhance various aspects of game development. Meta has embraced an open source and collaborative stance with developers which is worth watching closely as fertile ground for useful tools, SDKs and APIs.

  • Llama Overview: Developed by Meta, Llama is a family of state-of-the-art open-source LLMs that can assist developers in a myriad of tasks, from coding to documentation.

  • Applications in Game Development:

    • Code Generation: Llama can generate code snippets or entire functions based on natural language prompts, facilitating rapid prototyping and reducing the time spent on boilerplate code.

    • Debugging Assistance: Developers can input error messages or code snippets, and Llama can suggest potential fixes or improvements, streamlining the debugging process.

    • Documentation Creation: By summarizing code and generating comments, Llama aids in creating and maintaining documentation, which is crucial for team collaboration.

  • Integration: Llama can be integrated into various IDEs and development environments, enhancing the overall workflow without disrupting existing processes. For example, integrating Llama with Unity or Unreal Engine can significantly improve productivity by allowing developers to focus on creative tasks rather than repetitive coding.

For more details, you can explore the Meta Llama documentation.

 

Additional AI Tools

In addition to the previously discussed tools, several other AI solutions can enhance the game development process:

  • Windsurf: This tool assists in optimizing and automating the development of game assets, improving workflow efficiency. Learn more.

  • ComfyUI: An intuitive interface for managing UI elements in games, allowing for rapid prototyping and adjustments.

  • Rytr: This AI writing assistant can help developers and writers generate engaging narratives and dialogue for their games. Visit Rytr.

  • Descript: A powerful tool for audio editing that utilizes AI to streamline the process of creating and editing voiceovers and sound effects. Explore Descript.

  • Zapier: Automation software that can connect various applications and tools used in game development, helping to manage workflows and tasks more efficiently. Find out more.

 

 

Spatial Computing is Emerging

Spatial Computing: A New Era in Interaction

Emerging XR technology can completely change the way we entertain ourselves, communicate with others, or even get work done. Spatial computing is opening up exciting possibilities in these areas, merging our physical world with immersive digital experiences. VChatting with a friend in a virtual café, collaborating on a project in a shared 3D space, watching movies with loved ones across the country, playing new types of games and visiting places even if you can’t walk… Whether it’s through work, gaming, creative projects, or enhancing our everyday interactions, spatial computing is starting to reshape our reality in ways we never imagined.


Understanding XR, VR, MR, and AR – Terminology

  • Extended Reality (XR): This is an umbrella term that encompasses all immersive technologies, including Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR). XR represents a continuum of experiences that blend the physical and digital worlds.

  • Virtual Reality (VR): VR immerses users in a completely digital environment, often using a headset that blocks out the physical world. Users can interact with this virtual space using controllers or their hands.

  • Augmented Reality (AR): AR overlays digital information onto the real world. This is often achieved through devices like smartphones or AR glasses, allowing users to see and interact with digital elements while remaining aware of their physical surroundings.

  • Mixed Reality (MR): MR combines elements of VR and AR, allowing digital and physical objects to co-exist and interact in real-time. It utilizes advanced sensors and displays to provide a seamless blend of both worlds.


Use Cases for the Meta Quest 3 Beyond Gaming

The Meta Quest 3 is versatile, inexpensive and powerful mixed reality headset which has significant usage outside of just being a gaming platform:

  1. Education and Training: Institutions can use the Meta Quest 3 for immersive learning experiences, allowing students to explore complex subjects in a virtual environment. For example, medical students can practice surgeries in a simulated environment, and pilots can practice procedures prior to further training. Mixed reality adds a powerful new way to learn, for instance one example that impressed many was a mixed reality application that helps people learn to play the piano.

  2. Shared Spaces: People of all kinds can leverage the device for remote interactions, sharing the same space in 3d much like we communicate with tools like facetime or zoom. Only with a spatial computer people can share activities such as gaming, meetings, watching movies or looking at maps, all while experiencing the presence of the coworkers, friends or family they are interacting with.

  3. Creative Work: Artists and designers of all kinds already use the Quest headsets for many different tasks. Some artists have become widely known for their creations in a 3d space such as Tilt Brush. People can practice oil painting in mixed reality (it’s surprisingly good) and animators have created thousands of excellent experiences in Quill (visit the free app “Theatre Elsewhere to see their work.)

  4. Healthcare: Therapists can use VR therapy for exposure treatments or to create calming environments for patients, medical professionals can practice techniques, surgeons can guide surgical robots or view scan data with colleagues regardless of location.

  5. Fitness and Wellness: This is one area in which the current headsets are booming. Users can engage in guided workouts or meditation sessions in immersive environments that enhance the experience, lose weight while playing physical fitness oriented games, and even participate in shared biking and other workout sessions without having to travel to the gym or worry about the time.

  6. Virtual Screens: One of the most useful aspects of wireless mixed reality headsets is being able to create multiple virtual screens anywhere you like. They can be theatre scale or small windows sitting on your desk. In these screens you can view apps, watch films and video, play xbox games or perhaps most significantly connect to laptops and pcs to work from the comfort of your couch or hotel. Is your environment distracting? Replace your unpleasant surrounding while on a plane, at the hospital or in some skeevy hotel with a comforting virtual space filled with the content you care about. It’s pretty amazing to experience.


Tethered vs. Wireless VR

  • Tethered VR: This setup connects the VR headset to a computer or console through cables. While tethering can provide high-quality graphics and processing power, it limits mobility and can hinder the immersive experience.

  • Wireless VR: Wireless headsets, like the Meta Quest 3, provide greater freedom of movement and convenience. They are equipped with their own processing capabilities, allowing users to move around without being restricted by cables. While in wireless mode they sacrifice some of the powerful computing power of a PC with a big graphics card for versatility and freedom. And they can still tether to a PC when the extra power of a high end GPU is desired.


Passthrough Mixed Reality vs. Augmented Reality

  • Passthrough Mixed Reality: This technology uses external cameras to capture the physical environment, allowing users to see their surroundings with a digital overlay. The integration of real and virtual elements enables interactive experiences where digital content can interact with real-world objects.

  • Augmented Reality: In contrast, AR typically displays digital content over the physical world viewed through glasses or a visor. While AR enhances real-world views, passthrough mixed reality creates an interactive and immersive experience by merging both environments, with the option to replace or alter the passthru video, for instance dimming your surroundings while watching a movie.


Recent AI Advancements and Their Impact on Spatial Computing

Recent advancements in artificial intelligence have significantly accelerated the timeline for emerging spatial computing technologies. AI is enhancing various aspects of XR, including:

  • Natural Language Processing: This enables more intuitive interactions with virtual environments, allowing users to communicate with AI-driven avatars or systems using natural speech.

  • Computer Vision: AI-powered computer vision improves object recognition and tracking, enhancing the realism and interactivity of AR and MR experiences.

  • Content Creation: AI tools are streamlining the creation of virtual content, making it easier for developers to produce high-quality assets quickly.

These advancements not only expedite the development of spatial computing technologies but also broaden their accessibility, allowing more users to engage with these immersive environments.


The Social Potential of XR Devices

XR devices like the Meta Quest 3 hold substantial social potential. They can foster new forms of social interaction and community building, allowing users to connect in immersive spaces that transcend geographical limitations. For instance:

  • Virtual Social Spaces: Users can gather in virtual environments for social events, meetups, or collaborative projects, creating a sense of presence and connection that traditional video calls cannot replicate.

  • Shared Experiences: XR can facilitate shared experiences, such as watching movies or playing games together in a virtual setting, which can enhance social bonds.

  • Cultural Exchange: XR platforms can serve as venues for cultural exchange, where users from diverse backgrounds can share experiences, ideas, and creativity in a shared virtual space.


The Meta Orion Prototype and Future Use Cases

The Meta Orion prototype showcased a vision for the future of spatial computing, focusing on advanced features like improved field of view, new neural (EMG) interaction, and AI integration similar to the Meta Raybans. It proved that the time for advanced augmented reality is drawing near and how powerful an experience it could be even as a prototype.

Potential future use cases for spatial computing include:

  • Enhanced Telepresence: Combining virtual avatars and holograms, enabling more immersive remote interactions.

  • Smart Environments: Integrating spatial computing into smart home systems to allow users to interact with their surroundings through gestures and voice.

  • Workplace Solutions: Creating virtual workspaces that adapt to individual user needs, enhancing productivity and collaboration.

  • Personalized Shopping Experiences: AR applications that allow consumers to preview products in their homes before making a purchase.


Final Thoughts

Spatial computing represents a significant shift in how we engage with technology, offering innovative applications that extend far beyond entertainment. With headsets like the Meta Quest 3, we are entering a time where the opportunity to redefine interactions in education, business, and everyday life is emerging. Recent advancements in AI are further accelerating this evolution, making spatial computing technologies more powerful and accessible. As we continue to explore and develop these technologies, the potential for new experiences, social connections, and solutions will only expand.

This point in time is analogous to the early days of the “world wide web.” It was becoming increasingly clear this was a vast new frontier of computing but both the hardware and the applications were still treading new ground. Would the “world wide web” replace services like BBS systems, CompuServe and America Online? Everything was slow to load, and the graphics were not impressive (yet). But the potential was emerging faster and faster, and early adopters blazed new trails and created an entire vast ecosystem that today are used by almost 7 billion people. Spatial computing and XR is the next step in the long story of ever newer forms of media emerging to change the world. Theatre was replaced by radio, then movies emerged, then television, then computers, then portable multimedia in the form of smartphones and tablets, and now here we are at the next evolution.

It’s going to be a fun few decades.

Contribution to PopcornFX 2.10 Now Released

The PopcornFX team honored me recently by including content I’ve created as part of the official 2.10 release. As they work towards a version in which user content can be uploaded and shared freely, the team approached me knowing I had a pack of templates and example projects I was intending to share out to other users. I was flattered and pleased to share this content out via an official release like this.

It’s worth noting that PopcornFX is free to download and use for personal learning, as is this content pack. https://www.popcornfx.com/ The content I’ve contributed can be downloaded directly from the editor and is among the “official” learning content and examples.

By including this content in the 2.10 release they have a demonstration and first test of how new nodes and files can be created by a third party and shared among users.

The content is a collection of 31 “templates” or custom nodes I originally created for myself as I worked with PKFX. The nodes are documented and tested and vary widely in both their usage and usefulness. A few are so helpful I use them in practically everything I do now, while others are very specific in their use cases. 

In addition there is a small suite of “example” files showing various effects, each cleanly presented, commented and documented. 

I tend to clean and document files for myself as part of my creation process so it didn’t take much effort to prep these files for the public. Hopefully they will spark interest and prove useful as examples of one user’s workflow, in tasks both simple and advanced.

Read more for descriptions of each of the nodes included:

New nodes

Random Spherical Vector
Produces a pure random vector from a unit sphere.
Random Value In Cone
Generates a random vector in a conical arc with the center by default oriented in the positive Y axis.
Test If Points Intersect Plane
Tests point position to determine if it intersects an infinite plane.
Spring Force
Plug into acceleration. Updated position is the particle position on current frame. Rest position is the point the spring seeks to reach. Spring constant is a measure of the “tightness” of the spring.
Wander Around Position
Randomly moves offset around center point position. Two methods available, with their own strengths and weaknesses. Keep seed values low.
Normalized ID
Applies a unique ID ranging from 0 to 1 for all spawned particles. Only works when there is a total (fixed) number of particles spawned.
Time Based Rand
Instead of a unique value per-point this random function delivers a single random value at spawn or per frame.
Animated Noise
Noise function animated over the effect age.
Linear Probability
Produces a boolean and optional values based on a random probability between 0 and 100.
Spiral Trails
When used in a “trail” layer this template causes resulting trail to be a spiral around the parent particle’s path.
Spin on Axis
Animates an incoming vector (position) to rotate around axis over time.
Point Visibility By Facing
Outputs a number 0 or 1 based on whether a point is on the front, back or edge of the sphere of the point normal.
Sparkle Color
Flickers colors over the particle’s lifespan.
Flicker Value
Flips between two values based on a random noise.
Position On Circle
Outputs a vector which lies on a circle defined by input values.
Oscillator
Oscillate between two values. User can choose between several waveforms via a dropdown on the node. Speed is in seconds.
4 Pole Switch
Choose between 4 inputs via a dropdown list on node.
3 Pole Switch
Choose between 3 inputs via a dropdown list on node.
2 Pole Switch
Choose between 2 inputs via a dropdown list on node.
Value by Distance To Camera
Sets a range of values based on each point’s distance to camera.
Kill by Camera Distance
Deletes particles closer or further than a set distance from the camera. 
Identify Single Point
“Tags” a single point or range of points and returns true when graph evaluates them. Use with billboard “enable” to render a single point.
Newtons Universal Gravitation Force
Simple implementation of universal gravitation. Plug into acceleration. Position should be discretized (updated per frame.) Values are arbitrary, not real-world.
Set Circular Orbital Velocity
Calculates velocity needed to place point into a circular orbit when using a universal gravitation force. Normal vector is typically the effect.up vector.
Position On View Axis
Outputs a position along the axis of the camera into the scene, with distance 0 being the camera position. Useful for defining focal planes etc. 
Color Turbulence
Defines a color based on the location of a point within a vector field.
Spatial Basis Rand
Returns random values based on position in a vector field. Must have a “turbulence” node added to sampler input.
Generate Ring
Distributes all spawned points in a ring or arc. Requires a static (total) number of points.
Generate Cyber Rings
Distributes spawned points into a series of circular arcs. Total spawned points must be static, though they can be animated in the layer.
Generate Line
Distributes spawned points on a line between two input locations. Unlike the debug “draw line” this line is made up of spawned points which can be further animated. Requires a static (total) number of points spawned. 
Random Static
Useful for “glitch” effects. Offsets positions by a random value at random intervals. Spatial mode requires a turbulence sample.

 

Creating Bezier Curve Nodes in PopcornFX

While making a demo scene for PopcornFX I found a need to make individual particles move on arcs where I could choose a start and end position, height of the arc, and overall placement in 3d space. Depending on how you approach the problem you can easily find yourself slogging through some pretty involved math, at least for the level I’m at. An “arc” can be a parabola, or a section of a circle or so on. A few directions can take you into the woods pretty quickly. I wanted simple.

The simplest approach I’m aware of is to construct a quadratic bezier curve, since it is defined by a start, end and midpoint and can easily be plotted out using a few LERP functions. If you define a start point, end point and midpoint a quadratic bezier curve describes a very intuitive arc, and if you restrict the control point to be perpendicular to the midpoint of the line between your start and end points you get a beautiful parabolic curve in a very intuitive fashion.

Once I had decided on a quadratic bezier, creating a template in PopcornFX was quick, and it wasn’t long before I had a very useful new node in my toolbox. To extend the idea a little further I decided to take a little extra time and make another node for a cubic bezier curve, which is a logical extension of the same approach.

A cubic bezier curve is defined by a start point and end point like before, only this time those two points each have a separate control point to describe a 3d curve. The resulting path can now diverge from a single plane but is still simple enough for the results to be intuitive. In cases where a quick spline is needed in PKFX, this template should allow the artist to describe a simple motion without having to import in a curve or animation. It’s made up of a series of LERP functions and while the idea can be extended further to create fourth or fifth order curves actually wiring up so many LERP’s gets crazy. We’ll stop with our two handy new nodes, the quadratic and cubic beziers.

Here’s what the two look like in PopcornFX. The more complex cubic bezier is the top curve, and the bottom is the quadratic curve, with the midpoint restriction mentioned above:

So from there I had a nice tool to create motion paths of as many separate particles as I needed. To celebrate, I made the following simulation. Yes, we are playing a game of thermonuclear war:

There are a myriad of ways in which the above animation could be approached, but by abstracting out the “arc” motions into templates I am able to finish the project in a way that leaves me with tools for further work in the future. And of course these nodes can not only be re-used, they can be shared out with other artists.

A final benefit is a much more simple graph overall, and best of all we’ve avoided relying on simulation. Sure you could fire each particle like a little mortar and let a physics node calculate the motion up to the point where the particle collides back to earth. But that’s computationally wasteful and worse it cedes control of the results to the parameters you give the simulation.

By abstracting out the arcs the way I did, I am able to easily able to set conditions so that every arc starts from a populated region and ends in a populated region. If you watch the animation you will note no arcs start or end in the ocean. (I admit however that I didn’t go so far as to prevent Canada from nuking the USA and vice versa…)

Similarly I have control over the heights of the arcs, their angle respective to the surface of the world, and the range or distance any point is allowed to travel. Simple procedural approaches can yield visual complexity while retaining control and easing the difficulty of projects!

By the way this image is entirely particles. 

The “land” and “city” areas are the result of taking some texture maps of the earth from NASA into Houdini and using them to create PKFX-friendly emitter geometry as .FBX polygonal meshes. This lets me quickly spawn particles exactly where I wanted them as well as define start and end positions for arcs in areas already predefined as valid. No dart-throwing approaches where particles are spawned and then accepted or rejected based on texture maps or the like.

You can’t always predefine information this way but in this case having re-usable meshes defining the landmasses and cities of Earth was another useful set of tools for future projects. Perhaps the next one won’t be quite so apocalyptic…

Misc Shots

I haven’t edited an “official” demo reel in a very long time. People know who I am, and hire me for projects based on peer testimonial and having seen past work directly. A reel just hasn’t been needed, since I’m fortunate enough to be a freelancer who gets approached regularly. So when I started teaching students who knew nothing about me I had the challenge of presenting myself to an entirely new audience who were eager to see some work I’ve done in films. I really haven’t had time to edit much, so instead I spent an evening grabbing various shots from films and the like. Stuff I’ve either worked on directly, supervised, or had some hand in.

I have only grabbed a portion of the films I’ve worked on, plus some TV and game stuff, pretty much in the order they were stacked on my desk. The choices are fairly miscellaneous – at the moment I just don’t have time to go through film after film and say “oh yeah, I did that,” then tighten it all down into an edit with music and polish. I know, this breaks all the rules where I’m supposed to present only the very very best, nothing less. But the policy that seems to work best for me is to just be open, good or bad just get it out there and get back to making the next thing. I will never be a charismatic showman or clever self-promoter. I’m a creative geek and frankly I like showing failures, too. It’s part of the process, and that’s what really motivates me.

So all of that said, here’s about 6 minutes of footage and, well, stuff. I basically play it in the background when I introduce myself to students, so it is what it is. Enjoy!