Veil for Brides, Widows and others ... (1 Viewer)

Rudgar

Content Creator
Joined
Nov 18, 2016
Ahoy, dear moders! :smile:

stuntcock stuntcock mentioned already that he'll "add it to the queue" but I'm not sure if this means that he will find time and mood to really do it by himself that early - beside this, he's already working like a "robota" (I think, "working like a bee" is the original English phrase for this) anyway. So why not giving someone else a chance?
(Beside this I'd like to show him that I learned from what he explained me)

The main idea is to give the pretty much well-known bride veil other colors than white. There are already static hair for a bride (including veil in white) as well as for a widow (including veil in black and hair) in Maineim's Stuff. I think it'd be fine and great if there would be a dynamic version of it including a RGB slider. This would answer any future request for any other colored veil, I think. Poison Ivy, Fire goddess, they all can merry now, too.

A SVG file "widow.svg" of the black veil can be found here. There's a "bride.svg" as well, bit to me it looks as it contains only the "birdcage".
Here are reference images from a white veil I found as SWF that is applicable as headwear in @sby 's moreClothing, bt without RGB (I honestly can't remember from where I got it. The other image shows the currently available PNG file providing a static widow veil (including some hair that can't be changed)
screenshot0001.png screenshot0002.png
Don't hesitate to ask me for anything else you might need to fulfill this request!

Thanks in advance for at least considering it.

Regards, Me
 

stuntcock

Content Creator
Joined
Jun 5, 2012
The main idea is to give the pretty much well-known bride veil other colors than white.
That's feasible.

I think it'd be fine and great if there would be a dynamic version of it including a RGB slider.
It's possible, but very limited. Dynamic hairstyles (and dynamic anything -- such as bra straps or leashes) rely on overlap between adjacent segments. When two segments experience relative rotation (when there's a bend or kink at their connection point), the rotation would normally expose a gap between the two sprites. We deliberately draw semi-circular overlap zones in order to allow rotation without any gaps becoming visible. You can see a few examples in @Konashion's guide (reposted here).

Overlap cannot be used with partial-alpha transparency effects. Imagine that you have two 50% transparent segments. The overlap area between them will become 75% opaque. Instead of a smooth length of gauzy fabric, you'll see gauzy fabric with weird dark patches everywhere. It looks awful. If you want an example, try loading a Leash mod. The color of the leash is governed by the Collar.RGB2 slider. Reduce the Alpha value to 50% and you'll see what I mean.

UJtbJ7e.jpg

You can have a dynamic-hair veil with partial transparency, but it must consist of only one segment. It would behave as a single rigid element without any ability to bend or wobble in the middle. It's effectively a pendulum, responding to motion and gravity but incapable of changing its shape (it can stretch lengthwise, but that's not really adequate; a viewer would expect to see a lot of subtle deformation and parallax effects among the sheets and folds of the veil).

You can also have a fully animated partial-transparency veil by making rigorous use of Masks. But the project complexity (and workload) would be unreasonably large, and the runtime performance impact would be significant -- much higher than a typical dynamic hairstyle. In my estimation, it's simply not worth doing.

--------------------​

If we assume that I'm still working on this project, then I can provide a pendulum-animated version in addition to the static SWF (because the amount of additional work is trivial). But I would encourage you not to get your hopes up, because there are heavy technical constraints on what we can actually achieve.

If you're looking for someone else to handle this project then I'll stop interfering :) You can negotiate the technical details with whomever volunteers to do the Flash work.
 

Rudgar

Content Creator
Joined
Nov 18, 2016
Ahoy stuntcock stuntcock ,
I see what you mean. Well, I didn't mean to bother someone with too much work, because for me there are only two points of importance:
  1. it should be able to change color
  2. it should be able to be used with moreclothing as something that can be added to any other (static or dynamic) hair.
Would it be possible to create something like that with a reasonable effort?
Regards, Me
 

stuntcock

Content Creator
Joined
Jun 5, 2012
We'll need at least two published variants for this one. I don't mind publishing more, but I'm not going to cover every possible combination. It's possible to bundle everything into one file and then include Shift-Click swapping behavior, but the resulting mod tends to be too clumsy to use properly (and much more vulnerable to compatibility problems).

  • Birdcage position: up/down/absent
    • the down position is more modest (e.g. suitable for mourning) but tends to clip through hairstyles because it rests very near to the scalp
    • the up position exposes the eyes and accommodates more hairstyles
    • we could also omit the birdcage netting and show only the flower (but we need to retain at least the flower, because otherwise there's nothing to anchor the veil)
  • Template category: headwear or hair costume
    • this one is strictly a question of combinations, most relevant for moreClothing users
    • if the veil is categorized as a headwear item then it may suffer compatibility problems with other headwear items; if it's a hair costume then it may clash with costumes (such as SyntaxTerror SyntaxTerror 's recent creations ... Edit: he actually categorized his stuff as HAIR_OVER instead of HAIR_COSTUME, so nevermind)
    • if it's assigned as a hair costume element, then we'd need to include Loader scripting in order to support RGB shifting
  • Veil implementation: static or dynamic
    • the appearance is identical, both will respond to the RGB2 slider
    • layering should be identical
    • the performance should be similar (same number of sprites)
    • preference may depend on your intended usage scenario. Dynamic veil may be more visually interesting if the wearer is upright, but if she's in a horizontal position then it will tend to clip through the floor (or her body). Static veil provides more consistent visuals.
    • the dynamic version requires the Loader. The static version is vanilla compatible.
  • Layering
    • one of Maineim's screenshots (the black veil) shows the veil partially occulted by the girl's right arm
    • the mod is currently using the Headwear Front layer, which has very high priority. Hence, it matches Maineim's white veil screenshot.
    • if you want a specific layer then please describe it (or provide a mockup screenshot). If you don't care then we can leave the layering as-is.

The flower+birdcage uses the RGB1 slider and the rear veil uses the RGB2 slider. The veil can be alpha-shifted so that it's nearly invisible (its maximum opacity will still remain partially transparent, though -- it cannot become fully opaque). The birdcage should not be alpha-shifted; its shading and outline will remain visible even at A=0 (which will look ugly).

Here are two examples. If you care to list a few preferred combinations then I'll deliver those. If you notice any bugs during testing then please let me know. The files aren't optimized yet; the filesize and runtime performance can be improved once we've chosen a specific set of mods.

sdt-veil-Headwear-BirdcageDown-StaticVeil.swf
sdt-veil-Headwear-BirdcageUp-DynamicVeil.mod

KLHotsU.jpg
 

Rudgar

Content Creator
Joined
Nov 18, 2016
... been awstrucked I'm sinking on my knees with wide opened eyes and mouth in the awe inspiring presence of a miracle ...

It's just perfect. To me it is actually ... it has everything I've been dreaming of ... both versions. I wouldn't mind if you publish both so people have a choice.

Thank you! Just thank you ... have no other words right now for it ... thank you
 

SyntaxTerror

Content Creator
Joined
Jul 24, 2014
SyntaxTerror SyntaxTerror 's recent creations ... Edit: he actually categorized his stuff as HAIR_OVER instead of HAIR_COSTUME, so nevermind)
Actually, I use the HEADWEAR ModElement for the static parts (so RGB sliders can be added) and the DYNAMIC_HAIR_OVER for moving parts (but for my two first headwear mods, Brain Slug and Star, where I used the HAIR_TOP element).

stuntcock stuntcock : on your mods, the bottom of the veil goes over the girls body, while on Maineim's, it goes behind it. I saw this issue when I tried to make this mod myself, with three sections and masks as you said, but I couldn't manage to have masks added to the dynamic parts in fact. I would like to know what was your idea on this in fact.
 
Last edited:

stuntcock

Content Creator
Joined
Jun 5, 2012
the bottom of the veil goes over the girls body, while on Maineim's, it goes behind it.
Yep, noted above :)

We can do it either way. I was hoping to get feedback from the users on this question, because neither option seems obviously preferable to me. It may depend on whether people intend to use it in conjunction with clothing (e.g. wedding dress) or nude.

I saw this issue when I tried to make this mod myself, with three sections and masks as you said, but I couldn't manage to have masks added to the dynamic parts in fact.
Masks would be extraneous in this case. I've found that masks are usually unnecessary in SDT modding. They're useful for a few anatomical things (e.g. blending the thighs and torso together -- the guy's hips exhibit an ugly seamline but the girl's hips are blended via Alpha masking) but for hair and costume projects you can often just assign your sprites to a more appropriate layer.

Admittedly, it's not always possible to customize layers if you're restricted to vanilla scripting.

Masks are very useful for in-game testing of a WIP project (e.g. displaying or concealing subsets of a shape that you've drawn, or drawing a big "spotlight" gradient and then displaying only those parts of it which intersect your artwork), but there's a runtime performance cost for using a Mask. Therefore: once you've decided on a final shape, it's preferable to merge/crop the Mask and the Masked elements into a single layer. Doing so will reduce your mod's impact on users' framerates.

You should, of course, retain the original independent/masked stuff on Guide layers (or in unused backup symbols) -- just in case you'd like to make edits in the future.

To be clear: if you find Masks useful then go ahead and use them in your projects. But if you find yourself thinking "a Mask is the only way to complete this modding project" then you may be mistaken -- I'd encourage you to discuss the project with other modders.

It's worth nothing that I have not yet merged the shapes in the veil mod, so the FPS impact of the mod is still quite high. There are many overlapping transparent sheets, and it's going to be a pain-in-the-ass to preserve the alpha values while squashing the layers :(

I would like to know what was your idea on this in fact.
This script:
Code:
var modType:String = ModTypes.DYNAMIC_HAIR;
var targetElement:String = ModElements.DYNAMIC_HAIR_OVER;
produces the effect shown in the screenshots above. This one:
Code:
var modType:String = ModTypes.DYNAMIC_HAIR;
var targetElement:String = ModElements.DYNAMIC_HAIR_BETWEEN;
puts the veil between the ear and shoulder.

hYdUjLd.png

We can slice things more finely than that with Loader scripting (e.g. if you want a hair strand to fit above the skin but below the clothing worn on that same skin) but such precision is rarely necessary. I used it for the Leash mod (to draw segments between the girl's breasts). Huit has used it for clothing straps which span across different bodyparts (e.g. neck to breast, back to chest) and which must fit over/under various clothing elements. If anyone is willing to revive the sling-bikini project then we'd have another example.
 

SyntaxTerror

Content Creator
Joined
Jul 24, 2014
To be clear: if you find Masks useful then go ahead and use them in your projects. But if you find yourself thinking "a Mask is the only way to complete this modding project" then you may be mistaken -- I'd encourage you to discuss the project with other modders.
I used a mask in my Animated Background - Moon & Dolphins mod (the dolphins actually make a circle, the mask allows to hide them when they are underwater). I don't think that I could use it for hair mods in fact.
The thing I would like you to explain is not about the elements used to display the hair on a specific layer, but how would you use masks for dynamic hair? Because the masks need to move with the hair segments, and be in the same template as them, so I don't know how you would actually make this possible (without minding the FPS issue).

Another question: how do you know that a mod will impact the FPS rate significantly? I thought it would be the case for my last
Flowers Dynamic Hair Ornament mod, because I used 3 dynamic hair templates containing 9 symbols each (one for each heart), but I didn't see much difference in the animation speed.
 

stuntcock

Content Creator
Joined
Jun 5, 2012
Because the masks need to move with the hair segments, and be in the same template as them, so I don't know how you would actually make this possible
They don't need to be in the same template. It's possible to setup a mask in the Flash workspace, but you can also apply a mask via code.

It's possible for a hair segment to be assigned a mask, which is actually part of an adjacent hair segment. This could be used to conceal overlap zones by masking them out, so that we wouldn't see unpleasant alpha effects like those described above. I was planning to use this technique for one particular costume which involved physics-animated straps composed of sheer fabric. The artistic requirements of that project exceeded my ability, and the FPS penalty would probably have been unacceptable. But it was at least theoretically possible to implement it using existing techniques.

You could also use a less complicated mask which is connected to a bodypart. That would allow you to -- for example -- automatically fade out any hair strand if it passes in front of the girl's eye.

Any sort of advanced masking stuff will almost certainly require Loader scripting.

Another question: how do you know that a mod will impact the FPS rate significantly?
Test it on high quality + high resolution using a shitty PC. If the game is already struggling to maintain a normal framerate, then you can easily observe the marginal impact of your mod (e.g. -5 FPS initially, -2 FPS after optimization).
 

Rudgar

Content Creator
Joined
Nov 18, 2016
Dear stuntcock stuntcock ,

for me it would need to publish the final results of this thread in the repository to finally conclude this project. You asked me then about some decisions to make before creating one or more final versions of this veil. If I haven't sent you them as pm, so let me repeat them here in this thread:

If you wouldn't mind and if it is not too much work for you, I'd suggest (and personally wish, I admit) to create and offer 4 versions of the veil:
  1. static with birdcage up
  2. static with birdcage down
  3. dynamic with birdcage up
  4. dynamic with birdcage down
With this we could provide a solution for more or less every need: those who don't want to use the loader as well as those who have a crush on voluminous hair mods.
Beside this, I don't think that there is the need for versions with absent birdcage as long as there is a way to change RGB color and with it its transparency. Making the bridcage transparent would mean to "remove" it and have a version with "absent" veil.

As template category I'd recommend headwear for honestly I can't imagine anything that could be combined reasonably with a (wedding) veil. Beside this, one could use moreclothing to assign the veils (or anything else) to the "> body" category in order to apply something additionally to the head.

The last point that needs a decision is the layering. For I'm not experienced in developing mods, I only dare to make a careful suggestion. Unlike long hair, such veils would cover the arms of the person wearing it in real life. So I'd tend to prefer Maineim's solution with placing the veil on layer with a pretty high priority.

Does this make sense and would that be possible to do for you?
I know you don't like doing artwork so I am certainly ready and willing to publish it for you with evrything like taking pictures, writing descriptions and stuff so that after providing me with the mod/swf files there will be only one thing left to do for you: changing the owner of the repository entries frm Rudgar to stuntcock.

Want me to say "please" and "pretty please with cherry on top" in public? I'd do that ... :smile:

Respectfully, Rudgar
 
Last edited:

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.