Instance On Curve

Plugins linking to this thread: (hide)

Generate Instance On Curve 1.3Author: Julien Carmagnac
Updated June 2013 (info) — Based on a part of the »Create Copies along Curve« Compound of Felix Geremus, I try with this tool to cover many possible situation as possible with copies on curves. It work with multiple curves, even merged, and generate as many point cloud as necessary. We can easily edit all of then with the Multi Edit PPG.

The 1.2 update adds these new features and functions: Exposed »accuracy« parameter Adjust scale with real space in X,Y Or Z Delete Last Instance on open Curve Delete Neighbors with distance Random scale on X,Y,Z independently Offset scale on X,Y,Z independently Create from preset Save preset Randomize Update instances

Demonstration videos available here (V1.0) and here (V1.1) and here (V1.2).

Note that the download in the first post of the si-community thread isn't the most current version. Look further down in the thread to find it.

local backup: InstanceOnCurve_v1.3.xsiaddon

Falam

Re: Instance On Curve

Post by Falam » 18 Dec 2012, 15:27

It would be nice if this tool worked on Reference objects ? I have a hierarchy of objects that can bend with the null being the parent of all the "parts" but Instance on curve cannot bend objects around a curve ?

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 12 Jan 2013, 20:59

Hello Falam, sorry for my late reply i-) .

What do you mean by reference objects ?
Currently you can add null object to the Samples group and all sub objects in your null hierarchy will be instanciate on the curve.
If you want instanciate individually all sub objects, just put them directly into your Samples group.

You can detail your question, I will answer quickly is promised !

Falam

Re: Instance On Curve

Post by Falam » 13 Jan 2013, 04:14

julca wrote:Hello Falam, sorry for my late reply i-) .

What do you mean by reference objects ?
Currently you can add null object to the Samples group and all sub objects in your null hierarchy will be instanciate on the curve.
If you want instanciate individually all sub objects, just put them directly into your Samples group.

You can detail your question, I will answer quickly is promised !
Thanks for that tip :)
What I mean is, I have a object that has a hierarchy of objects, this object has 'joints' that can bend and I have imported it into the scene as a reference object, from my point of view, instance on curve won't accept reference objects ?

Going back to the first sentence :), I would like the object to bend, to clearer understand what I'm talking about think 'chain' as in bicycle chain but not an exact 'bicycle chain' :) I would like the 'chain' in my case the parts to bend on the curve.

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 13 Jan 2013, 12:08

You can put a reference model with a hierarchy of objects on the "Sample" group and it will be instanciate with all sub objects.

Now, if you wan't bend a hierarchy of objects along the curve you can put all sub objects individually in your Samples group (see picture above).
instanceOnCurve_abcdef.jpg
Don't forget to uncheck the "Randomize Selection" parameter.

Otherwise, you can use the Derform By Curve operator.
Hope that help you !

Falam

Re: Instance On Curve

Post by Falam » 14 Jan 2013, 06:05

julca wrote:You can put a reference model with a hierarchy of objects on the "Sample" group and it will be instanciate with all sub objects.

Now, if you wan't bend a hierarchy of objects along the curve you can put all sub objects individually in your Samples group (see picture above).
instanceOnCurve_abcdef.jpg
Don't forget to uncheck the "Randomize Selection" parameter.

Otherwise, you can use the Derform By Curve operator.
Hope that help you !
My results are pretty good, although I have a suggestion. :) You mentioned if I want a hierarchy of objects along the curve to bend, I should place all object individually in the 'samples group'.

What if they are individual with a null being the parent (reference object) this is my scenario, and they are not bending ? To clarify, the null is the parent of all the individual parts, imported into the scene as a reference object, instance on curve is applied to the curve and the null with all it's individual pieces is packaged up as a 'group' and placed into the 'samples group' of the instance to curve tool, although the individual parts of the objects are not bending along the curve.

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 14 Jan 2013, 08:06

Yes, you must place all objects individually in your group (or select them with your curve before creation).
Because you may want to instanciate simples objects and model/null composed by a hierarchy of objects, together.

Also, if you want to preserve your hierarchy with the null, first generate instance with your curve and null selected and after remove manually your null from the group and put your childs objects into it.

Falam

Re: Instance On Curve

Post by Falam » 15 Jan 2013, 01:29

julca wrote:Yes, you must place all objects individually in your group (or select them with your curve before creation).
Because you may want to instanciate simples objects and model/null composed by a hierarchy of objects, together.

Also, if you want to preserve your hierarchy with the null, first generate instance with your curve and null selected and after remove manually your null from the group and put your childs objects into it.
All my objects are individual objects, the null is the parent for all those parts, below is what the result looks like. The parts are not bending along the curve, rather the object duplicates it's self (instance) along the curve.

Image

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 15 Jan 2013, 11:30

You may place your pivot at the beginning or end of your objects and then use the next influence parameter (as in the photo below) .
InstanceOnCurve_nextInfluence.jpg

Falam

Re: Instance On Curve

Post by Falam » 26 Jan 2013, 07:43

julca wrote:You may place your pivot at the beginning or end of your objects and then use the next influence parameter (as in the photo below) .
InstanceOnCurve_nextInfluence.jpg
What is missing is collision detection, or if it can work with, mesh paint, I think that was it where you can move objects around as if your painting!

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 16 Feb 2013, 22:48

Hello !

Here is an update of Instance On Curve now 1.2 with new functionalities :
- Expose "accuracy" parameter
- Adjust scale with real space in X,Y Or Z
- Delete Last Instance on open Curve
- Delete Neighbors with distance
- Random scale on X,Y,Z independently
- Offset scale on X,Y,Z independently

And new functions in the menu :
- Create from preset
- Save preset
- Randomize
- Update instances (workaround to a softimage bug : http://www.si-community.com/community/v ... =15&t=3009)


You can see an overview below
InstanceOnCurve_v1.2.rar
(107.56 KiB) Downloaded 562 times
You can also play with the "delete neighbors" compound which is part of the main compound.
delete neighbors.xsicompound
(38.18 KiB) Downloaded 408 times

User avatar
Maximus
Posts: 1103
Joined: 09 Jun 2009, 15:45

Re: Instance On Curve

Post by Maximus » 17 Feb 2013, 04:25

Wow..this is brilliant and fast!
Thanks a lot for sharing this tool :)

Falam

Re: Instance On Curve

Post by Falam » 17 Feb 2013, 06:59

julca wrote:Hello !

Here is an update of Instance On Curve now 1.2 with new functionalities :
- Expose "accuracy" parameter
- Adjust scale with real space in X,Y Or Z
- Delete Last Instance on open Curve
- Delete Neighbors with distance
- Random scale on X,Y,Z independently
- Offset scale on X,Y,Z independently

And new functions in the menu :
- Create from preset
- Save preset
- Randomize
- Update instances (workaround to a softimage bug : http://www.si-community.com/community/v ... =15&t=3009)


You can see an overview below
InstanceOnCurve_v1.2.rar
You can also play with the "delete neighbors" compound which is part of the main compound.
delete neighbors.xsicompound
Thanks, for the update. I like the preset option. Although I don't quite understand how the delete neighbors helps :) ?

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 17 Feb 2013, 09:06

Hello Falam,

The "delete neighbors" is already inside the Instance on curve compound :
neighbor.jpg
neighbor.jpg (33.03 KiB) Viewed 6843 times
I have also provided it separately for another use than "Instance on Curve" plugin.

Zafar Iqbal
Moderator
Posts: 169
Joined: 26 Oct 2009, 10:04

Re: Instance On Curve

Post by Zafar Iqbal » 04 Apr 2013, 21:33

Dayum - I stumbled upon the video on Vimeo. This is such nice work.

A colleague at a clients place made a Unity script to do similar stuff a while back, and it made me wish I could have something similar in XSI. I've previously done a number of racetracks (in v7 days) and back then it was all manual work. Was OK but not as quick or elegant as this solution allows.

:ymapplause:
- Zafar Iqbal

julca
Posts: 145
Joined: 07 Sep 2012, 14:24

Re: Instance On Curve

Post by julca » 05 Apr 2013, 03:24

Thank you :) .

It is always good to know that the time spent creating a tool is useful to someone.

User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands
Contact:

Re: Instance On Curve

Post by Rork » 05 Apr 2013, 09:50

Woot!

Nice new features on this one!
Big thanks for sharing this again with the community, much appreciated! :-bd

rob
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

Post Reply

Who is online

Users browsing this forum: No registered users and 36 guests