PDA

View Full Version : Merging points problem



prospector
02-14-2014, 05:47 PM
Why won't 2 points that occupy the exact same space (really, the EXACT same space) do a merge ?
And yes, they are both on same layer.....
I can even goto the set number for closeness to a ridiculous distance and still...no merge.

120180

hrgiger
02-14-2014, 05:53 PM
Because they're moved away from each other in the morph shapes. They have to occupy the same space in the morph shapes as well for them to merge.

prospector
02-15-2014, 12:51 AM
Because they're moved away from each other in the morph shapes. They have to occupy the same space in the morph shapes as well for them to merge.

Well poop. :grumpy:

jeric_synergy
02-15-2014, 12:52 AM
I know, maddening isn't it?

OTOH, it's a way to PREVENT points from Merging too, so it has its uses.

prospector
02-15-2014, 11:28 AM
ATM, I'd rather have it the way I NEED it to work :D

NEWTEK...Make ANOTHER merge tool so this works !!!!

jwiede
02-15-2014, 11:41 AM
ATM, I'd rather have it the way I NEED it to work :D

NEWTEK...Make ANOTHER merge tool so this works !!!!

Seems like a difficult ask: Say the merge did work, what should LW do about the morphs then? If one of the pts is to cease to exist, which one, and how can it tell?

prospector
02-15-2014, 02:55 PM
Well I need ALL points welded so that morphs from spline is transferred to poly strands.
I can do that now but I have to manually weld all points.
This keeps the morphs on the splines which drag the poly chains in modeler around with the splines.
Then if I go into make new endomorph panel, I can go down the list and just select the morph and hit create.
This transfers morph to poly chains, and after ridding myself of the splines, the ploychains now have all the morphs connected to them.

So the most obvious place for this is in building morphing hairs.
Specifically the eyelashes and eyebrows.

If you have all your morphs on face and then select what points you want eyebrows (which I am currently doing) to be and make splines from connected points, they will have all the morphs attached..
As seen in the model attached above.

Now when you run them thru strand maker you have a new layer of hairs....but NO morphs attached.
Thats when I presently have to weld them together on top of splines, do the make endomorph, go thru list of any morphs you want transferred, and VOILA......endomorphs on eyebrow hairs...


It's the manual welding of upto 300-400 points.......

There are a lot more things I can think of to use this technique, but it involves lots of manual stuff..

A JUST MERGE THE DAMN POINTS button would be helpful.

prospector
02-15-2014, 03:02 PM
Or even for FiberFX to ask if I need morphs attached to new strands would be even better

jeric_synergy
02-15-2014, 05:00 PM
Yeah, I didn't understand that at all. Can you give it another shot at explaining? Start with the problem-- I know you understand it deeply, but it's not so obvious on this side of the screen.

prospector
02-15-2014, 06:15 PM
Yeah, I didn't understand that at all. Can you give it another shot at explaining? Start with the problem-- I know you understand it deeply, but it's not so obvious on this side of the screen.


If you have an object with morphs, Like a face, and you want some eyebrows, then if you select a point where you want the brows to start and select some points in the direction you want brows to go and hit CTRL-P you get a spline.
This spline takes on all the morphs connected with those points that were selected.

If you then select 'Strand Maker' button to make fibers from those splines it puts them in a new layer.

These fibers do not have the morphs attached to the new points.

'See my original LWO in start of thread'

Splines have morphs...hairs do not.

Not good. That's the problem.

If you then take the newly created fibers and put in same layer as splines, and weld the matching points, select 'New Endomorph" button which brings up panel with all morphs listed or you can name your own, and in dropdown list just select any morph that makes brows move, and just hit the 'Create' button, it will transfer the morph from the spline to the hair fibers.

If you then get rid of splines the hairs will now have any morph you selected in dropdown.

This is good and what I wanted.

But in making brows there are Many many small hairs that make up the brow, so that means many many more points, and as of now they have to be done (welded) manually. There *should* be a way to just hit 'Merge' and do all at 1 time.

In the pic all morphs are on the splines and after you make 'new Endomorphs' they will all be on the hair fibers. and then it's just a matter of driving them with the main face morphs so that you never have to look at morph mixer panel for them.

Hope that helps more.

jeric_synergy
02-15-2014, 06:48 PM
Thanks for your patience: that's a hell of a problem.

I'm wondering if there's a way to nodally connect the spline with the respective strands they've generated.

This seems to be more a shortcoming of FFX than Merge Points per se..... Is it the welding or the moving of points that so labor intensive?? Would "Conform To Background" have any application here?

prospector
02-16-2014, 01:05 AM
Is it the welding or the moving of points that so labor intensive?? Would "Conform To Background" have any application here?
It's the merging (welding).
Conform does no good at all as the splines are already conformed perfectly when points of skin are selected and made into a spline.

And yea, the more I think and work on it, it's most likely best done in FFX.
Tho I can think of a few things right off hand that it would be good to do this and not even need FFX.
Just being able to make a 2 point poly strand be able to morph perfectly on some object but made by a spline that conforms to said object, would be nice.

Silkrooster
02-16-2014, 02:02 AM
So, I take it, the moral of the story is to finish modeling, including hair before applying any morphs.

To bad you can't freeze the mesh, apply the hair then reapply saved out morphs.

What happens if you merge points to the base, does that alter the morph?

prospector
02-16-2014, 11:59 AM
...."What happens if you merge points to the base, does that alter the morph? "....
HMMMmmmmm...interesting

prospector
02-16-2014, 12:34 PM
OK, tested.
.Select row of points for hair, make into 2 point polys.

They have the morphs,

cool so far

won't render tho
no 1 point poly for root.

copy the ends of chain points to new layer, convert to 1 point polys, bring back to polychain layer and merge ,keeping 1 point polys.

in layout...renders fine
morphs there
:thumbsup:

So, even tho I have to copy points to new layer and do a convert and bring back and merge (which works fine btw), it's still faster than welding ALL points.
Thanks for the hint.



Still doesn't drop need for some conversion process in FFX to keep the morphs on spline when doing a 'make strand'.
this would completely simplify the process to 1 click and done.

jeric_synergy
02-16-2014, 04:50 PM
I'm still rather lost here, but HEY!: The Power of the FORUM!!!!!

You might want to write up that workflow for LightWIKI or YouTube or something: it sounds less than intuitive. :cough:

(I'm surprised you didn't get just the root of the hair morphing, w/the remainder still not.)
(And by "background conform", I meant conform the hair to the.... crap, I don't remember what.) :headbang:

jwiede
02-17-2014, 05:08 AM
Still doesn't drop need for some conversion process in FFX to keep the morphs on spline when doing a 'make strand'.
this would completely simplify the process to 1 click and done.

Right, that seems like the real culprit here: It's making hair from splines, but the hair isn't inheriting the spline's properties (w.r.t. attached morphs). I could understand some attributes not being inherited, but given morphs actually alter the positions of the spline points, not inheriting them (which should be fairly direct algorithmically) makes a lot of extra work for the user. As implemented it basically guarantees the created hair will behave different than the splines, which seems undesirable, at least as default behavior.

prospector
02-20-2014, 09:27 AM
I would think so too, and the fact that splines are easier to design and manipulate to the shape you want after making them that 2 point polys, and they give you a better understanding of how hair will look in FFX when set to a smoothing of 4 than straight poly chain hairs.

jeric_synergy
02-20-2014, 12:26 PM
DId you submit that as a Feature Request thru FogBugz? Seems a good one.

What about what Silk Rooster said? If you generated the hair BEFORE the crafting the morphs, is the entire problem avoided?

(This is only a partial solution: inevitably somebody's gonna get a PITA Art Director that insists on changing the fibers AFTER the morphs are completed. --As surely as the sun rises.)

prospector
02-22-2014, 06:19 PM
Before morphs is just too involved moving poly chains around and to make them matchfrom base mode thru morphs (like keeping each hair same distance from skin and parralelle to each other at same distance. Brows shouldnt have moving hair so it has to stay in the same spot with relation to other hairs..Same with eyebrows.
And even tho every point has to be manually welded, it's still faster.

JoePoe
02-24-2014, 01:00 PM
Okay, I might be missing something StrandMaker is doing.....

But basically isn't it just making a two point poly chain out of splines? Yes it adds in a "base" one-point poly at the root and a weight map, right?. But other than that.... am I missing something? (sorry not a big hair guy here.... in real life too :D)

So, to save a lot of time you could use something like Toggle Curves/Lines (https://www.lightwave3d.com/assets/plugins/entry/ef-toggle-linescurves/) instead of StrandMaker. All the Morph data stays intact! :hey:
If you still want those one point polys, you will have to select the starting point of each chain (three click process... no matter how many or long your chains are) and click Points to Polys.... that can be done with one click for all of them at the same time. Then add your weights.

Bottom line.... no welding or merging at all.

Hope this helps..... your avatar is .... :bangwall: painful!! :ohmy:

spherical
02-24-2014, 03:14 PM
your avatar is .... :bangwall: painful!! :ohmy:

Yes it is. It and the constantly swinging lightsaber are the reason why I set GIF animation to off. Once you've seen it, you've seen it.

jeric_synergy
02-24-2014, 04:48 PM
Yeah, I am very over the damn light saber.

prospector
02-25-2014, 09:55 AM
So, to save a lot of time you could use something like Toggle Curves/Lines instead of StrandMaker
Looks like the right thing, will give it a try, only see for 7.5+ and no 64bit...maby it will still work.

prospector
02-26-2014, 04:45 PM
nope :cry:
Script works in 64bit 11.6.1

but points still not merging.
it DOES make the poly strands with the morphs,
and with the makestrand tool in another layer I get the single point polys,

Polystrings have morphs attached,but single point polys do not and still need to be manually welded.

JoePoe
02-26-2014, 04:57 PM
Don't use StrandMaker at all. Make the 1point polys yourself.
1) grab all your splines at once > use toggle.
2) grab all the head points (or tails) of all the new 2point chains at one time > hit points to polys.
Done.

Everything should have the morphs attached.

If you want weights, that too should be pretty 1,2, done. :)

JoePoe
02-28-2014, 03:06 PM
I actually shouldn't say don't use it at all.

If you're dead set on the weight map StrandMaker gives you (it's a little.... interesting), why go through the bother of trying to reproduce it?!
Use StrandMaker just to get the weight map it generates and transfer it to the poly chains you made. It'll be perfect. Then chuck the geometry. :)

prospector
03-01-2014, 11:21 AM
Did that, when I do a toggle, there is then all the points highlighted which means I then have to de-select all the non-headpoints in the strands.
As these hairs are many (100 plus) and all different starting points and many directions, how would I just select the headpoints only without going thru each strand seperatly ?
Unless I missed something going on with the toggle tool.

jeric_synergy
03-01-2014, 11:26 AM
aren't they in pretty much a plane, ie the surface of the skin?

If they have a w.map, can you select by w.map values?

JoePoe
03-01-2014, 11:39 AM
With all points of all hairs selected go to POINT statistics and hit the minus for points associated with 2polys.
This will leave you with only the heads and the tails of each chain.... no matter how long they are!
Go to Selection tab > Specialty > Select Nth. Use n=2 and offset=0. This will select every other point of what's left.
If you're lucky you will be given the root points you want.
If you're unlucky you'll wind up with the opposite end.... if this is the case, make a point set of what you got.
Now do the steps again with one change. Select all, minus 2polys and now, instead of select Nth, hit the minus for your point set. There ya go.


(side note: shouldn't all hairs emanate from the skin surface? So shouldn't they all be drawn in the same direction? If they don't won't the weight map really screw things up? Anyway, if not and you have hairs going in both directions I think you will first have to pick out the "backwards" hairs and hit "f" for flip. Let me try to think of a shorthand way to do that in a batch operation like we are doing everything else. :hey:)

Edit 2: And by drawn in same direction I just mean begin in the brow. Once the come out they can go off in all the crazy different ways you want!!

jeric_synergy
03-01-2014, 12:19 PM
This discussion is just fraught with ideas for Feature Requests (FReqs).

Immediately, the auto-creation of Point Sets leaps out at me. Most obviously the roots, but I imagine a case could be made for the body and the tips as separate Point Sets, plus everything (roots, body, tip). IE:



Point Set name suffix=[_____________]
[_] Make Roots Point Set ("suffix"+"-root")
[_] Make Tip Point Set ("suffix"+ "-tip")
[_] Make Body Point Set (all minus Tip+Root, "suffix"+"-body")
[_] Make all Point Set ("suffix")

And of course the central one: making the generated fibers part of the endomorphs.

JoePoe
03-01-2014, 01:40 PM
Okay, we're all freakin' idiots !! ;D :ohmy:

Use Strandmaker.... then transfer the morph(s) from your splines with Transfer Any Vmap found here (http://translate.google.com/translate?sl=ja&tl=en&u=http%3A%2F%2Fwww.neko.ne.jp%2F~asagi%2FP2P%2FLSc ript%2Fmod.html) ('bout a third the way down the page).

For Christmas sake.... :foreheads


Edit: Make sure you're on base level when u do it. U can transfer them all at the same time too. :thumbsup:

prospector
03-02-2014, 03:50 PM
that looks like just the puppy I need..Will try now.

JoePoe
03-02-2014, 04:04 PM
that looks like just the puppy I need...

woof.

The native Background to Morph was also staring us in the face.... but that's a one at a time deal.

jeric_synergy
03-02-2014, 05:54 PM
I admit I'm a bit fuzzy on how the different solutions work...

prospector
03-03-2014, 02:21 PM
Although, it works perfectly

There is something wrong now.

It's too easy with that LScript so now I have too much time to have coffee and have a ciggy....
I was able to schedule a 4 hour time period where nothing but welding points were done...and now.....how do I fill up those 4 hours...? Hmmmm
:D

Thanks for that plugin tip JoePoe

JoePoe
03-03-2014, 02:54 PM
HAHa!

My pleasure.
I knew a solution (even the one before the last plug) was going to save you hours and hours!!
What did we shrink it down to? 30 seconds?? (you don't have to answer... I already know ;))

:beerchug:

JoePoe
03-04-2014, 04:30 PM
I admit I'm a bit fuzzy on how the different solutions work...

Hey Jeric - sorry, missed your post in the middle there.

So, as I'm sure you realize, the "problem" in the end was not the one stated in the title of the original post.
Merging points from the Strandmaker fibers back onto splines with existing morphs wasn't gonna happen (as far as I know).

The actual problem was that Strandmaker wasn't respecting existing morphs already on the splines at the time of... "strandmaking".
(apologies if I'm stating the obvious)

(in order to come up with solutions we need to know what strandmaker was doing..... converting splines to 2point chains, adding a root 1point poly to each chain and adding a weight map.)
Solutions:
1a) Do it all yourself in batch processes. Toggle splines to 2point chains, add 1point polys at roots (picked out of all the points by a couple of group deselects), add a weight map with Weight Outward (or some other method).
1b) Do most of it yourself. Toggle splines to 2point chains, add 1point polys, use Strandmaker to generate the weight map in another layer and transfer that to what you just made.
Both methods would take just a couple minutes.

2) Use Strandmaker and then transfer all the weight maps from the original splines to the new chains using the plug above... in one shot. :)

prospector
03-05-2014, 01:33 PM
oops

prospector
03-05-2014, 01:41 PM
Not weightmaps....the morphs.
Strandmaker DOES make weightmaps.


(My return in red)


(in order to come up with solutions we need to know what strandmaker was doing..... converting splines to 2point chains, adding a root 1point poly to each chain and adding a weight map. But not Morphs)


1a) Do it all yourself in batch processes. Toggle splines to 2point chains, add 1point polys at roots (picked out of all the points by a couple of group deselects), add a weight map with Weight Outward (or some other method).
1b) Do most of it yourself. Toggle splines to 2point chains, add 1point polys, use Strandmaker to generate the weight map in another layer and transfer that to what you just made.
Both methods would take just a couple minutes.
Niether work with Morphs as the points of the Splines have to actually be welded to polystrand maker results MANUALLY AS THEY WON'T MERGE...and then new endomorph made for each morph by selecting the new morph from the "new endomorph" button. It then copies over morph and when completely done with ALL morphs, you can then delete the splines and polystrands WILL have the morphs attached.

JoePoe
03-05-2014, 01:46 PM
Not weightmaps....the morphs.
Strandmaker DOES make weightmaps.

....in #2. Quite right. My bad..... typo ;).

But in #1 a and b. The Toggle to 2 point chain plug does respect morphs. No welding involved.