Forum: Poser - OFFICIAL


Subject: Candle Flame Shader For Firefly... (Use Postwork Answer Is For Cowards!)

3dcheapskate opened this issue on Mar 05, 2020 · 100 posts


3dcheapskate posted Thu, 05 March 2020 at 1:42 AM

Most candle models that I've seen/got use the two-billboards-with-a-photo-of-a-candleflame-intersecting-at-90° workaround. And I know that the usual advice whensomebody asks about doing it with a shader is - don't bother, just add the flame in postwork - much more realistic.

But I like a challenge. And I suck at postwork (well, any sort of work really...)

So. Here's my bestest attempt so far (a lot of work still to do, but I think it's a reasonable start):

Candles(V202FS x 4).jpg

And here's the shader:

FlameShader.jpg

What do y'all think ? (No comments about the wiggly flame morph please - I know it's crappy!)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



infinity10 posted Thu, 05 March 2020 at 1:47 AM

??????

Eternal Hobbyist

 


3dcheapskate posted Thu, 05 March 2020 at 1:48 AM

More stuff about how I got here, and the other shaders (Milkman-Andy-wax,wick, and smoke) over there - - - > https://community.hivewire3d.com/threads/poser-firefly-candles.4065/

(I don't want to repeat all that here do I !)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



EldritchCellar posted Thu, 05 March 2020 at 3:45 AM

That looks pretty good, could spiffy it up with a little post work (motion blur perhaps) :)



W10 Pro, HP Envy X360 Laptop, Intel Core i7-10510U, NVIDIA GeForce MX250, Intel UHD, 16 GB DDR4-2400 SDRAM, 1 TB PCIe NVMe M.2 SSD

Mudbox 2022, Adobe PS CC, Poser Pro 11.3, Blender 2.9, Wings3D 2.2.5


My Freestuff and Gallery at ShareCG




3dcheapskate posted Thu, 05 March 2020 at 5:00 AM

Thanks infinity10 and EldritchCellar. After spending a fair while playing with this I can't really trust my own judgement. So having some positive responses from a few other people, both here and at Hivewire, is a good sign that I'm on a reasonable path.

Regarding motion blur - my feeling is that (thinking of cameras here) if the shutter was open long enough for motion blur then the flame would probably whiteout (or whatever the photographic term is - burnout? saturate?) in the image. However, I just tried using the in-Poser motion blur:

MotionBlur.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



Boni posted Thu, 05 March 2020 at 5:17 AM

Wow! Wondering if this will work in Superfly!

Boni



"Be Hero to Yourself" -- Peter Tork


AmethystPendant posted Thu, 05 March 2020 at 6:13 AM

My only concern would be that the bottom of the flame seems a bit flat, is this a single plane, in which case seeing it from a different angle might be an issue, though you could still have a 90 degree billboard both with the same mat I suppose, really nice work


3dcheapskate posted Thu, 05 March 2020 at 7:52 AM

AmethystPendant posted at 8:45PM Thu, 05 March 2020 - #4382603

My only concern would be that the bottom of the flame seems a bit flat, is this a single plane, in which case seeing it from a different angle might be an issue, though you could still have a 90 degree billboard both with the same mat I suppose, really nice work

The flame is actually a sphere - I've never really liked the 2D billboard approach. The different flame shapes are just a couple of very quickly (and badly) created morphs.

The flatness you see at the bottom is probably something to do with the way I'm using v_texture_coordinate to control transparency.

FlameSphere.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 05 March 2020 at 8:01 AM

Boni posted at 8:57PM Thu, 05 March 2020 - #4382599

Wow! Wondering if this will work in Superfly!

It's nothing particularly clever - just Ambient and Transparency driven by a couple of Color_Ramps, an Edge_Blend, v_texture_coordinate,and a few simple math nodes.

I guess that should work the same in Superfly ? (I actually have Poser11 on my machine too, so maybe I can try that...)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 05 March 2020 at 8:13 AM

The same motion blur setup as the previous render, but with a different camera angle and 'long wick' morphs applied so none of the four flames is obscured.

differentAngle.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 05 March 2020 at 8:21 AM

Superfly-ing...

Superflying.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Thu, 05 March 2020 at 8:44 AM

Very impressive.


ockham posted Thu, 05 March 2020 at 9:09 AM

After lighting an actual candle for comparison, I think you've got it. The shape and gradients are just right. The only difference I see is that the lower part of your flame is too blue, too much like natural gas. The lower part of the real candle flame is simply more transparent than the upper part, showing the background more.

My python page
My ShareCG freebies


3dcheapskate posted Thu, 05 March 2020 at 10:13 PM

Boni posted at 11:10AM Fri, 06 March 2020 - #4382599

Wow! Wondering if this will work in Superfly!

Let a Superfly render using default settings (except I also ticked Motion Blur - shutter open 0.5sec) complete. Didn't change any materials for Superfly.

superflyMotionBlurHalfSec.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 05 March 2020 at 10:37 PM

ockham posted at 11:14AM Fri, 06 March 2020 - #4382626

After lighting an actual candle for comparison, I think you've got it. The shape and gradients are just right. The only difference I see is that the lower part of your flame is too blue, too much like natural gas. The lower part of the real candle flame is simply more transparent than the upper part, showing the background more.

I was absolutely delighted when you said "After lighting an actual candle for comparison" ! 😀

When I started this I was convinced that I knew what a candle flame looked like. Needless to say my initial attempts were so bad that I wouldn't want to post them ! It wasn't until I actually lit some candles and watched them, in daylight and by their own light, in still air and with a breeze, against both light and dark backgrounds, and from all sorts of angles,that I really started to see what they looked like. I'm actually really looking forward to trying to do some realistic candle flame morphs

Regarding the blue - agreed, definitely too much blue in the lower part of the flame. I think that we need to make the flame more transparent near the centre at the bottom. So I'd guess that the Transparency network needs something like an Edge_Blend (Inner_Color=black, Outer_Color=white) combined in some way with v_texture_cordinate using some appropriate simple Maths_Function ? And need to make sure that it doesn't affect the middle/upper part of the flame.

(In fact my first 'reasonable' attempt at a candle flame shader used an Edge_Blend for Transparency, but I had the colours completely wrong. So to avoid confusing myself I removed the transparency network and concentrated on the Ambient_Color network. When that started to look right I put a Transparency network back,but without any Edge_Blend.)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 4:21 AM

PP2014 (Firefly), no lights, just IDL. Nothing changed except that.

idl.jpg

Increasing the Ambient_Strength from 1.0 for three of the flames:

idl2.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 4:27 AM

Higher !

idl3.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 6:01 AM

ockham posted at 6:47PM Fri, 06 March 2020 - #4382626

After lighting an actual candle for comparison, I think you've got it. The shape and gradients are just right. The only difference I see is that the lower part of your flame is too blue, too much like natural gas. The lower part of the real candle flame is simply more transparent than the upper part, showing the background more.

I now remember why I took the Edge_Blend out from the Transparency network - when combined with the v_texture_coordinate stuff I couldn't see what was going wrong. Simply using an Edge_Blend alone it becomes obvious. And it's not the fact that the transparent centre goes too high up the flame, although that would need to be fixed too. It's the non-transparent bottom edge of the sphere that forms the flame. I simply couldn't work out why I was getting that.

It's obvious here.

EBTx.jpg

Here's the UV mapping of the flame - a cylindrically mapped sphere.

uv.jpg

So how to make sure that lower edge of the sphere remains transparent ?


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



movida posted Fri, 06 March 2020 at 6:29 AM

looks really good to me


ghostship2 posted Fri, 06 March 2020 at 9:10 AM

this is good stuff!

W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740


bagginsbill posted Fri, 06 March 2020 at 12:36 PM

You've done a very good job so far. I have taken a stab at this before but not with any serious detail, as all I ever wanted was tiny flames in props that were not the main subject.

You made me dig out Poser for the first time in many months. Unfortunately the complexity grows fast and now the hand-built shader I have is too much spaghetti. This is a classic shader problem that really wants to just use math formulas.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Fri, 06 March 2020 at 12:38 PM

A thought ...

I'm not sure I agree with the edge blend outer value having greater opacity. If you reversed that, your problem with the false bottom showing would decrease. I looked a bunch of flame photos and I don't sense them having a middle that is more transparent, except at the very bottom where the flame is blue.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Fri, 06 March 2020 at 12:42 PM

My attempt so far, same shader, rendered in both SuperFly and FireFly.

FireFly

FF1.png

SuperFly

SF1.png


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


ghostship2 posted Fri, 06 March 2020 at 4:34 PM

I haven't tried this out yet but shouldn't the diffuse be set to 0?

W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740


ghostship2 posted Fri, 06 March 2020 at 5:21 PM

Also, transparency falloff set to 0. I thought trans falloff was like a blend function between transparency and transparency edge. Setting that to 0 would mean no difference between the edge and the rest of the object. I could be wrong?????

W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740


3dcheapskate posted Fri, 06 March 2020 at 10:16 PM

bagginsbill posted at 11:09AM Sat, 07 March 2020 - #4382768

You've done a very good job so far. I have taken a stab at this before but not with any serious detail, as all I ever wanted was tiny flames in props that were not the main subject.

You made me dig out Poser for the first time in many months. Unfortunately the complexity grows fast and now the hand-built shader I have is too much spaghetti. This is a classic shader problem that really wants to just use math formulas.

Thanks bagginsbill. I can well imagine that trying to do a shader based on the true physics/maths would get rather complicated.That's why I started with a 'what does it look like to me' approach. If I can get something that's 'acceptable' (and I know that's rather subjective, which is why I decided to post what I'm doing) for a candle flame that is prominent in a render, but probably not the main subject, then I'll be happy.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 10:57 PM

bagginsbill posted at 11:31AM Sat, 07 March 2020 - #4382769

A thought ...

I'm not sure I agree with the edge blend outer value having greater opacity. If you reversed that, your problem with the false bottom showing would decrease....

Using an Edge_Blend in the Transparency network was an early idea based purely on my observation that the yellow upper half of the flame appears to be completely opaque with sharp, clearly defined sides. There's no Edge_Blend in the Transparency network for any of the renders except that Transparency Edge_Blend Attenuation one near the bottom of the previous page, where I was just trying to clarify to myself why it didn't work as I'd expected.

I originally planned to use that Transparency Edge_Blend purely to make the centre of the lower third of the flame transparent, but ran into that problem of the false bottom showing. So I changed tack and simply used v_texture_coordinate and some Maths_Functions to make the flame moretransparent near the bottom and at the very top.

bagginsbill posted at 11:31AM Sat, 07 March 2020 - #4382769

A thought ...

...I looked a bunch of flame photos and I don't sense them having a middle that is more transparent, except at the very bottom where the flame is blue.

Agreed, it's only where the flame has that blue tinge, roughly the bottom third/quarter, that the middle appears more transparent. I've noticed that when watching a candle flame the wick is usually clearly visible, but the main yellow part of the flame appears completely opaque.

Perhaps simply combining an Edge_Blend with the existing v_texture_coordinate based transparency network using a Maths_Function (Min) might work ?


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 11:12 PM

bagginsbill posted at 12:02PM Sat, 07 March 2020 - #4382772

My attempt so far, same shader, rendered in both SuperFly and FireFly.

FireFly

FF1.png

SuperFly

SF1.png

Those look excellent ! Very close to many of the photos I've seen. But I'd definitely recommend lighting some candles and watching them. As I mentioned, I've noticed that when actually watching a candle flame the wick is usually clearly visible.

That raises another question regarding what I'm actually trying to achieve.Is it a photographic representation, or a representation of what the eye sees ? I have to say that I don't really know.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 06 March 2020 at 11:20 PM

ghostship2 posted at 12:15PM Sat, 07 March 2020 - #4382779

I haven't tried this out yet but shouldn't the diffuse be set to 0?

Setting either Diffuse_Color to black or Diffuse_Value to 0 both seem to work, although I'd guess that you to be sure you should do both.

ghostship2 posted at 12:15PM Sat, 07 March 2020 - #4382784

Also, transparency falloff set to 0. I thought trans falloff was like a blend function between transparency and transparency edge. Setting that to 0 would mean no difference between the edge and the rest of the object. I could be wrong?????

Not sure. But with both Transparency and Transparency_Edge set to the same value I believe that Transparency_Falloff is irrelevant.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Sat, 07 March 2020 at 1:00 AM

If anybody wants to play I've uploaded a PP2 and LT2 for a single candle.

Not here, because this forum won't allow me.

Over there - - > Hivewire" Poser Firefly Candles ?" thread


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



adp001 posted Sat, 07 March 2020 at 6:13 AM

I'm thrilled!

Animated by this, I tried to bring a "flame" to life with Bullet. According to the Posers documentary, you can negate the gravity to achieve that parts don't fall down but rise up.

I tried that. I tied the lower part of the flame to the candle so that it doesn't fly away but dances around in its effort to rise. But no way. Poser seems to make negative values for gravity positive again (ignoring the sign). At least for me.

Ok, I tried something else. Set gravity to zero, the mass of the flame to zero and internal pressure a little higher. Turned a few other wheels and something happened. Not 100% what I wanted. But kind of useful.

By the way: I gave the Animated Constrained (a grouping object) the candle as a parent. If you move the candle now, the flame wiggles back and forth, almost as it should. However, you should refrain from playing with the wheels if you got it halfway right - a little parameter adjustment can lead to the fact that you can't get the last result right again.

Well, in the end I came to the conclusion again that Bullet has a huge bunch of bugs and is not really usable.

Anyway, there will be lit candles on all my screens tonight - just static, but still!

Translated with www.DeepL.com/Translator (free version)




adp001 posted Sat, 07 March 2020 at 6:17 AM

Sorry - the problem with the gravity is the other way around. -10 is default. Setting it to 10 makes no difference. Things go down, not up.




3dcheapskate posted Sun, 08 March 2020 at 1:27 AM

adp001 posted at 2:26PM Sun, 08 March 2020 - #4382806

Sorry - the problem with the gravity is the other way around. -10 is default. Setting it to 10 makes no difference. Things go down, not up.

A bit of lateral thinking - why not turn the whole scene upside down ? Then gravity would point 'up' !


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Sun, 08 March 2020 at 1:31 AM

I need to edit an earlier post.

But this forum won't allow me.

So here's what this post should say:

postEdit.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Sun, 08 March 2020 at 5:52 AM

ghostship2 posted at 5:50PM Sun, 08 March 2020 - #4382784

Also, transparency falloff set to 0. I thought trans falloff was like a blend function between transparency and transparency edge. Setting that to 0 would mean no difference between the edge and the rest of the object. I could be wrong?????

I've just realized that using Transparency, Transparency_Edge,and Transparency Falloff as they're intended to be used would do more or less the same thing as using an Edge_Blend in the Transparency network. It's amazing what obvious things you can miss !


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



pikesPit posted Sun, 08 March 2020 at 2:19 PM

!!! BUMP !!!

Still watching this thread with baited breath.

This looks as promising as ever since 3dcheapskate gave us his great morphing book rows!

Without creative minds like him, Poser would be... well ... somewhat ... sorry!

regards

Peter


SamTherapy posted Mon, 09 March 2020 at 4:21 AM

Very impressive. Thanks for posting this.

Coppula eam se non posit acceptera jocularum.

My Store

My Gallery


3dcheapskate posted Tue, 10 March 2020 at 3:45 AM

pikesPit posted at 3:39PM Tue, 10 March 2020 - #4382916

!!! BUMP !!!

Still watching this thread with baited breath.

This looks as promising as ever since 3dcheapskate gave us his great morphing book rows!

Without creative minds like him, Poser would be... well ... somewhat ... sorry!

regards

Peter

Now look what you gone an' done ! 😆 Render 1.png

I'm actually hoping that bagginsbill will pop back in with an update on his shader, and also that adp001 is going to upload a video of his animated flame.

(I've actually got a bit sidetracked creating a pack of cards that can turn into a swarm of meteors, a forest, etc (using old-school geometry swapping)... more on that over on one of my DAZ threads https://www.daz3d.com/forums/discussion/comment/5394726/#Comment_5394726 )


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



bagginsbill posted Wed, 11 March 2020 at 11:42 AM

I would have shown more by now but material room bugs are preventing me from making progress. Color math doesn't work right in all cases, and worse, Poser just locks up a lot.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 11:43 AM

Ugh - now the File/Save menu item is grayed out and I can't even save what I have done before I try to render and possibly crash.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 12:37 PM

Have a look at the Wikipedia article on candles

There's a diagram in there and explanations to go with it describing the various zones of the flame. image.png


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 12:38 PM

After studying that, this is what I have cooking (using your candle prop)

image.png


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 12:40 PM

There's no use looking at the shader - it's a typical matmatic pile. This is like the middle 5th of it.

image.png


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 12:41 PM

The matmatic script which is a mess with dead ends that need removing.

AV = Bias(V, .25)

cy = .22

x = EdgeBlend(0, 1, .2) ** 2
y = (AV - cy) * .5
gy = 10
ygrad =  Clamp(1 - Abs(y * gy)) ** 2
blueopacity = Clamp(10 * x * ygrad)

py = Clamp(5 * Abs(AV - .3)) ** 2
px = (1 - EdgeBlend(1, 0, 2)) ** 2
darkpatch = 1 - Clamp((py + px) ** .5)

gy = Clamp((AV - cy) / (1 - cy))
gyp = (4 * gy * (1 - gy))**2
yellowopacity = Clamp(EdgeBlend(1, .3, 3) * Clamp(gyp - darkpatch))

yellow = rgb(255, 255, 200) 
orange = rgb(255, 200, 100) 
yellow = EdgeBlend(yellow, orange, 3)
blue = rgb(30, 30, 255)
yclr = HSV(yellow, 1, 1, yellowopacity)
bclr = HSV(blue, 1, 1, blueopacity)
clr = HSV(bclr + yclr, 1, 1, 5)


s = Surface(0, 0, 0, 0)
s.Alternate_Diffuse = clr
s.Transparency = .8
s.Transparency_Edge = 1
s.Transparency_Falloff = 1


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill posted Wed, 11 March 2020 at 3:06 PM

Rendered to around 3000 samples. I see a black halo, in the zone referred to above as the "non-luminous veil". I didn't mean to make it like that. I'll need to refine it.

SF2.png


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bwldrd posted Thu, 12 March 2020 at 12:22 AM

Ewwww... droool..purty .. can't wait to see what you come up with as you continue to tinker with it bagginsbill. :D

--------------------------------------------------------------------------------

Consider me insane if you wish, but is your reality any better?


3dcheapskate posted Thu, 12 March 2020 at 5:50 AM

Looking very good indeed !

You've probably thought of this,but just in case - the smoke on that prop may be interfering with the top of the candle flame so you might want to make it invisible. Your 3000 samples render with levels adjusted

edit.jpg


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



vagabondfantasist posted Sun, 08 May 2022 at 10:44 PM

I'm trying to rebuild bagginsbill's shader from the matmatic script posted earlier, but I'm having problems - matmatic doesn't appear to be seeing my MM1


vagabondfantasist posted Sun, 08 May 2022 at 11:11 PM

Okay, solved the matmatic problem (configuration)

Now to the bagginsbill's "matmatic script which is a mess with dead ends that need removingfor the flame - there appears to be an error in it (I'm running matmatic 1.6.0 (although the debug tells me it's 1.3.0 the first time in a Poser session that I run matmatic



3dcheapskate posted Mon, 09 May 2022 at 3:03 AM

Removing the spectacles that conceal my super-secret Clark Kent identity, and hoping that nobody spotted that, I'll continue...

Having a quick shufti through the PP2012.mm1.txt that was included in the MatmaticDemos I noticed that IColor seemed to be used in the same sort of way that rgb was. Neither IColor nor rgb appear in the NodeReference.html. But since PP2012.mm1.txt compiled okay I thought it was worth a try.

Success

Here's the amended matmatic script below the line




# bagginsbill's matmatic script for a candle flame

# https://www.renderosity.com/forums/threads/2943991?page_number=2#msg4383217

# The compiler errors on the yellow = rgb line

# changed the 3 rgb references to IColor which is what the PP2012.mm1.txt seems to use, and that complied


AV = Bias(V, .25)


cy = .22


x = EdgeBlend(0, 1, .2) ** 2

y = (AV - cy) * .5

gy = 10

ygrad =  Clamp(1 - Abs(y * gy)) ** 2

blueopacity = Clamp(10 * x * ygrad)


py = Clamp(5 * Abs(AV - .3)) ** 2

px = (1 - EdgeBlend(1, 0, 2)) ** 2

darkpatch = 1 - Clamp((py + px) ** .5)


gy = Clamp((AV - cy) / (1 - cy))

gyp = (4 * gy * (1 - gy))**2

yellowopacity = Clamp(EdgeBlend(1, .3, 3) * Clamp(gyp - darkpatch))


yellow = IColor(255, 255, 200) 

orange = IColor(255, 200, 100) 

yellow = EdgeBlend(yellow, orange, 3)

blue = IColor(30, 30, 255)

yclr = HSV(yellow, 1, 1, yellowopacity)

bclr = HSV(blue, 1, 1, blueopacity)

clr = HSV(bclr + yclr, 1, 1, 5)



s = Surface(0, 0, 0, 0)

s.Alternate_Diffuse = clr

s.Transparency = .8

s.Transparency_Edge = 1

s.Transparency_Falloff = 1




And here's the result of applying it to the flame of the Poser candle that I posted over on the corresponding Hivewire thread. Note that all lights were deleted so illumination is from the flame itself

Superfly:


Firefly:



I'll post the MT5 (or MC6) over on the Hivewire thread as I can't do that here.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 09 May 2022 at 3:40 AM

Adding the corresponding point light, also supplied in that Hivewire post:

Superfly:


Firefly:


So now I'm definitely back to where we'd* got up to two years ago :)


*or to be more precise, bagginsbill ;)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 09 May 2022 at 9:09 AM

There just happened to be a candle flame on a YouTube video I'm half-watching, so here's a real flame for comparison:


Still noticeably different.

And the wick's completely black. Did a google image search and I've no idea where I got the ide the wick inside the flame is white ? :oS


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Mon, 09 May 2022 at 1:20 PM

The first time a candle is lit, the wick will be white for a time during its burn-in period.  Afterward, it will be completely black throughout its life.  A well-cared-for candle should never have a smoke trail; smoke trails appear when candles are relit with rather long, unkempt wicks.  They don't last long as the flame burns but they don't look pleasing.  Tha's why you should clip the wick shorter before relighting a candle.


VedaDalsette posted Tue, 10 May 2022 at 1:11 PM

This is like a new WICKipedia, hehe.



W11,Intel i9-14900KF @ 3.20GHz, 64.0 GB RAM, 64-bit, GeForce GTX 4070 Ti SUPER, 16GB. 

Old lady hobbyist.

All visual art or fiction is "playing with dolls."


bagginsbill posted Fri, 13 May 2022 at 8:53 AM

I managed to find my matmatic sources in an old dropbox folder. The rgb method was introduced in matmatic 1.7. There were several changes to make it easier to create colors either using integers or floating point numbers and not have to keep changing between Color and IColor. As well there were changes to make it optimize smarter, where sometimes a node network would be generated, and sometimes simple constants.

----------------------------------------------------

Matmatic 1.7.0

----------------------------------------------------

Added AmbientOcclusion parameter EvaluateInIDL.

Added PoserSurface parameter Gradient_Mode.

Added function rgb - constructs a color from three components. This is a smart function to construct colors statically (at compile time) or as nodes during the render. If any component is a node, a UserDefined node is created. If any component is a float, then Color(r, g, b) is returned. Otherwise, it returns IColor(r/255.0, g/255.0, b/255.0). Thus it is possible to express using either 8-bit (0 to 255) integer style or floating style (0.0 to 1.0).

Added function max(*args) - returns max of its arguments using compile-time math or numeric nodes or color nodes

Added function floor(x) - can take numbers (returns math.floor(x)) or nodes (returns Floor(x)) - thus it does the right thing.

Added function hsv(hue, saturation, value) - returns an rgb color (interprets int value as 0 to 255, float value as 0.0 to 1.0). This function will produce an exact color of all three inputs are known at compile time - otherwise it will create a node network that does the job at render time.



Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


3dcheapskate posted Mon, 16 May 2022 at 8:49 AM

bagginsbill posted at 8:53 AM Fri, 13 May 2022 - #4438554

I managed to find my matmatic sources in an old dropbox folder. The rgb method was introduced in matmatic 1.7. ..

That makes sense - I'm using 1.6.0, which is the latest version in the last capture of your matmatic page by the Wayback Machine on 20 Oct 2020.

Any chance of getting hold of 1.7.0 ?




The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 16 May 2022 at 8:59 AM

VedaDalsette posted at 1:11 PM Tue, 10 May 2022 - #4438409

This is like a new WICKipedia, hehe.

Keeping that WICKipedia theme here's a screenshot from another Youtube video that just happened to have some candles, tealight type ones, burning.

It struck me because I noticed that the ensd of the wicks were glowing in this one. I wonder if that's because they're newly lit as hborre suggested or because of the type of fuel/wax ?



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Mon, 16 May 2022 at 9:53 AM

I'll check on that.  I burn candles on a regular basis just to add fragrance to the environment and relaxation.  ATM, I am using a soy-based wax but I don't think that's the reason.


hborre posted Mon, 16 May 2022 at 10:07 AM

Here's the answer:
                                                                      

Zone 1 and zone 3 are filled with gaseous candle wax where there is not enough oxygen to burn the wick.  The bottom of the wick is "wicking" melted wax and is below combustion temperature.  The tip of the wick, however, is usually in zone 2 where the gaseous envelope of wax comes in contact with oxygen and thus promotes burning, producing the orange glow.


3dcheapskate posted Tue, 17 May 2022 at 4:57 AM

Bagginsbill posted a similar but different picture showing zones a while back. What you found explains why the tip of the wick is sometimes, but not always, bright orange.

I found two more nice candle flames in videos, but rather just post those screenshots I've combined them with a few previously posted images.


Not surprisingly I think bagginsbill's latest version (bottom right) is the best of the Poser attempts, although I think that the wick needs to be longer and black (not white) - but that's the fault of my candle model. (And the bottom of the wick should be similar to the candle wax)

I was surprised how rounded the tops of the real candle flames are. I think Bagginsbill's first version (bottom left) got the shape spot on.

The real candle flame with the red candle (top right) to me looks very similar to bagginsbill's matmatic shader (bottom right), with only the ellipsoid shape of the flame and length of the wick really being noticeably different. As I said before, that's down to my candle and flame model.

However, two of the other three screenshots of real flames show a distinct gradation of the flame from orange to yellow to white near the bottom of the luminous zone. But I haven't yet managed to work out the maths of the matmatic script to see how that could be added.

P.S. this video is fantastic - and rather odd until you realize that he's actually using Faraday's original words. It sounded like the Rockwell Retro Encabulator to me !


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



VedaDalsette posted Tue, 17 May 2022 at 10:08 AM

That Rockwell clip is WICKed hilarious!



W11,Intel i9-14900KF @ 3.20GHz, 64.0 GB RAM, 64-bit, GeForce GTX 4070 Ti SUPER, 16GB. 

Old lady hobbyist.

All visual art or fiction is "playing with dolls."


3dcheapskate posted Wed, 18 May 2022 at 7:17 AM

One of those real candle flames that I posted looks to me like three ellipses one inside another (speaking two-dimensionally) so I tried to very simplistically reproduce it in GIMP. Here's what I did, with the real flame for comparison. What struck me most was that the GIMP thumbnails top left look surprisingly good approximations to the real flame.


I had a play with bagginsbill's matmatic-generated shader in Poser's material room to see if I could introduce a similar gradation of colour from the bottom to the tiop of the falme, specifically by plugging other nodes into the Inner_Color and Outer_Color inputs of the orange/yellow EdgeBlend node and altering the Saturation and Value of the HSV node connected to Alternate_Diffuse. 

No luck so far.

And no, I can't work out the maths to do it in the matmatic script itself.

P.S. I'm ignoring the blue zone here because I think that's already sorted.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Wed, 18 May 2022 at 7:44 AM

Forgot to attach this annotated screenshot of the material room


(and apparently I also forgot to complete annotating it - it just indicates the bits I was playing with)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Wed, 18 May 2022 at 8:55 AM

Just did an 'ellipsoid' morph for the flame...


Whoops !  I forgot that the flame shader uses the V coordinate of the UV mapping of the flame mesh, and that UV mapping is a bit arbitrary - a simple cylinder projection


I think the default flame mesh probably needs to be an ellipsoid to start with, positioned as per a real flame in relation to the tip of the wick.

Obviously the UV mapping of the flame and the use of the V variable in the shader must be correlated


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Wed, 18 May 2022 at 9:39 AM

Or how about a completely different approach - use the Y (vertical) component of the normal ?


Maybe the Normal-Y can be used, possibly in conjunction with an EdgeBlend , to control both colour and transparency ?

This approach might even work for oddly shaped flames, e.g. where the wick is long and bent over and the flame burns along it horizontally



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Wed, 18 May 2022 at 10:13 AM

Whimsically connecting nodes and twiddling values, not considering the physics or maths of a flame. But it looks as if it might lead somewhere.

(once again I'm not including the blue bit here - this is just an idea for the orange/yellow/white part)



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Wed, 18 May 2022 at 4:26 PM

This is very interesting, it looks like it's coming along.  This looks like it can be converted to Cycles without too much trouble once it is completely worked out.   I don't know your progress with Superfly rendering, in particular, using Cycles, but there might be problems with super bright ambient illumination as per your setup.  Mesh lighting can cause considerable render noise leading to long render times just to clear it up.  In my judgment, relying exclusively on ambient illumination as the primary source should be reconsidered, and use a low ambient flame with an inverse square point light emitting blackbody illumination.  IMO, that is the better way to use the candle flame in a scene. 


3dcheapskate posted Thu, 19 May 2022 at 9:25 AM

It's definitely coming along. :)

For my next trick I decided to concentrate solely on trying to duplicate the nested ellipsoids effect I did in GIMP a few posts back. I realized that trying to use colour would just confuse and distract me, so I stuck to black and white.

The first thing that struck me was that I could use the v (texture coordinate) node instead of just black/white as the Inner_Color/Outer_Color of an Edge_Blend node.

The second thing that struck me was that I could use Bias/Gain* in a Math_Function node to alter the output of the v node as required.

The third thing I realized was that high (>1) Attenuation values in the Edge_Blend node 

I was amazed - just eight nodes (nine if you count the PoserSurface) and it's looking remarkably good to me.



I just wanted to make sure that I don't lose that !

What I have here looks as if it might be good to plug into Transparency, and perhaps a ColorRamp driven by the v node for the actual colour ?

*I still don't really understand what these do


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 19 May 2022 at 9:29 AM

Not quite what I'm after, but promising


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Thu, 19 May 2022 at 9:36 AM

hborre posted at 4:26 PM Wed, 18 May 2022 - #4438797

This is very interesting, it looks like it's coming along.  This looks like it can be converted to Cycles without too much trouble once it is completely worked out.   I don't know your progress with Superfly rendering, in particular, using Cycles, but there might be problems with super bright ambient illumination as per your setup.  Mesh lighting can cause considerable render noise leading to long render times just to clear it up.  In my judgment, relying exclusively on ambient illumination as the primary source should be reconsidered, and use a low ambient flame with an inverse square point light emitting blackbody illumination.  IMO, that is the better way to use the candle flame in a scene. 

The superbright ambient was just an attempt (misguided perhaps?) to get yellow and orange to render white. At least I think that's what I was trying to do. 

For the stuff after your post I've stuck to an Ambient_Value of 1. I'm using Ambient rather than Alternate_Diffuse (which is what bagginsbill used) because (a) I don't know the ins and outs of Alternate_Diffuse, and (b) Ambient seems the easiest way to ensure that I'm not getting any odd lighting interactions to confuse matters (I did set all the diffuse/specular stuff to black/zero too)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Thu, 19 May 2022 at 9:40 AM

Yes, definitely, a colorramp node can recreate that gradation.  It's looking very good, very convincing. 


3dcheapskate posted Thu, 19 May 2022 at 9:49 AM

Connecting the existing Edge_Blend to the Input of the ColorRamp, instead of just the v node, looks even more promising...



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Thu, 19 May 2022 at 10:08 AM

Fantastic!


3dcheapskate posted Thu, 19 May 2022 at 10:18 AM

For comparison:

(I set the v node bias to 0.6 in bagginsbill's shader to get the height of the blue zone about right)

P.S.  I lost the original text I wrote due to a 502 bad gateway when I tried to post - this is my second attempt. Below is a much abbreviated version of what I originally wrote.

The glow and blue zone in bagginsbill's look spot on to me. But mine has the orange/yellow/white nested ellipsoids ! :P

And I see the black halo bagginsbill mentioned that his shader seemed to produce


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



seachnasaigh posted Thu, 19 May 2022 at 7:04 PM

I made another candle model (the table candle's flame is down in the melt pocket and so not visible from the side).  It has an unseen (does not cast shadows, not visible in camera) emitter mesh closely fitted inside the flame mesh.  The flame can be given modest ambient so that it doesn't white out, while the emitter has an ambient value of 256.  This is a Firefly IDL render;  note that it casts a reasonable amount of light (there is no point light used).  As @hborre noted, this takes much longer to get a clean render, and Firefly IDL is notorious for the splotchy lighting;  I would instead use a point light (scaled to fit the flame) for a single candle, but the method is great for an array of hundreds of lights where using Poser lights would be prohibitive.


BB's flame material, modified for dual root - the Superfly material adds the highlighted nodes which jack up the lightcasting output:


Flame prop properties:


Unseen flame emitter prop (for Firefly IDL use) properties:


This is where I *do* recommend use of mesh lighting:  lots of lamps in the elvish tree stairways (and the pixie dust trail):


...or odd complex shapes, such as the tubular neon of Xanadu:


Poser 12, in feet.  

OSes:  Win7Prox64, Win7Ultx64

Silo Pro 2.5.6 64bit, Vue Infinite 2014.7, Genetica 4.0 Studio, UV Mapper Pro, UV Layout Pro, PhotoImpact X3, GIF Animator 5


ghostship2 posted Thu, 19 May 2022 at 10:34 PM

I think I used 3DCheapskate's flame shader for this promo render a few months back.


W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740


3dcheapskate posted Fri, 20 May 2022 at 4:27 AM

Thanks seachnasaigh and ghostship2, the more people who join in the merrier !

Looking at the different rendered flames we've had posted side-by-side is interesting, so left to right: my original idea; bagginsbills first post; bagginsbill's matmatic-generated; bagginsbill's matmatic one again with a mod to allow for  my UV mapping and ellipsoid morph; my triple ellipsoid; ghostship2's promo from a few months ago; seachnasaigh's latest



Also I'll repost some of the screenshots of real candle flames for further comparison.


Of course, how a photo of a candle flame looks depends very much on camera settings. And what you see with your won't necessarily match a photo.

Plenty of room for further experimentation I think. :)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 20 May 2022 at 4:53 AM

seachnasaigh posted at 7:04 PM Thu, 19 May 2022 - #4438850

I made another candle model (the table candle's flame is down in the melt pocket and so not visible from the side).  It has an unseen (does not cast shadows, not visible in camera) emitter mesh closely fitted inside the flame mesh.  The flame can be given modest ambient so that it doesn't white out, while the emitter has an ambient value of 256.  This is a Firefly IDL render;  note that it casts a reasonable amount of light (there is no point light used).  As @hborre noted, this takes much longer to get a clean render, and Firefly IDL is notorious for the splotchy lighting;  I would instead use a point light (scaled to fit the flame) for a single candle, but the method is great for an array of hundreds of lights where using Poser lights would be prohibitive
...

I've been using a single point light for my candle for no other reason than that it's what I've got used to doing for a candle in Firefly. 

I'm still simply trying to get the flame itself to look right, or at least good enough for my purposes. I hadn't really thought about using it as a light emitter itself, or using any of the other alternatives to a point light. So it's good to see that you're way ahead of me on that one ! ;)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Fri, 20 May 2022 at 4:54 AM

ghostship2 posted at 10:34 PM Thu, 19 May 2022 - #4438854

I think I used 3DCheapskate's flame shader for this promo render a few months back.

...

I'd be a bit surprised if that was my shader. If it is I'd guess that you'd made some changes to it. :)


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Sun, 22 May 2022 at 7:39 AM

Here's an interesting screenshot of a real candle flame, from the thumbnails of engineerguy's "The chemical history of a candle" videos on Youtube

There's a clearer picture at around 1.30 into lecture one

A couple of interesting visual points in that I think.


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



ghostship2 posted Sun, 22 May 2022 at 5:06 PM

this is what I used. I had saved it to my presets months ago. The two sphere/flames light the scene

W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740


3dcheapskate posted Mon, 23 May 2022 at 3:50 AM

Thanks for posting that. It got me thinking...

One thing I've noticed is that I think we're all (except bagginsball) using a ColorRamp with blue at the bottom and yellow/orange/white for the other three.

But the last screenshot I posted of a real flame (engineerguy's green candle), and also the flame of the red candle rightmost of the four real flames posted a bit earlier don't seem to show any blending of the blue colour - at any point the flame is either orange/yellow/white or it's blue.

So what should the fourth colour of the (and I'll use my version of the ColorRamp here) white-yellow-orange-??? be ? Since the area with the fourth colour is mostly transparent you could say that it doesn't matter, but it clearly does - using blue just doesn't look right to me.

How about black ? And while we're at it the orange and yellow look too saturated to me so change those too (orange = 255, 180, 120, yellow = 255, 235, 150 or something like that). Also delete all the lights in the scene.




The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 23 May 2022 at 3:55 AM

Just tidying up the layout of the nodes and adding the ellipsoid morph I used earlier to the original candle model...



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 23 May 2022 at 4:07 AM

The ellipsoid morph makes a big difference so I've zipped the morph target, Ellipsoid Flame.obj, and attached it to post 42 of the corresponding HiveWire3D topic along with very brief instructions.

Getting back to the blue zone of the flame. I'm now wondering how to add that to what I've got.



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Mon, 23 May 2022 at 7:17 AM

Just checking - it works with or without scene lights, and in both Firefly and Superfly.


It's doesn't look quite the same in Superfly, so some node parameters probably need Superfly tweaks


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



hborre posted Mon, 23 May 2022 at 7:39 AM

I don't think the PoserSurface works the well with Superfly.  I've seen variability between that node and the actual Cycle-based nodes, in this case, the transparency  settings do not have that many features accessible in Cycles.


hborre posted Mon, 23 May 2022 at 10:08 PM

Okay, I ran your ellipsoid flame shader through Cycle/PrincipledBsdf node combination and this is what I got;


                                  

 

It seems to confirm my suspicions about using the PoserSurface for Superfly rendering.  I'm going to run another render with full-blown Cycles to see what I get.


hborre posted Mon, 23 May 2022 at 10:27 PM

Straight Cycles with your flame shader.  I added the LightFalloff to simulate the Inverse Square effect and kept the emission strength low so that you can see the flames' gradient.  Otherwise, we will get a bright bloom.  


I turned off all the external lighting for the render.  Note the fireflies.

                                            



hborre posted Mon, 23 May 2022 at 10:36 PM

This is my best render with the settings as those above.  Flame light emission only using the PrincipledBsdf and an added hack to control the intensity value.  No Inverse Square, unfortunately, but keeping the emission intensity low will compensate for it.  Note, no fireflies.

                                                                       


3dcheapskate posted Tue, 24 May 2022 at 12:07 AM

I know sweet FA about Cycles, BSDF and all that jazz, so I'll take your word on those. :D

I'm focussed on Firefly (as per the topic title - although this is as good a place as any to get a Superfly candle flame shader working too).

I think getting that three Russian-doll-style ellipsoids effect working in Firefly is 95% of what I'm after. It did involve fine tuning of some parameters and I need to annotate the shader network screenshot before I inevitably forget. As I put the shader together I remember first plugging the output of the N node (default settings) directly into the PoserSurface AmbientColor and rendering my flame. Realizing I just needed the vertical component, adjusting accordingly, rerendering. Realizing I needed to add an offset, adding a Math_Functions Add and plugging that into PoserSurface AmbientColor, rendering again, adjusting, etc. The two Math Function Gains and the EdgeBlend Attenuation were trial and error.

Perhaps I should do Firefly/Superfly render comparisons with various node outputs plugged into PoserSurface AmbientColor to see if I can identify a single node that needs a Superfly-specific tweak ? Or maybe I should forget about Superfly and let those who are familiar with it take the reins ?

The big thing I notice from your last three renders is that two of them have an almost horizontal divide between the orange-yellow-white zones, and the other has the nested ellipsoids the wrong way round - joined at the top, white smallest, inside yellow, inside orange largest.



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Tue, 24 May 2022 at 12:25 AM

Regarding adding the blue zone to my last shader I tried a few ideas but my only even vaguely successful result was this


The blue was a SimpleColor node because I was planning to combine this with the previous flame shader. However, looking at the pictures of real flames again I thought "the blue is almost a completely separate thing"...

So I just tried duplicating the flame ellipsoid mesh, making it 5% larger, and applying the blue zone shader just to that.

Firefly left, Superfly right, with and without lights. Flame shader same as before.


Once again not so good in Superfly, but I'm delighted by the Firefly results !

I also had a third ellipsoid, 5% smaller than the first, to use as an invisible-in-render light emitter... but you can't do that with props. I mean make part of the prop invisible-in-render, make another part not-cast-shadows. I think the flame needs to be nested props or perhaps a figure to do that ?

Also I think that creating just a candle-flame prop/figure, i.e. without the wick/candle, is a good idea - that way I can use it on all those candles in my runtime. Which was actually the reason this topic reignited after a two year hiatus !


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Tue, 24 May 2022 at 12:43 AM

3dcheapskate posted at 12:07 AM Tue, 24 May 2022 - #4439021

...

Perhaps I should do Firefly/Superfly render comparisons with various node outputs plugged into PoserSurface AmbientColor to see if I can identify a single node that needs a Superfly-specific tweak ? Or maybe I should forget about Superfly and let those who are familiar with it take the reins ?

...

Well, identifying which node causes the Firefly/Superfly difference was much easier than I thought. Simply setting PoserSurface Transparency and TransparencyEdge to 0 and disconnecting those inputs the Firefly/Superfly renders are nigh on identical. So it's the way Superfly handles transparency that's different.

Below screenshot from render comparison in Poser - one side FF, the other SF




The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Tue, 24 May 2022 at 12:56 AM

I can't seem to get Superfly to render the flame like Firefly changing just the PoserSurface transparency stuff, but maybe a Supefly-specific EdgeBlend driving it would work ? But I'm not going to go down that path - I'm giving up on getting this flame shader to work in Superfly.

So over to all you Superfly users :)

If anybody has alternative Firefly shaders please do continue posting. What I've got now* is, I think, good enough for me. But maybe not for everybody.


*  I'll package it up and release it as a freebie - no ETA. Sitemail me a reminder if I forget !


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Tue, 24 May 2022 at 5:52 AM

I've created a brief (2 seconds) video of an animated candle flame using a modified version of my candle prop.

Have a look at it on Youtube:

Poser Firefly candle flame test - YouTube


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



3dcheapskate posted Tue, 24 May 2022 at 10:57 AM

And a slightly longer 5 second video - just a pointlite that I manually animated to match the movement of the flame

Another very short Poser Firefly candle flame animation - YouTube




The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).



Thalek posted Wed, 25 May 2022 at 6:30 PM

You shader masters have my awe-filled respect. I'm not competent to use the math nodes or most of the other functions you power-users use so nonchalantly.  When I want to create a shader that replicates the reflective safety stripes on safety vests and such, I just throw up my hands and babble.  And Superfly is utterly beyond me.

Well done, all!


RedPhantom posted Sat, 28 May 2022 at 8:52 AM Site Admin

Needed candles for a scene I was working on so I decided to try the one here. There was a little adaption needed for superfly. The only light is from the candle and the light emitter which I did put high.


Available on Amazon for the Kindle E-Reader Monster of the North and The Shimmering Mage

Today I break my own personal record for the number of days for being alive.
Check out my store here or my free stuff here
I use Poser 13 and win 10


randym77 posted Sun, 29 May 2022 at 11:15 PM

3dcheapskate posted at 10:57 AM Tue, 24 May 2022 - #4439065

And a slightly longer 5 second video - just a pointlite that I manually animated to match the movement of the flame

Another very short Poser Firefly candle flame animation - YouTube


Wow, that looks pretty good!


hborre posted Mon, 30 May 2022 at 7:32 PM

Converted everything in this scene to Superfly shaders and added Blackbody emission shaders to the point lights for each candle.  For the tealight, I used an open-end pipe primitive, shaped to fit around the candle and given a brushed aluminum procedural shader texture.  The faerie is Miki 4.



3dcheapskate posted Sat, 04 June 2022 at 11:07 AM

Somehow I stopped getting notifications. It's good to see that people are playing with this in Superfly too.

While messing around with an extra, separate EdgeBlend to drive transparency for Superfly I tried using values of PoserSurface transparency higher than 1.0, and since I tried using different values for Transparency and Transparency_Edge I also set Transparency_Falloff non-zero. What surprised me was that when I set both Transparency and Transparency_Edge back to 1.0, Transparency_Falloff still appeared to have a significant effect in Superfly. So I played around a bit more - I ended up with two extra nodes and a Superfly render that more or less matches my Firefly render.

Here's the Superfly version, changes from Firefly version marked in red:



And here's the Firefly one that's in the freebie as a reminder, and for comparison:



The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).