Problem:
As of now there is no way to create with the node graph an array of indexed points, which can be used to parametrized different sort distribution patterns and change other attributes such as scale and rotation. The best solution at the moment is to create an object with a single vertex and use an array modifier and some node setup:
Solution:
The Point Array Node. In short it creates a set amount of points with a index property, which can be used in several ways to create different sorts of grids and arrangements as shown in the examples below without any setup required:
The initial value and increment are self evident, however changing these parameters only change the value which is stored in the specified index attribute and not the amount of points generated.
There are a few questions that came to mind while implementing this though and I hope more experience developers can answer them:
- Which component should I use, as it is now I am using a mesh component, should this sort of operation use a pointcloud component instead or does it not really matter?
- Which category would this node fit? I put it in the Point category, as the most similar node I can think of is there (point distribute), however as this node does not need a geometry input maybe it should be in a different category?
- I am thinking about implementing a 2D and 3D version, i.e. being able to create 2 and 3 attributes that are indexed, of this node. This way it would be much easier to create grids without the need of presetting node groups. Would it be better to have one node for each version or create one single node with a dropdown option, or is implementing these variations not necessary as the community can create node group presets with this functionality?
Edit: Changed the type of attribute, initial value and increment to float. Now it looks like this:






