sarbian

[1.7.x] SmokeScreen 2.8.5 - Extended FX plugin (July 25th 2019)

Recommended Posts

On 3/15/2019 at 12:26 AM, Shadowmage said:

Apologies for not getting to this yesterday...

I am afraid it will have to wait for quite a while since I ll be away for 4 weeks and did not really took the time to finish it...

Sorry

Share this post


Link to post
Share on other sites
2 hours ago, sarbian said:

I am afraid it will have to wait for quite a while since I ll be away for 4 weeks and did not really took the time to finish it...

Sorry

No worries from me -- the samples/data should still be there whenever you can get to it.  Might even be more functional/complete by that time :)

Share this post


Link to post
Share on other sites

Just wanted to say that this mod keeps beating the numbers :P

(KSP 1.7:)
uvy8E6y.png

Share this post


Link to post
Share on other sites
1 hour ago, linuxgurugamer said:

@sarbian

The download links are getting Jenkins errors

Yeah. I did something stupid and I can not fix it for the next 12h...

Share this post


Link to post
Share on other sites
Posted (edited)

New release v2.8.2 with fixes from Scialytic and PatPL

  • Fix for first model transform being misaligned #32
  • Added a 'decluster' option to 'MODEL_MULTI_SHURIKEN_PERSIST'  #33 #34

The second fix seems to really improve the rendering but need a config change to be activated since it could break some plume. You need to add "decluster = true" to the MODEL_MULTI_SHURIKEN_PERSIST effect 

 

Edited by sarbian

Share this post


Link to post
Share on other sites

Thanks for the update! The rendering indeed seems nice.

However, after the recent update I see endless NullRef exceptions popping up when I click any engines at VAB scene. Attaching it to any node doesn't help.

After finding the error persist even in a fresh install with minimal mods, and reverting back to SmokeScreen 2.8.1 solved the issue, I thought the recent update might be the curlpit.

 

Attaching my log file.

https://1drv.ms/u/s!AnCGI7wKaBjLlccDN0Ko-Jw_g5rt5w?e=rO57uW

 

Replication.

1. Launch KSP(1.7.3 or 1.7.1 with all DLC) with SmokeScreen (2.8.2),  Realplume(2:v11.2.0),  Realplume-StockConfig(2:v11.2.0),  ModuleManager(4.0.2).

2. Start a sandbox game.

3. Go to VAB.

4. Click any engine.

 

Thanks in advance.

Share this post


Link to post
Share on other sites

SmokeScreen-2.8.3.0.zip should fix it.

I see that I forgot to mention that 2.8.2 also added an "emitOnUpdate" option to 'MODEL_MULTI_SHURIKEN_PERSIST' that should help with the 'sliding away from origin' on lower FPS.

I added 2 option in the UI ( mod+P ) to force the new option so you can check the change easily. I may change them to be on my default later.

Share this post


Link to post
Share on other sites
1 hour ago, sarbian said:

SmokeScreen-2.8.3.0.zip should fix it.

I see that I forgot to mention that 2.8.2 also added an "emitOnUpdate" option to 'MODEL_MULTI_SHURIKEN_PERSIST' that should help with the 'sliding away from origin' on lower FPS.

I added 2 option in the UI ( mod+P ) to force the new option so you can check the change easily. I may change them to be on my default later.

Hi Sarbain, the NREs in the VAB are gone now but I am still able to reproduce the issue of some plumes disappearing after time warp that I outlined in the github. Do let me know if you need fresh logs with the new version or anything. Thanks

Share this post


Link to post
Share on other sites

FYI
I tested 2.8.3 on KSP 1.6.1 with RSS RO RP-1 and it worked for some time - then suddenly the plumes and effects were gone.
First I thought the engines were cut off, but they were still running.

I don't know if it's intended to also work with KSP 1.6.1 - some mod devs are strict with version numbers, others are not. Some mods even don't have a version file at all (which could give a clue with minimum and maximum versions).

This was log spammed then:

NullReferenceException
  at (wrapper managed-to-native) UnityEngine.ParticleSystem:get_particleCount ()
  at ModelMultiShurikenPersistFX+<>c.<get_CurrentlyActiveParticles>b__53_0 (.PersistentKSPShurikenEmitter x) [0x00000] in <filename unknown>:0 
  at UniLinq.Enumerable.Sum[PersistentKSPShurikenEmitter] (IEnumerable`1 source, System.Func`2 selector) [0x00000] in <filename unknown>:0 
  at ModelMultiShurikenPersistFX.get_CurrentlyActiveParticles () [0x00000] in <filename unknown>:0 
  at SmokeScreen.SmokeScreenConfig+<>c__DisplayClass15_0.<UpdateParticlesCount>b__0 (.ModelMultiShurikenPersistFX x) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[ModelMultiShurikenPersistFX].ForEach (System.Action`1 action) [0x00000] in <filename unknown>:0 
  at SmokeScreen.SmokeScreenConfig.UpdateParticlesCount () [0x00000] in <filename unknown>:0 
  at ModelMultiShurikenPersistFX.FixedUpdate () [0x00000] in <filename unknown>:0 
 
(Filename:  Line: -1)

btw that session was for some reason accidentaly launched with -force-d3d11 which I usually do not do at all. I prefer -force-glcore.
I mis-clicked the link and decided to let it launch instead of killing the process, so besided the log spamming mentioned above also this bs was spammed:

Spoiler

(Filename:  Line: 497)

d3d11: failed to create 2D texture id=7998 width=30 height=8 mips=5 dxgifmt=77 [D3D error was 80070057]

 
(Filename:  Line: 478)

d3d11: failed to create 2D texture shader resource view id=7998 [D3D error was 80070057]

and a lot of other id values

For more interest, the log:
https://www.dropbox.com/s/8x6j3s77cxr3tlk/output_log.txt and stuff 2019-07-16-01.zip?dl=1

Share this post


Link to post
Share on other sites

v2.8.4

SmokeScreen-2.8.4.0.zip

  • Should fix the last exception spam ( @Gordon Dry)
  • Add saturationMult, brightnessMult and alphaMult curves

Not updating the first post yet since I did not test it all that much so I ll wait for some feedback

Share this post


Link to post
Share on other sites

Hi @sarbian super keen on the new parameters but I havent been able to get them working :(. Did I do a dumb or could there be a bug? Cheers.

I've tried all 3 as global parameters and as curves against power or density.

Spoiler

Attempts at applying saturationMult

SGHTlBb.png

J6etJqC.png

aCRIxXO.png

uqnFDXU.png

 

Share this post


Link to post
Share on other sites
16 minutes ago, Zorg said:

Hi @sarbian super keen on the new parameters but I havent been able to get them working :(. Did I do a dumb or could there be a bug? Cheers.

I've tried all 3 as global parameters and as curves against power or density.

  Reveal hidden contents

Attempts at applying saturationMult

SGHTlBb.png

J6etJqC.png

aCRIxXO.png

uqnFDXU.png

 

I most likely forgot to commit something. I'll have a look tonight...

Share this post


Link to post
Share on other sites
Posted (edited)

@Drew Kerman sure thing, I have some screenshots on hand when I was testing out the fixed release. I only applied them globally here but they would usually be used in a curve.

This here is a plume I have been working on for BDB as configured right now.

A9CyMZtl.png

Here I have used the saturationMult to turn down the colour. Goes both ways of course. I can see it being used globally when you just want to tweak the overall colour or against an atmosphere curve to make the plume less saturated in high altitudes.

cubm6yxl.png

Here I used the alphaMult to make it more transparent. This can be very useful when you want to thin out a plume say at low atmo density or even low throttle as peviously your only option was to turn down particle emission. But sometimes that can create a weird look. Of course one should be careful not to abuse this and have hundreds of invisible particles emitting away impacting performance. But I might look into using alphaMult to fade out some "difficult" effects and then cut off emission after that.

8nICiz2l.png

Here we have an unmodified version of the plume again, this time at sea level.

CXewdjpl.png

Visually speaking at least, the turning down brightness and turning down alpha gives a very similar result. I cant tell the difference.

nhAl4lBl.png

But turning them up, differences become apparent. Alpha turned up.

VzZ6nX9l.png

Brightness seems to introduce a bit of a colour shift at least with this effect. The alpha adjustment on the other produces a result similar to turning up particle emission.

At least with some effects like the one seen here, you should be able to get a stronger looking plume by turning up brightness or alpha instead of particle emission. Fewer particles means better PC performance!

puzc04Cl.png

3 cheers to Sarbian for adding these very useful parameters!

Edited by Zorg

Share this post


Link to post
Share on other sites

Nice to see it in action :)

I could also use some feedback on the decluster and emitOnUpdate options to see if I should activate them by default.

Share this post


Link to post
Share on other sites
Posted (edited)
24 minutes ago, sarbian said:

Nice to see it in action :)

I could also use some feedback on the decluster and emitOnUpdate options to see if I should activate them by default.

Hmm I have enabled both options on a handful of original RealPlume prefabs in my own install and things seemed fine. However on some of the custom plumes I was working on recently for cryoEngines, I found a few particles that behaved really badly with decluster. 

I don’t really understand how it all works I just play around with configs and see what works :P

but my understanding is that emitOnUpdate helps pretty much everything when frame rates drop while declustering mostly helps make effects with high speed or energy look contiguous (although it does smooth out plumes under normal circumstances).

Therefore based on my non comprehensive testing I think the most you should do is enable emit on update by default. And leave declustering on the config side for anyone who needs it. 

Edited by Zorg

Share this post


Link to post
Share on other sites

The thing that affect me most analysing into the particle visualisation in general is when you are fast, the distance between particles is so big, it won't appear to be a continue flux from the engine. This happens in stock a lot and even in this mod too. Because the way it works, i understand why it happens.

And if i put it slave to the ship, the trail won't show up curves of inertia or curve movements. What made it point static from the engine, moving only away from it. What is not desirable too.

My question is: I see "Ship-centric emitters" on the first page as a future thing for this mod. Is it what i am talking about? Or is a new and better way to compute all the movements of the particle, curves, inertia etc, but relative to the ship movement, and not from the world space? If so, that would be the most desirable update ever and will solve the continue trail for all cases of movement and keep it dynamics for inertia, curves etc. Thanks.

Share this post


Link to post
Share on other sites
1 hour ago, Climberfx said:

The thing that affect me most analysing into the particle visualisation in general is when you are fast, the distance between particles is so big, it won't appear to be a continue flux from the engine. This happens in stock a lot and even in this mod too. Because the way it works, i understand why it happens.

And if i put it slave to the ship, the trail won't show up curves of inertia or curve movements. What made it point static from the engine, moving only away from it. What is not desirable too.

My question is: I see "Ship-centric emitters" on the first page as a future thing for this mod. Is it what i am talking about? Or is a new and better way to compute all the movements of the particle, curves, inertia etc, but relative to the ship movement, and not from the world space? If so, that would be the most desirable update ever and will solve the continue trail for all cases of movement and keep it dynamics for inertia, curves etc. Thanks.

Well, then have a look at the new option. They were added to help with that (I did not code them) https://github.com/sarbian/SmokeScreen/pull/34

You can force them with in the mod+P menu. decluster may break some stuff from what @Zorgsaid but emit on update will be the default next patch (that will clean up the code)

Share this post


Link to post
Share on other sites

@sarbian Question, would it be posible to control an smokescreen exhaust effect from c# code similar like you could control an exhaust effect on a part with ModuleEnginesFX

part.Effect("runningEffect", 1, -1);

I need to do that in order to have the effect visible durring time warp

Edited by FreeThinker

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.