So I have this object, which is simply a basic mesh with an array modifier and a curve modifier that causes it to create many copies of it along a curve that moves with the dragon's back. The thing is that I want the further six elements are on the curve, I want it to be smaller as the curve progresses (as if 0 is the last point in the curve and 1 is the first point), so it matches the size of the tail. I tried to do something like this with Geometry Nodes and it didn't work. Do you have any idea how I can do this? Preferably it can refer to any element in an array separately so that it changes only whole panels and does not change in different places in one panel. Hope that's understandable.
You can use a Geometry Nodes system and instance the object you want. And use a Resample Curve node set to evaluated. Using the Spline Paramater: Factor you can scale the instances. The Resolution U in the Curve object's Object Data Properties will decide the resolution.
Setting it to evaluated will give you a benefit of controlling the scale and distribution of the instances. (The other methods will distribute points evenly which can cause a significant gap as the instances are scaled down more and more)
The Align Euler to Vector node will rotate the instances to the specified vector. The particular settings of the node wll depend on the object you are instancing. But the vector will be the normal of the curve. Since the curve is 3D, you will have to change the tilt (manually) as well.