Copy to Points with random scale in each direction

   20901   4   0
User Avatar
Member
1 posts
Joined: 1月 2018
オフライン
Hello, first post here.

I'm trying to do something that seems simple but I just cannot figure it out.

I'd like to take a piece of geometry and copy it to points, and randomize scale in each direction to give it some variation. I've tried using rand() a number of different ways, in a for-each loop, but any time I apply a random change to scale in X, Y and Z each copy ends up looking identical.

It's probably dead easy but I'm stuck!

Thanks in advance for any help.
User Avatar
Member
17 posts
Joined: 3月 2015
オフライン
You have to randomize v@scale attribute on points that You want to copy You geo to.

You can use rand(float seed) function, and use different value for seed argument for each or use some kind of noise, like
v@scale = fit(vector(anoise(v@P)), set(0,0,0), set(1,1,1), set(0.2,0.2,0.2), set(1.8,1.8,1.8));
User Avatar
Member
14 posts
Joined: 9月 2018
オフライン
Drop an “Attribute Randomize” node before the “Copy to Points” node and change the Attribute Name from “Cd” to “scale”. Then you'll have min-max values and you can drag the “Global Seed” slider (from the “Options” tab) until you're satisfied with the variation (and maybe not use min-max from 0 to 1 on all axes, but something like 0.5 to 1, which gives it a more subtle variation).
User Avatar
Member
1 posts
Joined: 3月 2026
オフライン
I tried the methods above, but they didn't make a difference in my case, or maybe I just missed something. I'd like to be able to scale each point relative to the center of the sphere, but with variations in their positions (one farther away, the other closer.
Is that supposed to be the right technique?

Attachments:
Capture d'écran 2026-07-19 111131.png (2.5 MB)

User Avatar
Member
413 posts
Joined: 8月 2018
オフライン
PoppyPLOuf - it would have probably been better to start a new thread : ) Tagging on to the end of the 2019 one is likely to cause confusion. Particularly as your question is not the same as the original.

Anyway: if you want your scattered points to be at different radii relative to the centre, do this:

Add a 'Attribute Adjust Vector' SOP with the following settings:
Attribute name : P
Adjust value > Adjustment for: Length only
Operation to: Subtract
Adjust with: Random
Min / max as you prefer (eg: min 0.5 / max 1.0)

This will move the points randomly inwards towards the centre of your sphere.
You can then use those points to do a copy to points operation etc.

NOTE: All this is assuming your sphere is located at object centre, ie: 0,0,0
Edited by Mike_A - 2026年7月22日 10:26:10
  • Quick Links