PDA

View Full Version : LWCAD Railclone issue - trying to clone stadium seats along a path



Waves of light
12-02-2013, 03:03 PM
Hi everyone,

I've search the forum (and the net) but I cannot find any solution to this problem, so I'm wondering if someone with LW and LWCAD can recreate it.

I'm currently modeling Brazilian football stadiums and I'm now at the point of adding in the seats. I've done a little bit of research and eventually I want to use LW instancer or DP instancer to render out the seats. So, I've created my stadium seat (and included a false poly, situated at the lowest point, aligned to the rear of the seat - so that I can collapse it to a single point and use this as my instance marker). I've created a path from the stadium steps geometry and I've a copy of the seat at the leading edge of the path. I then select all the polys of the chair and then activating LWCADs Railclone, but when I select the path, the seats clone in the shape of the path, put shoot off to 0,0,0 in modeler space (i've included a screenshot sequence below). You can drag them back into position, but that sort of defeats the object and I don't want to have to do that for each row.

Can anyone confirm this action, or I am doing something wrong?

118486

gerry_g
12-02-2013, 05:16 PM
does the same to me (places the primary object at 0,0,0,) but while the tool is still active you can drag the little orange circle on the primary object/instance and drag it back to the little orange circle on the path at the other end of the tethered line and snap it to it, there after it will behave itself and when you ratchet up the number of instances they will stay true to the path and not shoot off again

UnCommonGrafx
12-02-2013, 05:32 PM
Viktor shows that as default behavior.
Grab that point at 0,0,0 and move it where you want.
I'm sure you found that answer already, t hough.

Waves of light
12-03-2013, 12:11 AM
Thanks guys, thought that was the case. shame that is the default behaviour because when you're working to scale on a massive stadium it becomes unworkable to do that each time. what makes it hard is you have to zoom in to 0,0,0 to be able to select the point and stay at that zoom level to be able to drag it to the path and it's very slow moving the new geometry. I don't see the benefit of it jumping to 0,0,0 when you're wanting to clone along a path that it away from the centre. I'll send Viktor an email and see if anything can be done.

I'm open to other suggestions, if folks want to jump in.

thanks again for the feedback.

Ricky.

Lewis
12-03-2013, 12:50 AM
not sure about LWCAD version but did you tried Rail clone of native LW ? It's less interactive but still can do the job with few retries/undos until you guess right number you need/want.

probiner
12-03-2013, 02:58 AM
You could instantiate them in Layout with the spline you did in Modeler and Bake the instances.

Or... just leave them as instances for render :)

Good luck

Waves of light
12-03-2013, 03:19 AM
not sure about LWCAD version but did you tried Rail clone of native LW ? It's less interactive but still can do the job with few retries/undos until you guess right number you need/want.

Yer, thanks Lewis. Tried that method and it was a lot longer than using the LWCAD method, as you're only allowed to have one spline/path in the background layer, plus you need to do a lot of guess work and undos to get the correct results each time. Which is where LWCADs RailClone has the advantage... you change the count and see the results, change back if they overlap or keep going until the spacing is nice.


You could instantiate them in Layout with the spline you did in Modeler and Bake the instances.

Or... just leave them as instances for render :)

Good luck

Interesting approach. So, create splines across the whole of the stadium steps, wherever I want seats to be placed. And in Layout use those splines as the driver/placement of the instances. Does that process allow multiple splines? The reason I ask, is I want to apply a node setup to the seating colour that picks a different tint of blue or yellow based on ID number and Y position (so the higher the seating the less chance they will be coloured blue and more chance they will be coloured yellow).

Cheers for responding.

Ricky.

Lewis
12-03-2013, 03:46 AM
Yer, thanks Lewis. Tried that method and it was a lot longer than using the LWCAD method, as you're only allowed to have one spline/path in the background layer, plus you need to do a lot of guess work and undos to get the correct results each time. Which is where LWCADs RailClone has the advantage... you change the count and see the results, change back if they overlap or keep going until the spacing is nice.


I know that LWCAD is interactive and you need guess work undo/redo to get it for LW spline cloner (i did say that - didn't I :)?) You can use 2 different splines in LW cloner but you can't use multiple BG layers.

If is Lw project I'd sure suggest you do instancing but if i remember good you want to sell that mesh so it's needed as geometry afteral so as probiner said you could try baking all instances to geometry eventually.

Waves of light
12-03-2013, 03:54 AM
I know that LWCAD is interactive and you need guess work undo/redo to get it for LW spline cloner (i did say that - didn't I :)?) You can use 2 different splines in LW cloner but you can't use multiple BG layers.

If is Lw project I'd sure suggest you do instancing but if i remember good you want to sell that mesh so it's needed as geometry afteral so as probiner said you could try baking all instances to geometry eventually.

Yer, I will need both. I eventually want to sell one version that has everything setup using Instance generator (so an LWO and LWS) and then a version that has the full geometry, so I can save out an obj. I want to make sure I have the quickest method, as I have another 7 stadiums to complete!

I've sent Viktor an email too, just incase there is something he can do, but to be honest, that's not his problem, that's the way the tool works and just because one user wants it to work slightly different won't mean he'll change it in the next BETA.

I'm going to setup a quick test in Layout using Probiner's suggestion.

Thanks again guys.

Ricky.

Lewis
12-03-2013, 04:12 AM
If you want instanced version also then probiners' suggestion is only way to go and then worry about baking instances (you'll need lot of RAM in your machine to make all that geometry afterward so be sure to spare every polygon you can on those seats :)).

Waves of light
12-03-2013, 04:40 AM
If you want instanced version also then probiners' suggestion is only way to go and then worry about baking instances (you'll need lot of RAM in your machine to make all that geometry afterward so be sure to spare every polygon you can on those seats :)).

Thought that was going to be the case. 8GB here, so I don't know if that's going to handle it. Executive seats are 200 polys each, I will try to get the standard seating down further (there are curved too) before commencing.

I'm running into trouble already with Probiner's suggestion... I've followed Jen's video on Spline Instancing (http://www.youtube.com/watch?v=yft6Z6wbyM8&feature=share&list=UUHH_DyamqSy1UJUCvYhdR8A&index=1) - but there isn't a Curve To Spline tool in my version of 11.6. So I killed configs, still not there. Found it by doing a search in Edit Menus, but when I try to execute it, I get an error message saying curve_to_spline.py not in the program files, but it is. Errrm. So just uninstalling and reinstalling the latest version of 11.6 from Lightwave3D.com to check....

EDIT: And we're back working again. Had to reinstall LW, but now Curve to Spline is working.

Waves of light
12-03-2013, 05:46 AM
Quick update. The curve to spline method and using the resulting spline to generate seat clones doesn't seem to work with more than one curve. So again, I'd have to have a single curve for each row of seating and set up instancing on each curve. And personally I think that's probably going to take longer than the LWCAD method. Time to bite the bullet and get on with doing it using LWCAD RailClone.

On a side note, I'd attempted to use PlaceMesh for some of the VIP seating area, but it won't let you change the position on your placed mesh, once you click and select the area you want to place the cloned mesh. It will only let you rotate or scale it.

spherical
12-03-2013, 05:53 PM
Here's an approach that would perhaps do it, given a lot of "ifs". I thought I remembered a plugin that would do this but can't locate it, if it does indeed exist. The plugin uses a selection and centers it, moving with it all geometry, not just the selection. It's sort of like Center in Viewport but moves the geometry to 0,0,0 instead. If it doesn't exist, we need one.

Select a point, curve or other geometry, use the plugin to move the entire geometry to place the selected element at Origin (everything surrounding it is/remains in its position relative to the selection—just gets pulled along with it), run the RailClone, select the next curve, repeat until all seats are generated, F3 the geometry back to centered on Origin with clones in place.

hrgiger
12-03-2013, 06:49 PM
On a side note, I'd attempted to use PlaceMesh for some of the VIP seating area, but it won't let you change the position on your placed mesh, once you click and select the area you want to place the cloned mesh. It will only let you rotate or scale it.


Yep. Just made a feature request for a few enhancements for place mesh recently in the Feature Request forum and that was one of them.

Waves of light
12-04-2013, 06:07 AM
@spherical: I think I know what you mean and if I could find/remember that plugin it would probably be quicker than some of the other methods mentioned.

@hrgiger: I didn't know there was a feature request area! Hopefully your requests will be introduced in the next fix/release. They could easily use the MMB or RMB to reposition the resulting cloned geometry as all three buttons do the same at the moment.

Ok, been playing around and testing seat geom v instanced geom. My main reasons for wanting to use instanced seats is so that I can apply a texture switch to the leather/plastic fabric and keep memory hog down to a minimum.

Last night I managed to get the VIP area created. I used one seat and included a flat spare/redundant poly (that I can use for instance placement later on) and use the RailClone along with curves I had drawn whilst the stadium geometry was in the BG. I managed to get a pretty quick workflow going... select polys, RailClone, select curve, zoom out, grab resulting polys (whilst still in RailClone mode), move to start of curve, zoom in, position clones better, repeat process.

I also found that creating 4 seats (one for each row) and running the process cut down times. It doesn't always work, especially where the VIP area curves more towards its ends, but it helped in areas.

Now, the instance version seems to be causing me some more issues. Here's my workflow, to make sure I'm getting it right:

1. In Modeler, copied the redundant polys to their own layer.
2. In Layout selected that layer and from the object properties and inside the Instancer Tab, selected 'Instance Generator'
3. Add the 'VIP Seat' (which is a single version of the seat at 0,0,0) as the instance object
4. In the Generation tab, I selected Polygons and selected Max Polygons.

All my instanced seats are generated, but no matter what settings I use (rotation - Alignment, Mode, Target Item, Target Mode)

I cannot get them to align to the positions of the manually create seats. Am I correct in thinking that an instance of the seat should be generated, positioned and aligned to each poly and in the direction of that placement poly?

This is the closest I could get:

Looks good from far out:
118509

But zoom in and you can see that the seats aren't aligned:
118510

Grey arm rests are manually created and positioned seats, black armrests are instances, using the fake poly for each seat, so they should match up and align!

Errrmm.

And here's why I want to use Instanced seats, the random node allows different seat colouring (something the Maracana Stadium uses for all its seats):
118511

Waves of light
12-06-2013, 10:46 AM
A quick VIP + Standard Seats test using Instancing in LW11.6 (plus screen grabs of the seat geometry):

118539 118540

Andy Webb
12-07-2013, 04:16 AM
The problem I find with LWCADs rail clone is that you can't choose which position on the rail you want the clones placed.

I've not fathomed out which point on the original is used to aline the clones to the rail, more often than not the clones are not positioned as I would like them,
it would be a handy feature to have the option to place the clones where you want them alined, this feature exists in some other LWCAD tools.

Waves of light
12-07-2013, 04:27 AM
The problem I find with LWCADs rail clone is that you can't choose which position on the rail you want the clones placed.

I've not fathomed out which point on the original is used to aline the clones to the rail, more often than not the clones are not positioned as I would like them,
it would be a handy feature to have the option to place the clones where you want them alined, this feature exists in some other LWCAD tools.

Thanks Andy for clarifying that, it means I'm not going crazy afteral. I will post a video of what I have been doing to get them perfectly aligned... and it involves using LWCADs snap rotation tool after RailClone. This process is taking a long time, but as we seen with the posts above, this still seems to be the quickest. Luckily with the stadium designs they is a small amount of repetition, so mirroring/copying will speed up things later.

It does show how quick and powerful instancing is inside LW though. I don't know if my machine is going to be able to handle non-instanced geometry.

EDIT: I'll see if Viktor gets back to me via email. You never know, he may be able to include that in the next version and like you say, it's a function that is standard on a lot of the other LWCAD tools.

Waves of light
12-09-2013, 07:38 AM
Well thanks to Steve Bjorck via a skype chat, I've managed to sort the issue of instance rotation and direction.

I was using a perfect square poly as a marker for my instanced seats, when I should have been using a triangle with a small/short edge. Using 'Edge Aligned' with perfect square polys, means the function cannot find the smallest edge, therefore cannot align an instance to it and that is what was causing my instanced seats to have random rotations when.

All good now, so on with creating the other 70,000 seats. Oh boy.

Here's a quick test render:
118595

Here's the reasons for the instances not aligning correctly.
118596
118597

spherical
12-11-2013, 07:09 PM
Nice tip!

Waves of light
12-12-2013, 01:10 AM
yer, owe Steve a pint for that one.