2nd_World opened this issue on Oct 27, 2021 · 29 posts
2nd_World posted Wed, 27 October 2021 at 3:52 AM
Hello everyone.
A customer of me ran into a Poser 12 SuperFly issue or bug. I've already reported it to the developers but I want to share it with you anyway in case you run into it too.
When a
rigged character has one or more ambient light materials it causes an issue when
not all of that model’s body parts have “light emitter” enabled on the
properties tab.
Having this combination on any model will result in a dark gray/black render
where only the highlights are visible.
This airplane for example. The main fuselage body part
with lights like landing, taxi and navigation lights has the “light emitter” option enabled. But the seats, rudder, flaps, wheels etc.
have it disabled because they don't require light emitting. When I enable the ambient light materials to simulate the lights, the render goes wrong.
It's dark, and only the ambient materials, some reflections and highlights seem to be rendered.
Easy to fix by enabling "light emitter" on all body parts of the model, but I hope the developers will implement a fix in the next update.
Best regards,
Sander.
Y-Phil posted Wed, 27 October 2021 at 4:11 AM
Hello everyone.
A customer of me ran into a Poser 12 SuperFly issue or bug. I've already reported it to the developers but I want to share it with you anyway in case you run into it too.
When a rigged character has one or more ambient light materials it causes an issue when not all of that model’s body parts have “light emitter” enabled on the properties tab.
Having this combination on any model will result in a dark gray/black render where only the highlights are visible.
This airplane for example. The main fuselage body part with lights like landing, taxi and navigation lights has the “light emitter” option enabled. But the seats, rudder, flaps, wheels etc. have it disabled because they don't require light emitting. When I enable the ambient light materials to simulate the lights, the render goes wrong.
It's dark, and only the ambient materials, some reflections and highlights seem to be rendered.
Easy to fix by enabling "light emitter" on all body parts of the model, but I hope the developers will implement a fix in the next update.Best regards,
Sander.
Beautiful plane 😍
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
2nd_World posted Wed, 27 October 2021 at 4:19 AM
Thanks Phil. It's probably my favourite! Pity it goes wonky though ;)
Y-Phil posted Wed, 27 October 2021 at 6:55 AM
What? something wonky from you? It's a first time: I love your products..Thanks Phil. It's probably my favourite! Pity it goes wonky though ;)
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
2nd_World posted Wed, 27 October 2021 at 7:10 AM
Oh wow, thanks Y-Phil. You're right, it's actually Poser that goes wonky on it ;p
The issue seems to have started with a recent update. I do hope the developers find a way to fix it.
Y-Phil posted Wed, 27 October 2021 at 7:18 AM
Ok, then: let's hope that this "Wonky time" soon changes to... "Fonky Time"... (Lipps Inc...) 😂Oh wow, thanks Y-Phil. You're right, it's actually Poser that goes wonky on it ;p
The issue seems to have started with a recent update. I do hope the developers find a way to fix it.
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
ghostship2 posted Thu, 28 October 2021 at 2:41 PM
@ 2nd_World
The light emitter option for body parts is for more than the part "emitting" light. I believe it's also for including that part of the model in ambient light bouncing calculations. I don't see a situation where it shouldn't be checked "on." I could be wrong.
W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740
2nd_World posted Thu, 28 October 2021 at 3:32 PM
@Ghostship. I've checked that. There's no difference in bounced light between the two options.
The ball in the centre is the emitter. The ball on the left has "light emitter" enabled, the ball on the right has it disabled.
The "light emitter" option already exists in many older versions when there was only the FireFly render-engine. Indirect light in Firefly
gives quite poor results and takes ages to render when you increase the quality to acceptable results. I assume they added this option
so users can include and exclude specific ambient materials to emit or not emit light light and prevent unnecessary processing time.
At least that's the the way I've used it on some models. There should have been a reason for the developers to include the option I'd say.
parkdalegardener posted Fri, 29 October 2021 at 5:11 AM
Ghostship is correct. 2nd_World you have a slight misconception happening. "Light Emitter" is indeed for light bounces not self illumination. It allows an object to diffuse incoming light back into the scene when Firefly rendering with indirect light. It is not about glowing objects. It is about light bounces and ambient light. The "light Emitter" option is to ensure the object is participating in IDL calculations. When you untick the option, you are removing IDL bounces form the object you are rendering. That is why your non light emitting parts render like that when you remove the option for IDL bounces. The Light Emitter box. Your plane is not part of the bounced light calculations. Just the initial light calculation and nothing more. Nothing to do with mesh lighting like your spheres above would seem to mistakenly surmise. Essentially, this is not Superfly problem that needs fixing, just a slight mistake as to the meaning of the option.
2nd_World posted Fri, 29 October 2021 at 6:15 AM
I've did some extra tests and it seems that the light bounce explanation is correct, thank you I didn't know that.
Though deselecting "light emitter" also disables the self illumination and that's where I incorrectly interpreted it's function.
That doesn't explain why SuperFly goes wrong though, because it ignores the function and includes geometry with "light emitter" disabled in indirect light anyway.
parkdalegardener posted Fri, 29 October 2021 at 7:31 AM
Looking at P12 in another window and I no longer even see "light Emitter" as an option. I don't really recall it since Poser Pro 2012. Mesh light in P12 is as easy as enabling a value above zero in Ambient_Value when using the PoserSurface node; or enabling a value higher than zero in EmissionStrength when using the PhysicalSurface node. As I look at P11 in yet another window I do no see the light emitter option any longer there either. Mesh lighting would be enabled the same way in P11 as mentioned for P12 when rendering with Superfly.
DefaultGuy posted Fri, 29 October 2021 at 7:35 AM
According to Nerd3D, the immediate workaround is to set the skinning method to Poser Unimesh. The issue only produces when the skinning is set to Poser traditional.
2nd_World posted Fri, 29 October 2021 at 8:07 AM
@Parkdalegardener. The function and checkbox is still there in Poser 12. It's located on the model's property tab, not on the render settings panel.
The odd thing is that the customer who contacted me about the issue only ran into it recently, although using the model, Poser 12 and SuperFly in exactly the same way for longer. It seems to have started with an update. I can't check that because I've only purchased Poser 12 two days ago to see the issue. Because SuperFly in Poser 11 which I have been using all along doesn't have this problem. It completely ignores the function, disabled or enabled.
And indeed, mesh-lights and indirect light are brilliant in SuperFly. It's on a totally different level compared to FireFly's mesh-lights. But the issue isn't if it does it better, but why it goes wrong on basically a FireFly function while it ignores the setting.
@DefaultGuy. I've tried the Nerd3D skinning method workaround, but I'm afraid it doesn't work :(
Anyway, the developers team is already on it, so I assume they can fix it with the next update.
2nd_World posted Fri, 29 October 2021 at 8:25 AM
@Parkdalegardener. I misunderstood "Looking at P12 in another window" in my previous comment.
Indeed the function shouldn't be of any relevance with SuperFly because it ignores it's setting. So the function is kind of outdated. But because it has issues with some models under rare conditions, it is relevant.
DefaultGuy posted Fri, 29 October 2021 at 12:00 PM
Here is my result based on Nerd 3D's workaround. Poser 12 SuperFly rendering (navlight_left ambient =1)
FYI, Nerd3D and I are on the Poser 12 Dev team. Jenn asked me to investigate the issue and I've submitted the report for the team to look at.
Graytail posted Fri, 29 October 2021 at 1:39 PM
2nd world, I've just tried the unimesh thing on the penthouse and yeah, it seems to be working. After loading the livingroom pre-made room and setting all the figures it added to unimesh its still in colour. Sure beats going through every item and turning on the light emitter ^_^
Anyone know of a script to turn on unimesh for all objects in a scene? Some of the sets I've built have a -lot- of figures in them and its going to be very time consuming changing them over manually
Y-Phil posted Fri, 29 October 2021 at 3:36 PM
Graytail posted at 1:39 PM Fri, 29 October 2021 - #4429572
Here you are: drop this code in a python file and hook it to Poser's Python menu.2nd world, I've just tried the unimesh thing on the penthouse and yeah, it seems to be working. After loading the livingroom pre-made room and setting all the figures it added to unimesh its still in colour. Sure beats going through every item and turning on the light emitter ^_^
Anyone know of a script to turn on unimesh for all objects in a scene? Some of the sets I've built have a -lot- of figures in them and its going to be very time consuming changing them over manually
c = 0
for fig in poser.Scene().Figures():
if fig.SkinType() != 3:
c = c + 1
fig.SetSkinType(3)
poser.DialogSimple.MessageBox("Done.\n{} figures converted".format(c))
Oh and be patient after the script has run: I've tested with a scene containing 64 figures, and I had to wait for 10-15 seconds (Poser looked as if it was dead), I suppose that it depends on the power of the computer
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
2nd_World posted Sat, 30 October 2021 at 10:56 AM
Hi everyone.
The unimesh workaround does work now! I don't know why it didn't yesterday.
@Defaultguy. I didn't know you and Nerd3D are from the development team. Thank you for your quick investigation and feedback.
@ Y-Phil. That script will be very handy. Do you think it's also possible to enable all the "light emitter" checkboxes of multiple model's body-parts in a scene with a script?
I've never given Python scripts much attention unfortunately.
Y-Phil posted Sun, 16 January 2022 at 4:16 AM
Sorry if I'm coming back at your question only now...
I have to say that I haven't found a way to control the properties checkmarks of an object...
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
primorge posted Sat, 22 January 2022 at 6:25 AM
Y-Phil posted at 4:16 AM Sun, 16 January 2022 - #4433343
The properties are located in the level 1 actor controls listingsSorry if I'm coming back at your question only now...
I have to say that I haven't found a way to control the properties checkmarks of an object...
I'm guessing the relevant entry for light emitter is visibleInIDL.
primorge posted Sat, 22 January 2022 at 8:44 AM
Example pose that turns off light emitter property for the floor actor in Cybertenko's 'Vincent Bedroom' set figure in Poser's included content 3D Scenes Sets...
Just add any actors to such a pose template
primorge posted Sat, 22 January 2022 at 9:00 AM
Y-Phil posted Sat, 22 January 2022 at 9:42 AM
primorge posted at 6:25 AM Sat, 22 January 2022 - #4433598
Y-Phil posted at 4:16 AM Sun, 16 January 2022 - #4433343
The properties are located in the level 1 actor controls listingsSorry if I'm coming back at your question only now...
I have to say that I haven't found a way to control the properties checkmarks of an object...I'm guessing the relevant entry for light emitter is visibleInIDL.
Thank you for having pointed this out. Indeed: it looks that it does the trick. One thing that I haven't been able to do is to force the Parameter window to refresh, but one just have to select something else and then to reselect the previously selected actor.
So here is the script:
On_off = True
def switch_on_off(what):
global On_off
if not what: return
try: children = what.Children()
except: children = []
for child in children:
switch_on_off(child)
try: what.SetVisibleInIDL(On_off)
except: pass
scene = poser.Scene()
actor = scene.CurrentActor()
switch_on_off(actor)
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️
primorge posted Sat, 22 January 2022 at 9:55 AM
Just in case you'd rather use a pose file, now that Y-Phil has posted Python for this :D, and for ease of redistribution if required, here's how the formatting should look in the template with multiple actors. Most things going on in figures can be manipulated via pz2, for those not Python conversant. If it has an off on option it's generally able to be manipulated via very simple poses...
Props require either a figure being present in the scene or being parented to a figure in order to be manipulated via pz2, been a while so off the top of my head the specifics are hazy. I think its a case by case requirement
primorge posted Sat, 22 January 2022 at 10:05 AM
sturkwurk posted Sat, 19 March 2022 at 8:56 AM
bangs head on desk for not looking for a thread about the superfly all black render problem first.
Just spent an hour solving this on my own. :P
There's a script or a pose for a fix? Please, where's that at?
For now, I'm fixing the code with a find/replace for each item as needed.
sturkwurk
I came, I rendered, I'm still broke.
ghostship2 posted Sun, 20 March 2022 at 11:30 AM
@sturkwurk
If a mat is not set to do anything in a render (Poser root with everything set to 0 or Cycles root with nothing plugged in) it will render blank/black. I call it the "black hole" and I actually use it in my eye shaders for the pupils. I don't want light hitting a pupil set up with diffuse and showing off geometry that really should not be there. I set them to this "black hole" setting and no matter what lighting they get, the pupils always come out nice and black like they should.
W10, Ryzen 5 1600x, 16Gb,RTX2060Super+GTX980, PP11, 11.3.740
WILL_I_AM posted Thu, 05 May 2022 at 7:09 PM
Thanks for the script. Real time saver.Graytail posted at 1:39 PM Fri, 29 October 2021 - #4429572
Here you are: drop this code in a python file and hook it to Poser's Python menu.2nd world, I've just tried the unimesh thing on the penthouse and yeah, it seems to be working. After loading the livingroom pre-made room and setting all the figures it added to unimesh its still in colour. Sure beats going through every item and turning on the light emitter ^_^
Anyone know of a script to turn on unimesh for all objects in a scene? Some of the sets I've built have a -lot- of figures in them and its going to be very time consuming changing them over manually
c = 0
for fig in poser.Scene().Figures():
if fig.SkinType() != 3:
c = c + 1
fig.SetSkinType(3)poser.DialogSimple.MessageBox("Done.\n{} figures converted".format(c))
Sorry but with the new interface, I still don't know how to present unformatted code, so beware with the lines and the indentation, it should look like this:Oh and be patient after the script has run: I've tested with a scene containing 64 figures, and I had to wait for 10-15 seconds (Poser looked as if it was dead), I suppose that it depends on the power of the computer
Y-Phil posted Fri, 06 May 2022 at 1:20 AM
Thanks for the script. Real time saver.
You're welcome :smile:
𝒫𝒽𝓎𝓁
(っ◔◡◔)っ
👿 Win11 on i9-13900K@5GHz, 64GB, RoG Strix B760F Gamng, Asus Tuf Gaming RTX 4070 OC Edition, 1 TB SSD, 6+4+8TB HD
👿 Mac Mini M2, Sonoma 14.6.1, 16GB, 500GB SSD
👿 Nas 10TB
👿 Poser 13 and soon 14 ❤️