Jump to content

[1.8.x-1.10.x] SmokeScreen 2.8.14 - Extended FX plugin (18 April 2020)


sarbian

Recommended Posts

Ok, using hotrockets as scratch I've created a new "zero" config that I like for a SRB. So I rebuild the config and when I restart KSP the new SRB effects is On from the begining and it's replaced by the stock fx when I launch it. Anybody knows what I'm doing wrong here?

I had the same problem, it was due to the lack of an end curly bracket.

Link to comment
Share on other sites

[smokeScreen PersistentEmitterManager] : OnDestroy

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

UnloadTime: 119.930283 ms

Crash!!!

Every Time. Why is that?

It's a RAM crash too, somebody's got a RAM leak, but THIS mod always is the last module to do anything before it crashes, and It runs out of RAM at 3 Gigs, not 3.6, or 4 like it technically should. I have 8 and plenty free RAM for unity to grab it's 4 Gigs, in fact it could easily grab 6 with plenty of overhead if it was a 64 bit game. An explanation as to why it's always this mod on that last line is all I'm asking for.

Link to comment
Share on other sites

Every Time. Why is that?

It's a RAM crash too, somebody's got a RAM leak, but THIS mod always is the last module to do anything before it crashes, and It runs out of RAM at 3 Gigs, not 3.6, or 4 like it technically should. I have 8 and plenty free RAM for unity to grab it's 4 Gigs, in fact it could easily grab 6 with plenty of overhead if it was a 64 bit game. An explanation as to why it's always this mod on that last line is all I'm asking for.

Smokescreen is not the culprit. If you remove it you'll still keep crashing. I think it's a RAM issue. 3 Gigs is already on the edge of crashing.

Link to comment
Share on other sites

Smokescreen is unloading itself like a good mod and I left a debug line for when it unloads. If other mods had a debug line in their OnDestroy you see them too. The game crash on a scene transition, those free and then allocate a lot of mem.

Link to comment
Share on other sites

  • 4 weeks later...

I posted this before in the HotRockets thread, but it seems like it may be dead.

Is anyone able to give me some pointers for developing my own configs? I would, of course, share back with the community. I really want to build configs that allow for a much more realistic exhaust plumes. I've been watching a lot of launch videos and doing a lot of reading to get a feel for launch plumes, and everything leads me to believe that Kerbal doesn't come close to portraying what a real launch is like. I have some questions:

1. Is this even possible with smokescreen, hot rockets, and Kerbal? Will the game and engine support this?

2. If #1 is possible, is there anyone who can assist me with building these configs?

Here's my research. I am only linking things, rather than embedding them, as some of these images are large, and those who aren't interested don't need to scroll through or load pictures hosted elsewhere:

Falcon 9

The best video of a launch that really has excellent focus on the engines and plume is this one, of a Falcon 9 launch:

At 1:50 into the video, approximately a minute and a half after liftoff, the Falcon 9 is passing through Max Q, and the exhaust plume radius is approximately three or four times the radius of the Falcon 9 launch vehicle:

At approximately 2 minutes into the launch, the Falcon 9 launch vehicle is at 33 km elevation, and the plume radius looks to be easily six times the radius of the launch vehicle.

At about 2:30 into the launch, the vehicle is at 58 km elevation, and the plume is massive, about 10x the radius (or more) of the launch vehicle.

Second stage engine ignites at about 3 minutes into the launch and the plume rapidly expands out past the edge of the picture with the camera zoomed in.

Apollo/Saturn 5

Here is the Saturn 5 launch vehicle very shortly after launch, with the condensation shock ring visible. The plume itself looks to be maybe 1.5x the radius of the vehicle, but the flame appears to be at least as long as the launch vehicle.

http://upload.wikimedia.org/wikipedia/commons/a/ac/Apollo_11_launch.jpg

This picture shows the Saturn 5 1st stage with a plume of at least 5-6 times the radius of the launch vehicle:

http://www.ehartwell.com/afjwiki/images/4/49/KSC-69PC-413-detail.jpg

NASA has a very similar picture here (http://spaceflight.nasa.gov/gallery/images/apollo/apollo6/hires/s68-27366.jpg) and here (http://www.hq.nasa.gov/office/pao/History/alsj/a410/ap10-KSC-69PC-188HR.jpg)

From this page (http://www.astr.ua.edu/keel/space/apollo.html) we have an image of the S-IVB TransLunar Injection burn of Apollo 8, as captured on the ground from Hawaii:

http://www.astr.ua.edu/keel/space/a8_saomaui.jpg

This last image looks like the plume itself may be 100x or more longer than the vehicle, and a 1000x times its radius.

Is something like this even doable in Kerbal?

Link to comment
Share on other sites

First a question : Do you want to design the exhaust particle / effect (the sprite) regardless of expansion or do the one provided with stock/hotrockets and other mods that use SmokeScreen works for you ? If the answer is yes then the best tutorial for that part is the first pots in the hotrocket thread.

If you "just" want to change expansion with the atmo then it's mainly a config problem. Once you have a basic SmokeScreen effect set up for an engine put it on tank attached to a clamp, go the the launchpad, activate infinite fuel in the cheat menu, start the engine and open SmokeScreen config UI (you need BlizzyTool bar to see the button). Then you can play with the config value and the inputs (atmo density, speed, ...)

Realism Overhaul (and late post in HotRocket thread) has config that do something like you want with the Falcon 9 (look at the image album) so you could use that as a starting point if you need more.

What you want for the Apollo is more complex. The scale of the effect you want make it hard to do with current SmokeScreen since it would need way too much particles. I plan to play with mesh for exhaust at one point (I have some idea to make them work with multiple engine) but I won't do that for a while.

If you need more info keep posting.

Link to comment
Share on other sites

  • 4 weeks later...

Big question. Is HotRockets currently the only mod that reworks the stock engine effects with your plugin? I'm curious as it seems as though HotRockets isn't being officially updated and so there might be no passed around mods that rework engine effects (official meaning not being passed around between users and updated, but updated by the creator). ;.; that would make many space programs sad...

Edited by Avera9eJoe
Link to comment
Share on other sites

  • 4 weeks later...

I don't know if it's the 1.0 quick fix which broke something, or i'm doing something wrong (most likely) but i cannot get any particles working for the engage/disengage effects

@PART[liquidEngine]{
!fx_exhaustFlame_blue = DELETE
!fx_smokeTrail_light = DELETE
!fx_exhaustLight_blue = DELETE
!fx_exhaustSparks_flameout = DELETE

!sound_vent_medium = DELETE
!sound_rocket_hard = DELETE
!sound_vent_soft = DELETE
!sound_explosion_low = DELETE

@MODULE[ModuleEngines]
{
@name = ModuleEnginesFX
%powerEffectName = exhaustfx
}

EFFECTS
{
exhaustfx
{
// NOTE: I removed the 10 or so emmiter spam that was under here to shorten the post
// and replaced it with a generic one, as what was there was not really relevant (i hope)
MODEL_MULTI_PARTICLE_PERSIST
{
name = plumeExtBoundary
modelName = MP_Nazari/FX/flamejet
transformName = thrustTransform
}
AUDIO
{
channel = Ship
clip = sound_rocket_hard
volume = 0.0 0.0
volume = 1.0 1.0
pitch = 0.0 0.2
pitch = 1.0 1.0
loop = true
}
}
engage
{
AUDIO
{
channel = Ship
clip = sound_vent_medium
volume = 1.0
pitch = 2.0
loop = false
}
MODEL_MULTI_PARTICLE_PERSIST
{
name = ignitionFlash
modelName = MP_Nazari/FX/fusionflame2
transformName = thrustTransform
singleEmitTimer = 1.0
// curves go here, yadda yadda, you know the rest
}
}
disengage
{
AUDIO
{
channel = Ship
clip = sound_vent_soft
volume = 1.0
pitch = 2.0
loop = false
}
}
flameout
{
AUDIO
{
channel = Ship
clip = sound_explosion_low
volume = 1.0
pitch = 2.0
loop = false
}
}
}
}

However i mess around with the curves and the different variables, nothing i do affects the "ignitionFlash" emitter. It's stays on constantly at its default setting and responds to no variable i put in there, not even resing it works.

What do i have to do to get a particle emitter to work under the engage/disengage effects?

note: i've tried both MODEL_MULTI_PARTICLE and MODEL_MULTI_PARTICLE_PERSIST

i apologize for the messy code, it looked much better in NP++

Edited by igor_perusco
Link to comment
Share on other sites

It ended up to be more complex than anticipated. I had a problem in my code (easy) and there is a problem in stock that goes a little deep with when the effect are initialized. I won't go into the details but I added a workaround in SmokeScreen and made a bug for the devs.

Tell me if it works for you igor_perusco.

2.6.1 Fix the singleEmitTimer and add workaround for the stock effect init problem

Download : SmokeScreen-2.6.1.0.zip

Link to comment
Share on other sites

hello there till igor it will test i can post data from output_log.txt & KSP.log from 2.6.1 version

[LOG 01:05:25.489] Load(Assembly): SmokeScreen/SmokeScreen

[LOG 01:05:25.490] AssemblyLoader: Loading assembly at D:\Games\Kerbal Space Program\GameData\SmokeScreen\SmokeScreen.dll

[LOG 01:05:25.933] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:05:54.943] Load(Texture): SmokeScreen/SmokeScreen

SmokeScreen v2.6.1.0

[LOG 01:07:31.000] [ModuleManager] :BEFORE[sMOKESCREEN] pass

[LOG 01:07:31.073] [ModuleManager] :FOR[sMOKESCREEN] pass

[LOG 01:07:31.147] [ModuleManager] :AFTER[sMOKESCREEN] pass

[LOG 01:09:09.355] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:09:10.125] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:09:11.454] [smokeScreen PersistentEmitterManager] : OnSceneChange

[LOG 01:09:12.227] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:09:13.297] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:09:16.241] ActiveTextureManagement: Name: SmokeScreen/SmokeScreen

[LOG 01:09:37.221] [smokeScreen PersistentEmitterManager] : OnSceneChange

[LOG 01:09:37.471] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:09:37.850] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:09:38.860] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:09:39.313] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:11:00.388] [smokeScreen PersistentEmitterManager] : OnSceneChange

[LOG 01:11:01.121] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:11:01.467] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:11:02.364] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:11:02.822] Assembly:SmokeScreen, Version=2.6.1.0, Culture=neutral, PublicKeyToken=null

[LOG 01:11:02.898] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:11:38.518] [smokeScreen PersistentEmitterManager] : OnSceneChange

[LOG 01:11:38.817] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:11:40.299] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:11:41.172] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:11:42.119] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:11:42.120] AddonLoader: Instantiating addon 'SmokeScreenConfig' from assembly 'SmokeScreen'

[LOG 01:11:42.121] AddonLoader: Instantiating addon 'SmokeScreenUI' from assembly 'SmokeScreen'

[LOG 01:11:44.163] SmokeScreenConfig could not load config

[LOG 01:17:49.643] [smokeScreen PersistentEmitterManager] : OnSceneChange

[LOG 01:17:50.466] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:17:51.005] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:17:51.818] [smokeScreen PersistentEmitterManager] : OnDestroy

[LOG 01:17:52.317] AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[LOG 01:19:40.488] [smokeScreen PersistentEmitterManager] : OnDestroy

Load(Assembly): SmokeScreen/SmokeScreen

AssemblyLoader: Loading assembly at D:\Games\Kerbal Space Program\GameData\SmokeScreen\SmokeScreen.dll

Non platform assembly: D:\Games\Kerbal Space Program\GameData\SmokeScreen\SmokeScreen.dll (this message is harmless)

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

Load(Texture): SmokeScreen/SmokeScreen

SmokeScreen v2.6.1.0

[ModuleManager] :BEFORE[sMOKESCREEN] pass

[ModuleManager] :FOR[sMOKESCREEN] pass

[ModuleManager] :AFTER[sMOKESCREEN] pass

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnSceneChange

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

ActiveTextureManagement: Name: SmokeScreen/SmokeScreen

[smokeScreen PersistentEmitterManager] : OnSceneChange

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnSceneChange

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnDestroy

Assembly:SmokeScreen, Version=2.6.1.0, Culture=neutral, PublicKeyToken=null

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnSceneChange

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

AddonLoader: Instantiating addon 'SmokeScreenConfig' from assembly 'SmokeScreen'

AddonLoader: Instantiating addon 'SmokeScreenUI' from assembly 'SmokeScreen'

SmokeScreenConfig could not load config

[smokeScreen PersistentEmitterManager] : OnSceneChange

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnDestroy

AddonLoader: Instantiating addon 'PersistentEmitterManager' from assembly 'SmokeScreen'

[smokeScreen PersistentEmitterManager] : OnDestroy

houpe it help, cya around

Link to comment
Share on other sites

It works, does exactly what i wanted it to do. Thanks Sarbian!

I do have some feedback and a few questions.

Is it possible to set power and density curves for single emissions? I would like an ignition flash to happen only if the engine is started with open throttle.

Right now it looks like none of the single emission effects react to either power setting or density.

Also, what exactly is the nature of the stock "fx_exhaustSparks_flameout"? Is it treated as a particle emitter? Can i use it with smokescreen and alter its behaviour?

If yes how would i go about referencing this effect? I can't physically locate it in the squad folder, and i don't know how to call it if it's within the sharedassets files.

edit: Is it possible to move an entire effect node and/or rescale it? Not the emitters themselves, i know it's possible to move those individually.

I would like to move and resize an existing (pre made) effect, so i can copy and paste it to several engines.

The fxoffset thing doesn't appear to work on ModuleEnginesFX for custom effects made with smokescreen

Thanks!

Edited by igor_perusco
Link to comment
Share on other sites

No, it does not work for the power curve. When a single effect is called it is done with a fixed power of 1. I could add a flag to allow the use of the current throttle value...

Density should work as usual.

fx_exhaustSparks_flameout is one of the stock legacy effect. those are called with PREFAB_PARTICLE, so SmokeScreen can't do anything with them.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.

×
×
  • Create New...