*(Using Blender 3.6.8)* *(NB: documentation to be continued)* The approach implemented in the following GN graph is: - To trim the curve to make its length proportional to the user-defined spacing (dark red part). - To spawn on points instances picked in a collection, as many times as required (dark green part). - To spawn on the last point a specific instance (dark blue part). [![GN Graph][2]][2] #### Setup #### **1.** A `BezierCurve` is added in *Object Mode*. In *Edit Mode*, its control points are "hooked" to three empties, used as manipulating handles. The middle one is animated up and down. **2.** In *Object Mode*, one `Cube` is added at the world origin, then duplicated. This copy is rotated by 45 degrees around its Z axis, remaining centred at the world origin. Both cubes are gathered in a *Collection*. These are picked in alphabetical order. So their name is edited to control which one is instanced on odd indices (the first one), and which one is instanced on even indices (the second one). **3.** In *Object Mode*, one `Sphere` is added at the world origin. *(NB: Transformations must be "applied" to these objects, cubes and sphere, to spawn).* **4.** In *Object Mode*, one `Single Vert` is added at the world origin. The *GeometryNodes* modifier is attached to this object. Its *Input* are: **4.1.** *Curve*: the curve on which to spawn other objects. **4.2.** *Last*: the object to spawn at the last index. **4.3.** *Collection*: the collection containing the objects duplicated along the curve. **4.4.** *Count*: the number of objects to spawn, excluding the last one. **4.5.** *Length*: the distance between two successive spawned objects. #### Trimming the curve #### #### Spawning duplicated objects from collection #### #### Spawning the last object #### #### Resources #### - Blender file: [<img src="https://blend-exchange.com/embedImage.png?bid=3yBYa6bX" />](https://blend-exchange.com/b/3yBYa6bX/) - About... [1]: https://i.sstatic.net/v8P3B3Po.png [2]: https://i.sstatic.net/M6eKhxFp.png