Download Latest Version PCGEx 0.72.1 source code.tar.gz (2.9 MB)
Email in envelope

Get an email when there's a new version of PCGExtendedToolkit

Home / v0.53
Name Modified Size InfoDownloads / Week
Parent folder
PCGEx 0.53 source code.tar.gz 2025-01-08 1.4 MB
PCGEx 0.53 source code.zip 2025-01-08 2.1 MB
README.md 2025-01-08 6.0 kB
Totals: 3 Items   3.5 MB 0

What's Changed

  • A boatload of new features & nodes!
  • Tensor Field ecosystem
  • Texture Data utils
  • Bunch of small utils / QoL nodes
  • Async Framework refactor, no more crashes for async reasons.

New Nodes

Tensor Ecosystem

The gist is, convert data into tensor fields, and then use these "tensors" into node that support them. Overall the works like heuristics : you can combine any number of them and assign them a Tensor Weight to tweak the importance of a tensor against the other plugged in the same node. - Individual tensors (nodes that convert data to tensor fields) : - Tensor Constant : a simple constant value field - Tensor Flow : converts points to direction & influence in space - Tensor Pole : converts points to "poles" in space which attract or repulse - Tensor Spin : converts points to "spinners", which add angular velocity - Tensor Null : converts points to nullifiers (requires a high tensor weight to work against the others) - Tensor Spline/Path Flow : converts splines and paths to directional flows in space, in a radius - Tensor Spline/Path Pole : converts splines and paths to linear "poles" that attract or repulse - Tensors can be combined with the following nodes: - Tensor Transform : transform points in space using tensors as directional influence - Tensor Filter : same as the Dot Filter only it sample tensors to get its reference direction - Tensor Heuristics : Weights in paths so they follow along a tensor field - Tensor Probe : Used with Connect Points, probes in the direction of the tensor - Path : Extrude Tensors : create paths along tensors by "extruding" seeds points

PCGEx Textures nodes

The gist is, batch-get textures, batch-sample them, and extract texture parameters from material references and generate PCG textures from them (this is the real kicker) This makes working with line trace/world raytrace super powerful as you can grab the render material at the end of the hit along with UVs, extract a texture param and sample its values at given coordinates. - GetTextureData : Same as native' GetTextureData, only this one is attribute-based to go over soft path / string references. Integrates seamless support for RenderTexture2D! - SampleTexture : Again, similar to the native node; however you can sample multiple textures at the same time without the need for a loop using lookup attributes. (it is assumed that those attributes are the same used with GetTextureData in the first place) - Texture Params : a simple re-usable configuration data to be pluggued in texture nodes -- this avoid boilerplate and enables parameters to be easily passed through a hierarchy of subgraphs.

Utils

  • Wait For PCG Data : designed specifically for runtime, it's an alternative to the native GetPCGComponentData that allows waiting for actor/components to exists, can trigger or refresh generation, and most importantly, waits for the data to be ready to output it.
  • Pack Actor Data has been heavily revamped to support instancing PCG-managed components directly from blueprints to arbitrary target actors (components that gets flushed when the PCG is refreshed), enabling some really neat stuff without all the regular PCG Blueprint boilerplate (more like a tradeoff really). Particulary useful for decals, and since it's directly in blueprint you can add some complex logic to set components parameters, all while having direct and easy access to attribute values (barely any admin required)
  • GUIDs, Get them, Write them. A pair of node to create & manage deterministic GUIDs that can be based on a variety of criterias, spatial or not -- very handy to store & retrieve data for specific points or partitions without needing a reference to the whole hierarchy of actors. i.e, you can generate a GUID for a partition based on its position & bounds
  • Attributes to Tags easily tag data with values from its own attributes, or external sources with different matching methods. It sounds silly but it's basically the useful mirror to the native Attributes from Data Tags, which converts tags to attributes.
  • Iterations a surprisingly useful node to output N dataset to drive iteration loops. By default, it's reusing the same pointer in memory for all entries, so very lightweight (the cost of a single attribute no matter how many iterations). I also added the ability to make each data unique in order to write down some easy-to-access data that's useful in the context of a loop:
  • Iteration & NumIterations (the current iterations, the total number of iterations -- I know there's already GetLoopIndex), making it ever easier to nest loop & give higher-level context to child loops.
  • Progress & OneMinusProgress, a double that represent the current loop index as a scalar between 0 and 1. Very useful for lerping and other non-indice based stuff.

Tweaks

  • Custom icons -- Hate'em or love'em, they're here to stay.
  • Applicable Samplers can now output distance in a component-wise fashion, signed or unsigned (Manhattan/Taxi distance)
  • Fixed directional Probes' Favor handling -- it actually never worked properly. You can now pick between Favor closest or Favor best alignment and it will work as expected. (this affects Tensor, Direction and Anisotropic).
  • Too many small things for me to remember
  • Fixed Spline Mesh that was overriding the collision settings from the descriptor

PRs

New Contributors

Full Changelog: https://github.com/Nebukam/PCGExtendedToolkit/compare/v0.52...v0.53

Source: README.md, updated 2025-01-08