Table of Contents
This is a list of plugin ideas that have been vetted and will at some point in time be available for voting by patrons.
Additional selections: Groups and Instancers
Click on an instance and select the instancer.
Click on an item and select the group.
Groups are defined by nulls hosting a special plugin or stored as item comments.
Groups can be created and removed using plugins.
Based on Polygon Picker
Single Input, Multiple Outputs
Take a single scalar input to drive any amount of outputs by distributing the value. With different spline based interpolations.
Copies positions of deformed vertices from one mesh (or a list of meshes) to the current one. Similar to morph mixer. Based on the same vertex count, if possible also based on the vertex position. May be modified by weight maps.
This would allow for multiple skeletons driving the same mesh deformation.
Toggles the visibility of special items such as targetting lines in a way similar to qckPck.
"Charlotte" - Onion Skinning for Bones
Display the animation of bones in the current item as an onion skin.
A single, non-modal panel that contains all envelopes related to the current selection.
Beyond the basic channels common to all items, specific channels for meshes, lights or cameras will be displayed if available as well.
The panel has a custom scrollbar to scroll vertically if required.
Multiple channels can be selected and their value changed by dragging left/right in the viewport.
The plugin is implemented as a Master plugin with a LWPanels interface and a gizmo for the dragging information.
Filters can be defined and stored as a preset. The filters work by including/excluding partial strings.
Takes the output of a projection node and massages the UVs:
Sprite Sheet Image Mapper
A sprite sheet is a single image that contains a number of rows and columns of smaller images that can be (but don't have to be) an animation.
The plugin would be like any of the other image texturing nodes, but with the following additions:
A columns and rows input the defines how many rows and columns of pictures are in the image (or X/Y size in pixels).
Additional inputs are a time/offset and speed envelope as well as matching nodal inputs.
The node will either use the sprites as a (looping) animation or will allow for picking individual pictures within the sprite sheet.
This includes a tool to create a sprite sheet within LW as well.
As a command (which can be applied to a hotkey), it takes the current selection of items and selects all items that use the same LWOs. Basically, select one layer of a LWO, activate the command and get a selection of all the layers of said LWO.
A NPR shader to hatch surfaces, either procedurally or using image textures.
Optionally, add a Blend % to the Multi-Vector Switcher when interpolating.
Also, an additive version of the Multi-Vector Switcher (maybe using Blend modes as well).
Fog Pixel Filter
An attempt to bring old school simple fog back to LightWave 3D. This will change the colour of render samples depending on the distance to the camera, using settings similar to the fog that was available in 2015 and earlier. It will also take the item flags for fog into account. One caveat: Due to the nature of pixel filters, there will be no fog behind transparencies.
Replacement for the CCTV shader that was lost in 2018. Basically traces through a camera and maps the result to a projection.
Spline Toolkit (S-Tk)
Moved to Spline Toolkit (S-Tk)
A set of tools to deal with items that stem from a multi-layered image file. Could even be based on a new Primitive Type as well.
Mesh Falloff Node
Similar to the one present in Blender, needs more research to check what it actually does.
Limited Region Manager
Mainly a master plugin that can store multiple, different, limited regions. Also, limited regions may be animated (but likely not be used in lwsn).
Colour Curves Node / Image Filter / Pixel Filter
A plugin similar to the curves adjustment available in image processing applications.
Requires a custom control to be able to display and edit spline, also requires r&d on the best 2D spline type to use.
This would be a two months project - one for the custom control, one for the actual plugins using it.
Deformation plugins to extend and replace the native deformations.
All of these would come with Gizmos for interactive control in the viewport.
This would be one plugin per month.
Translate - Move, Rotate, Scale but as a deformation.- implemented
Proposals that have been implemented
Instance Filter Node
Implemented for September 2020
Similar to the Instance Inspector, this provides a picker in the viewport to select multiple instances which can be used to filter the current instance ID when shading.
This way, specific paths can be taken in the node graph using the logic nodes and switchers, depending on whether the currently shaded instance has been selected or not.
Audio Frequency Node (Kenneth ;)
Implemented in April/May 2020
Load audio files, use FFT to extract the amplitude at specific frequencies and expose them as scalar values.
The result of the FFT computation will be cached in memory for best performance, allowing any frequency to be extracted from the same audio file at any time. The cache is shared between plugins.
There will also be a channel modifier.
Multiple audio files are supported. The allowed file formats will depend on the library we'll use for that, but at least include WAV. The choice of libraries to use will depend on their licensing. The LGPL is, unfortunately, out of the question as it would add additional files to distribute and install.
Multi Variables Node
Implemented in March 2020
A node that provides multiple values types as nodal outputs and GUI controls. They can be customized.
The idea is to allow for creating once node that holds a collection of parameters used elsewhere in the node graph.
Starts out as an empty node, new outputs are added by right clicking on the node.
Outputs and respective controls may possibly be renamed.
Bonus node: Elbow
An empty node where inputs can be added, which pass through to automatically added outputs. Used to clean up the layout of node graphs.
Oscillator - node/motion modifier
Implemented in February 2020.
The problem currently… Nodal: the amount of nodes needed to setup and control an oscillating motion… time, multiplication, into a Sin node, that also needs multiplying or adding, with more gradients and distance for falloffs - so many controllers!
Oscillator Motion modifier: it’s incredibly useful but it’s also a modal window. This means you have to open it up, tweak, close, see if it’s what you want, stop, open, tweak, close, preview……
Would love to see a db&w, self contained oscillator node and/or modifier, where I can simply press play and get creative, without the convoluted nodal setup or constant ui clicking! Built in falloff, following of ref nulls, different patterns/shapes possibly(?)…
Almost like a, say, waveform generator in a synthesizer then. So basically, a choice of base waveforms, frequency and amplitude adjustments as well as a fade in and fade out?
Implemented in November 2019.
An interactive tool to set the DoF parameters for a camera, including animated values.
Will also display the volume that's in focus and provide handles for the near, far and focal point.
Similar in functionality to the UV Distort tool developed in March 2019. However, this will allow you to move, rotate and resize a selection of points in UV space using a bounding box interface. Similar to the transform tool in Photoshop.
Similar to the Multi Switcher nodes, but allows for mixing like the morph mixer does. Developed in August 2020.
A deformer that can be placed on the deformation stack (even multiple times) and performs a simple transformation (position, rotation, scale), possibly including weights.
Wheel Rotation node
A node to compute the rotation of a wheel according to a distance moved. Can also output the raw distance and may rely on a cache.