db&w documentation wiki

finest software | finest docs

Site Tools


tools:proposals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tools:proposals [2019/05/27 13:26] lightwolftools:proposals [2023/10/17 12:49] (current) – [Selections] lightwolf
Line 3: Line 3:
 This is a list of plugin ideas that have been vetted and will at some point in time be available for voting by patrons. This is a list of plugin ideas that have been vetted and will at some point in time be available for voting by patrons.
  
-===== UV Transform ===== +===== Selections ===== 
-Similar in functionality to the UV Distort tool developed in March 2019Howeverthis will allow you to moverotate and resize a selection of points in UV space using a bounding box interfaceSimilar to the transform tool in Photoshop.+ 
 +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 [[tools: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. 
 + 
 + 
 + 
 +===== Copy Deformer ===== 
 + 
 +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. 
 + 
 +===== Visibility Toggle ===== 
 + 
 +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. 
 + 
 + 
 + 
 + 
 + 
 +===== Channel Panel ===== 
 +A singlenon-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. 
 + 
 + 
 + 
 +===== UV Massaging ===== 
 + 
 +Takes the output of a projection node and massages the UVs: 
 + 
 +  - Rotation 
 +  - Scale 
 +  - Offset 
 + 
 +Automate tiling 
 + 
 +===== 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. 
 + 
 +===== Object selector ===== 
 + 
 +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. 
 + 
 + 
 +===== Hatching shader ===== 
 + 
 +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 ===== ===== Fog Pixel Filter =====
Line 10: Line 103:
 One caveat: Due to the nature of pixel filters, there will be no fog behind transparencies.  One caveat: Due to the nature of pixel filters, there will be no fog behind transparencies. 
  
 +----
 +===== CCTV =====
 +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) ===== ===== Spline Toolkit (S-Tk) =====
  
-Due to the complexity and breadth, this will be a multi-stage set of plugins. We will try to make sure that a useful addition will be created per month.+Moved to [[tools:s-tk:start]]
  
-However, the first stage will take **two months of development** to get the foundation right.+----
  
-==== Base Stage ====+===== Image Layers =====
  
-A new Primitive Type((Just like Shapes and OpenVDB items)) will be developed, called "db&w Spline".+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.
  
-Initially this will host a Bezier Spline((that's the ones with handles)) which can be open or closed. When selected, it can be edited using a Gizmo((a part of the LW SDK that allows for interacting with items in the viewports)).+----
  
-Internally, the splines will be managed using a global plugin((essentially a library that can be used by multiple plugins)) to allow other plugins to discover and use the splines.+===== Mesh Falloff Node =====
  
-To make the spline usefulwe'll add a motion plugin as well as an evaluation node that can be used for motion node graphs.+Similar to the one present in Blenderneeds more research to check what it actually does.
  
-The spline will be static the control points can not be animated at this stage.+----
  
-Due to the complexity of getting the architecture right, The Base Stage will be a **two months** project on Patreon. 
  
-Following the base stage, and of the following modules may be added in any order.+===== Limited Region Manager =====
  
-==== Module 1 - Animatable splines ====+Mainly a master plugin that can store multiple, different, limited regions. Also, limited regions may be animated (but likely not be used in lwsn).
  
-This adds envelopes to the spline controls points and handles and updates the gizmo to allow for keyframing the points and handles.+----
  
-==== Module 2 - More Spline types ==== 
  
-This adds CSplines (the ones used by default for LightWave envelopes) as well as B-Splines. Splines can be converted, but only the control points are translated. The shape of the curves will change.+===== Colour Curves Node / Image Filter / Pixel Filter =====
  
-==== Module 3 - Smarter Beziers ====+A plugin similar to the curves adjustment available in image processing applications.
  
-Allows for designating a control point as being smooth or hardthis will also be taken into account if the spline is animated.+Requires custom control to be able to display and edit spline, also requires r&d on the best 2D spline type to use
  
-==== Module 4 Deform ====+This would be a two months project one for the custom control, one for the actual plugins using it.
  
-Adds a node and a deformer plugin to deform a mesh along a spline.+----
  
-==== Module 5 - Proximity Node ====+===== Deformation modifiers =====
  
-A node that computes the closest distance to a spline, this can be used for shading.+Deformation plugins to extend and replace the native deformations.
  
-==== Module 6 - Renderable Splines ====+All of these would come with Gizmos for interactive control in the viewport.
  
-Allows for splines to be rendered.+This would be one plugin per month.
  
-===== Image Layers =====+  * <del>**Translate** - Move, Rotate, Scale but as a deformation.</del> - implemented 
 +  * **Twist** 
 +  * **Bend**
  
-A set of tools to deal with items that stem from multi-layered image file. Could even be based on a new Primitive Type as well.+---- 
 + 
 + 
 +====== Proposals that have been implemented ====== 
 + 
 +===== Instance Filter Node ===== 
 + 
 +Implemented for September 2020 
 + 
 +Similar to the Instance Inspector, this provides 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 timeThe 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 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? 
 + 
 +---- 
 + 
 + 
 +===== DoF Tool ===== 
 + 
 +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. 
 + 
 +===== UV Transform ===== 
 +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. 
 + 
 +---- 
 + 
 +===== Multi Mixer ===== 
 + 
 +Similar to the Multi Switcher nodes, but allows for mixing like the morph mixer does. Developed in August 2020. 
 + 
 +---- 
 + 
 +===== Transformation Deformer ===== 
 + 
 +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.
tools/proposals.1558956384.txt.gz · Last modified: 2019/05/27 13:26 by lightwolf