View Full Version : creating rivets on an object

12 December 2008, 06:55 AM
I was wondering how what techniques people use to create rivets on an object.
I'm trying to distribute a bunch of spheres on curve to act as rivets and am wondering what the most efficient way of doing this is.

A bunch of constrains to path?

Is there an addon to duplicate and distribute an object?

thanks for your time,


12 December 2008, 05:40 PM
Do you have to model them all? If not then I'd go with normal maps and for close ups a displacement map. Much faster to just grab a brush and stamp them out in PS, or use something like bodypaint, 3dcoat ( or zbrush etc.

These are probably obvious choices to you though...

12 December 2008, 05:52 PM
i think that's a good suggestion but for this design, they have to be modeled .it's sort of a cartoony machine, so the rivets are kind of big. I may end up just placing them by eye but it seems there has to be a way to do it in xsi.


12 December 2008, 12:38 AM
Were you instead hoping there'd be a way to just generate them on the surface with even spacing and then delete the ones you don't want? I'm sure there is a way to do that by emitting from surface with either an ice tree or using the older particle simulation etc.

Can you still just use simple spheres or would you prefer an specific object that is aligned to the normals?

12 December 2008, 12:55 AM
hi mocaw,

Yeah, basically i was kind of looking for some sort of "duplicate, align and distribute" function that would allow me to space these objects along a curve evenly. It's one of those things where I was like "well, hmm this seems like a task that other, much more brilliant people than I have come across - I wonder how they approach it".

I think aligning to normals would be best... I mean for this particular task and model, it may be better for me to just eyeball this stuff (there's not that many rivets!). I guess I just see myself wanting to do this kind of thing (duplicate,align distribute on curve or surface) in the future and just was asking if there was a smarter way of doing it, just to further my knowledge.

I'm sure that there is probably a way to do it ICE-wise or particle wise (which I think would be way beyond me at this point) but was wondering if the functionality was somewhere built in or if someone had made an add-on. I know the functionality to do this is totally in XSI, just wondering if there's an interface that aids in the task.



12 December 2008, 06:00 AM
For objects along a curve you can try this:

Duplicate the object X amount of times as needed.

Select all your duplicate objects (rivets).

GO Constrain->Curve (path)

In the Path %age use the linear variable (command?) L(0,100)

Now your objects should be constrained at equidistant to each other- and best of all it's a live so that if you deform the curve they'll maintain their proximity to each other. Use the upvectors etc. if needed.

If you need to animate this etc. ever check out this video that is part of Manny's great little tutorial DVD:

12 December 2008, 09:10 AM
This is perfect, thanks!

And what a nice guy Manny sounds like in the video.


12 December 2008, 09:03 PM
Be sure to check out his DVD video he has up for sale on 3Dmastermind. VERY good for breaking into XSI animation.

12 December 2008, 09:31 PM
BTW- in case you didn't know, you can use the R(a,b) and L(a,b) commands any place that takes numerical entries in XSI. R is for random, L is for linear. There are a few variants on that command too...

These are very powerful for quickly distributing things (of coarse) and more!

12 December 2008, 11:16 PM
Thanks Mocaw.
Many told me they learned a ton of tricks from that video alone, which is why I made it public :)

CGTalk Moderation
12 December 2008, 11:16 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.