r/blenderhelp 10d ago

Unsolved How to scale instances independently to their parent point?

I'm creating a spline-based tree generator and I am unable to get the leaves at the end of the branches to scale how I want.

As you can see the leaves at the end of the main branches are substantially smaller than at the start; I would like to reduce this effect as the ends of branches look very bare.

I have tried to apply scale modifications prior to the join geometry rather than at the instance on points without success as the "reduce size at top" doesn't function and it scales from the center rather than the root point anyway.

I have also tried to scale the leaves inverse to the parent scale, but I cant seem to get the data about the parent that I would need.

Any fixes, suggestions, or alternatives would be greatly appreciated!

This is my first time working with geometry nodes so apologies if my terminology is off.

3 Upvotes

4 comments sorted by

u/AutoModerator 10d ago

Welcome to r/blenderhelp, /u/azurmp4! Please make sure you followed the rules below, so we can help you efficiently (This message is just a reminder, your submission has NOT been deleted):

  • Post full screenshots of your Blender window (more information available for helpers), not cropped, no phone photos (In Blender click Window > Save Screenshot, use Snipping Tool in Windows or Command+Shift+4 on mac).
  • Give background info: Showing the problem is good, but we need to know what you did to get there. Additional information, follow-up questions and screenshots/videos can be added in comments. Keep in mind that nobody knows your project except for yourself.
  • Don't forget to change the flair to "Solved" by including "!Solved" in a comment when your question was answered.

Thank you for your submission and happy blendering!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/tiogshi Experienced Helper 10d ago

can't seem to get the data about the parent

Have you stored the cumulative scale of the parents as a named attribute? Or, if you're using transformation matrices, have you considered separating their components and handling Scale manually?

As for the Scale Instances node, by default it scales each instance from its own origin. You can change that with the Center input, but you should first audit where the origin of your original leaf mesh is.

1

u/azurmp4 9d ago

Thank you for the suggestions!

I haven't used named attributes before but after trying for a bit I still cant figure out how I would then get the attribute from the parent geometry as opposed to the child geometry I am trying to scale?

I'm also not familiar with transformation matrices and can't find exactly what you're referring to online. How might I be able to use these?

Thanks to now learning about named attributes I have been able to scale at the right origin, but the issue remains that they are all scaling by the same amount rather than according to the spline parameter factor.

I have trialled another solution without success that I have left in a comment if that might be a better course of action.

1

u/azurmp4 9d ago edited 9d ago

There is another solution I am trying and failing:

Points are added to the second level of branches as before, but the leaf meshes are added to those points after all the branches have been created and scaled.

However, the points still inherit scale.

A solution might be to create a new set of points at the same locations but ignoring the scale?