[SOLVED] Another Alternative way to fill Multiple Outlines...?

Hi everyone :slight_smile:

i was struggled while drawing a fan-art that has so many outlines from different layers,
and it was totally confusing since i have to trace them back by outlines :cry:
so i decided to check some solutions of how to fill Outlines at tutorial sectionsā€¦
and some most reliable solutions are the ā€œExport value one-by-oneā€ and ā€œlink one-by-oneā€ method which iā€™m not really liking to do :confused:

then i tinkered Synfig around and end up with thisā€¦ :open_mouth:


MultiOutlines-Region.sifz (2.49 KB)

itā€™s not the most convenient one since it was pretty confusing, but itā€™s quicker and no exporting required.
plus, it works almost like the ā€œExport Valueā€ ones so thatā€™s much better for me :mrgreen:

EDIT: Be aware though that this method will disable the spline pointā€™s ability to be animated (see 2nd post below)!!!
Iā€™ll just try to explain what i did here in case someone want to know

  1. Draw both Advanced Outline and Region separately
  2. Disconnect a spline point from both layers
  3. Then select Vertex Points from both layer then right click and ā€œLinkā€
    Now it should link in and follow the region or advanced outline vertex and its tangentā€™s settings (split/merge)

Note that it uses Link Tier 5 Law, so nudge a point from layer that you want to move when linking them first
it also disables the ability to split/merge tangents
To do that you need to convert the outline (or region, itā€™s up to you) back to composite so you can change them again, then disconnect it again and link them back

Hi Everyone :smiley:

so it turns out thereā€™s a new founding in this method, and itā€™s totally not nice :blush:

the spline disconnecting actually disables the spline pointā€™s ability to be animated. In fact, we canā€™t animate this point, unless it got converted back to any type of course.
Thatā€™s as far as i could tell, still couldnā€™t figure out the solution yetā€¦ :cry:

That means, this method only useful if the regions are only used for still images, including frame-by-frame (i guess) :unamused:

Is there another way to do thisā€¦? :neutral_face:

Well, it surely is a pity that thereā€™s no way to link path vertices directly, but thereā€™s a workaround: link origin and tangents separately. Youā€™ll still have to handle ā€œsplit tangentsā€ manually, though.

Recommended workflow:

  • Create the whole shape
  • Create outline from region (you can skip this if you created outlines originally)
  • Disconnect outlineā€™s vertices
  • Remove unneeded vertices from it (note that unlooping at this step will make it impossible to link ending tangents, so if you need that donā€™t unloop yet)
  • Select both outline and region layers
  • For each vertex origin and tangent that you need to link: draw rectangular selection around it (this selects them on both layers) and link
  • Unloop outline path if needed
  • Done. You can repeat from second step to make more outlines

I can upload demo video for that if needed.

is it still possible to be animated tooā€¦? :astonished:

yeah, surely pretty pleaaaseeeā€¦ :unamused:
I got lost around step 6 to 8, and also confused :blush:

Yeah, itā€™s animateable. The reason your approach makes animating impossible is that you convert path vertices into type that isnā€™t recognizable to synfigā€™s animated value node/waypoint system. Since i leave them in default ā€œcompositeā€ value node type, you can still animate them just like any other linked values.

caryoscelus.github.io/animation/ ā€¦ split.html

(or direct link to video: github.com/caryoscelus/synfig-d ā€¦ it_ed.webm)

Hope that helps.

Note that to actually make this useful, youā€™ll need some unlinked vertices in outline and to create them might (in case you linked all vertices already) need to temporarily set looping on, insert item, unloop and ā€œrotate orderā€ if necessary.
test-47-split-spline-no-export.sif (18.3 KB)

Thanks!! that makes it more clear :smiley:

I did succeeded on copying the tutorial, but then got stuck when trying to draw a simple mountain (just to test it out)

and other result,

The one that i marked on got both splineā€™s tangents split-up, but still act like a stiff tangents, keep themselves mergedā€¦ :blush:
the other one totally got inverted, probably lacking of ā€œRotate orderā€ā€¦

also,should i just draw the outlines from shape tool, to make sure the outlines linked properlyā€¦?

also one unnecessary question, :

is there any differences when disconnecting outlineā€™s vertices and regionā€™sā€¦? :unamused:

No idea why that happens. Try uploading that file if the issue will still be present.

Anyway, i just noticed that you have inner vertex in region layer in your first example as well. I suppose its advantage is that all vertices are linked, but on the flip side you have to deal with the shape being more complex than it needs to be (and i suppose it can get tricky if animated). Anyway, if you do that anyway, you can try even simpler approach (though it has its downsides too): instead of unlinking and manual partial linking use width points to cut unneeded pieces of outline.

MultiOutlines-Region-other.sifz (2.37 KB)

Rotate order only rotates - it doesnā€™t really change order (e.g. 123->231->312, but youā€™ll never get 321). Unfortunately there doesnā€™t seem to be a way to reverse order.

You can add more full outlines by right-clicking on region layer ā†’ make outline/advanced outline. Then unlink and remove unneeded vertices. This should make it quick (you donā€™t have to trace existing shape by hand and they will be in perfect position to link later) and will ensure proper order.

The only difference i can think of is that youā€™ll get different UIDs (if any at all) inside save file, which shouldnā€™t really concern you.

Sure thingā€¦
LineLinkBroken.sifz (4.04 KB)

I have marked the broken parts that does the thingā€¦
I think it only happens when the region got connected with spline-made outline (maybeā€¦) :unamused:

Yeah, that does the good help, successfully created a mountain with proper spline tangentsā€™ behavior :mrgreen:


TestLineLink.sifz (4.97 KB)
but What if the scenario is differentā€¦?
I almost finished my lineart of a drawing and i want to fill them, is this method still possibleā€¦? :unamused:

Yup, already know that :slight_smile:

But probably not very practical because sometimes i moved the linearts around, and their width points got moved away a little bit so i need to readjust them again :neutral_face:

Hmm, this is really weird. Even after disconnecting this vertex, region one was still acting as though its tangents are linked, ignoring split tangents setting. Only ā€œdisconnectingā€ one of the tangents (and then converting it back to ā€œcompositeā€) helped. Might be some kind of bug.

If your lineart consists of many outlines, you wonā€™t be able to auto-convert them into one region (unless you donā€™t mind editing .sif in text editor - it should be pretty easy there). Manually linking should work though (as long as you pay attention to drawing order).

Yeah, thatā€™s the main downside. Though as long as you place width points exactly on top of outline vertices, it shouldnā€™t move anywhere (make sure ā€œhomogeneousā€ parameter is disabled). There is in fact a hacky way to ensure exactness: open width point in parameters dock, set its ā€œupper boundā€ to amount of vertices in outline and set ā€œpositionā€ to number of vertex it should be on top of (numeration starts from 0).
MultiOutlines-Region-animated.sifz (2.52 KB)

yeah, thatā€™s what i thought soā€¦
Maybe because the linking settings got piled up somehowā€¦ :confused:

Well i donā€™t mind if thatā€™s the only way, itā€™s just pretty tedious. But as long as i remember the Linking Tier 5 law (and fiddle the region abit first), and not mess up the whole lineart thatā€™s pretty fine :slight_smile:

I do curious how the editing works like, but even looking codes from a simple mountain drawing is more than enough to make me dizzy, soā€¦ i donā€™t know if thatā€™s a good idea :blush:
but i am really, really curious so some explanations are needed :bulb:

Wow, i didnā€™t know that is possible !!
This hack surely gonna be very useful, Thanks! :smiley:

Since thereā€™s not much of solutions (other than some that got listed above and the ones from the tutorial page), iā€™ll put the [SOLVED] in for now
at least until thereā€™s an awesome synfig update that will allow this glorious thingā€¦ :wink:
Once again i really thank you very much for the assistance!! :mrgreen:

Well, first you need to make sure you use editor with decent XML support (with at least highlighting, element folding and auto-indentation features) and basic understanding of how XML works (pretty much as HTML so if you know it, thatā€™s enough as well). For layer editing (which is the only thing youā€™ll really need unless you use exported values or bones) you can imagine .sif as mostly reflecting layer hierarchy (though inverted - top layers are last in the file) and parameters hierarchy inside layer (parameters dock could be seen as a simple specialized XML editor :D).

For basic things like deleting layer you just search for its name (if itā€™s unique - if itā€™s not, youā€™ll have to distinguish by its type or contents or position in layer treeā€¦) and do something with it. In case of deleting - just select everything from ā€˜<layer ā€¦ desc=ā€œLayerNameā€>ā€™ to the appropriate (in case of simple, non-group layers it will be nearest ) and delete it. To tweak some parameter, you just find it and edit.

As for dealing with curve paths (called splines in synfig interface, but blines in .sifs), if you understand how they work in Synfig, you should be able to translate that knowledge to .sif. In order to combine several splines into one by simply reusing all its knots, you just need to copy those knots. So, find first layer, then find its ā€œblineā€ param (). There will be <bline ā€¦> element inside and inside that are many s. Simply copy those entries and paste them into end (or beginning) of target bline.

In fact, i didnā€™t know about it either. But knowing bezier curves i figured it should work like that. Note that you can get away without setting ā€œupper boundā€ - it is there only for convenience - you can set ā€œpositionā€ to M/N value instead (where M is target vertex number and N is total number of them in given spline). Also note that youā€™ll have to do this again if you change amount of knots in spline.

Youā€™re welcome :wink:

Hi, a bit of discovery to share here, itā€™s quite good :smiley:

so, the workaround that you gave here,

itā€™s actually possible to add more lines and extend the region layer, and it end up just like that :open_mouth:
after inspecting the workaround, along the circle tool that used there, i realize that to make the similar kind of link all i need to do is to set the regionā€™s spline tangents radius to split (and keep their angles merged)
next, link them to outlineā€™s vertex and tangents, then i can safely fiddle with outlineā€™s tangents and itā€™s still easy to fix if both doesnā€™t look right
just make sure that before linking, the tangentā€™s setting is only ā€œRadius Splitā€, not ā€œAngle Splitā€ or even both :exclamation:
to extend them safely simply dupe that outline, disconnect from vertices list and arrange it, add items in region layer, rinse and repeat :bulb:


BunchOutlines-1Region-Sandbox.sifz (4.89 KB)

now, itā€™s not 100% working all the time, in a small of occurrence a bit of repeating is needed
but it works to me for most of the time so i might as well use it :unamused:

also if you split a regionā€™s spline tangents then link them to outlineā€™s vertex and tangentā€™s,
and then do some split and merge tangents, that bug gets triggered (that Stuck-like-a-Knot bug)