Jump to content

[1.12.*] Deadly Reentry v7.9.0 The Barbie Edition, Aug 5th, 2021


Starwaster

Recommended Posts

Yes, all chutes were undeployed. I even tried a re-entry without arming the chutes prior as I normally do in case that was causing something. So I finally gave up on the radials and decided to just try a test with the nose cone chute. This was totally unintentional the way I ended up re-entering the atmosphere (RemoteTech2 was enabled and I couldn't set myself up for re-entry). Still, the results were surprising.

www.youtube.com/watch?v=UmI5N8AAuis

Crap, didn't realize I resized the video to 640x480 when I clipped it down to just this section. Anyways, max temp for the nose cone chute was 760C

The speed of this re-entry was pretty slow, I will grant that. Other tests I did ended up around 2-2.5km/s with the radials.

I also still don't understand how every other part on the capsule can max out at around 300C and the radials flare up past 1000C.

Link to comment
Share on other sites

Yes, all chutes were undeployed. I even tried a re-entry without arming the chutes prior as I normally do in case that was causing something. So I finally gave up on the radials and decided to just try a test with the nose cone chute. This was totally unintentional the way I ended up re-entering the atmosphere (RemoteTech2 was enabled and I couldn't set myself up for re-entry). Still, the results were surprising.

www.youtube.com/watch?v=UmI5N8AAuis

Crap, didn't realize I resized the video to 640x480 when I clipped it down to just this section. Anyways, max temp for the nose cone chute was 760C

The speed of this re-entry was pretty slow, I will grant that. Other tests I did ended up around 2-2.5km/s with the radials.

I also still don't understand how every other part on the capsule can max out at around 300C and the radials flare up past 1000C.

It's because of what I'm trying to tell you. There is nothing shielding that part. Remember that thing I mentioned? The transform? It's what tells unity and KSP where the part is and which way it faces. I have no idea where that parts transform is but it's probably sticking out into space and you've got it on top of a narrow cone. Tilt that cone at an angle and it tips those transforms out further.

You want something more bizarre? Make your reentry orientation pointing away from the planet so the cones side faces into the reentry. So that the radial chute itself faces into reentry with the pods nose up.

If using mechjeb, use SmartASS. Use SURF with

HDG 90

PIT 90

ROL 90

You'll probably find they report as shielded. They should not be but they are. It's all about where their transforms are.

tl;dr it's because of the way the part was made, not DREC.

Link to comment
Share on other sites

You know, when I was in charge of DRE, I always felt like it was a mod that should really be rolled into FAR and handed off to ferram. It seems like he has most of this stuff taken care of already (and raycasting always did seem like a horribly imprecise hack to me, even when I was using it).

Link to comment
Share on other sites

Ah--I had always assumed I needed to position objects I wanted to keep inboard of the rim of the heat shield ;)

Well you do, mostly. It's just that the means by which part positioning is determined is necessarily fairly simplistic.

Link to comment
Share on other sites

Hey, I started seeing an InvalidCastException just being thrown non-stop on my way out of the atmosphere, and checking the output_log I found this:


InvalidCastException: Cannot cast from source type to destination type.
at DeadlyReentry.ModuleAeroReentry.IsShielded (Vector3 direction) [0x00000] in <filename unknown>:0

at DeadlyReentry.ModuleAeroReentry.ReentryHeat (Vector3 velocity) [0x00000] in <filename unknown>:0

at DeadlyReentry.ModuleAeroReentry.FixedUpdate () [0x00000] in <filename unknown>:0

Any ideas?

Plugins installed:

Toolbar

JSI RPM

ALCOR

ForceIVA

Engineer

EnhancedNavBall

Ferram

KJR

MCE

Final Frontier

StretchyTank

RealChute

6S

Edited by theSpeare
Link to comment
Share on other sites

tl;dr it's because of the way the part was made, not DREC.

I'll hop back over to the RealChute thread then. The radials for RC were prob based off the default radials that had the bad transform in it. Hopefully the RC author can change that.

that battery doesn't overheat?

Not even close.

Link to comment
Share on other sites

I'll hop back over to the RealChute thread then. The radials for RC were prob based off the default radials that had the bad transform in it. Hopefully the RC author can change that.

I've been playing with this for most of the past evening (well actually it's morning here now)

I had the problem wrong, it's the exact opposite of what I said.

It looks like the transforms are too close to the bottom of the radial chute AND the radial chute is actually attached 0.0025 deeper into the surface it is mounted to. Together, that puts the transform origin inside the Mk1 pod. (btw I was totally unable to replicate this with the stock radial)

This is a workaround. Add the following code to the RC radial, preferably by using a ModuleManager config. I'm guessing at an appropriate value for adjustCollider. I know for a fact that -0.25 works, but it's too aggressive. It will cause the radial to show up as shielded even if nothing is there to shield it. Haven't tested the value below but it should probably work. If not, increase it a little. (I picked -0.015 as 0.0025 *2 to compensate for the part being sunk in and an additional 0.01 to compensate for the transform, where I'm not exactly sure how far off it is. (what this does btw is to move the origin of the raycast further back along the directional vector. That's why -0.25 is too aggressive; the raycast was actually hitting the radial so it was 'shielding' itself)


MODULE
{
name = ModuleAeroReentry
adjustCollider = -0.015
}

Link to comment
Share on other sites

Still having problems. But I noticed something - if I took off my parachutes the problem would no longer occur. I have RealChutes, and after looking at isShielded() method I'm beginning to believe it IS RealChutes. The (string) cast must be the problem?


public bool IsShielded(Vector3 direction)
{
if ((object)parachute != null) {
ModuleParachute p = parachute;
if(p.deploymentState == ModuleParachute.deploymentStates.DEPLOYED || p.deploymentState == ModuleParachute.deploymentStates.SEMIDEPLOYED)
return false;
}
if ((object)realChute != null)
{
string mainDeployState = (string)rCType.GetField("depState").GetValue(realChute);
string secDeployState = (string)rCType.GetField("secDepState").GetValue(realChute);
if ((mainDeployState + secDeployState).Contains("DEPLOYED")) // LOW, PRE, or just DEPLOYED
return false;
}
Ray ray = new Ray(part.transform.position + direction.normalized * adjustCollider, direction.normalized);
RaycastHit[] hits = Physics.RaycastAll (ray, 10);
foreach (RaycastHit hit in hits) {
if(hit.rigidbody != null && hit.collider != part.collider) {
return true;
}
}
return false;
}

EDIT: So yeah, it WAS the (string) cast that was making problems. I really don't know why it seems like I'm the only one suffering this problem.

I switched


(string)rCType.GetField("depState").GetValue(realChute);

For example, to:


rCType.GetField("depState").GetValue(realChute).ToString();

and it solved my problem. No more exceptions being thrown.

Let me know if I've opened another problem with this solution, please, NathanKell. :)

Edited by theSpeare
Link to comment
Share on other sites

Still having problems. But I noticed something - if I took off my parachutes the problem would no longer occur. I have RealChutes, and after looking at isShielded() method I'm beginning to believe it IS RealChutes. The (string) cast must be the problem?

-snip-

and it solved my problem. No more exceptions being thrown.

Let me know if I've opened another problem with this solution, please, NathanKell. :)

That was fixed in the thread long ago, look at the previous pages :)

Link to comment
Share on other sites

That was fixed in the thread long ago, look at the previous pages :)

Actually, the code looks like its from the fixed version. I'm guessing Nathan merged the fix but didnt update the download.

@theSpeare, did you try just compiling that code and trying it ou before making changes? ;)

Link to comment
Share on other sites

Never occurred to me to compile it actually, I just assumed it was all right to begin with. Come to think of it now, I don't see how .ToString() would be doing better than (string) in this situation :S

I'll just download your fix since it seems NathanKell hasn't uploaded your fix yet :)

Cheers to stupid_chris as well

Link to comment
Share on other sites

Changelog

v4.5 = \/

*Fixed compatibility with RealChutes (thanks Starwaster!)

*Attempted just-in-case fix for HotRockets, etc. You may no longer need the custom DRE.cfg you get with HotRockets.

(This means: in DRE.cfg I have duplicated all ModuleEngines nodes into ModuleEnginesFX nodes too, so if some stock engines get changed to MEFX, well, DRE will still patch them. Note this won't work if a new ModuleEnginesFX node is added *after* DRE's config is processed, but I don't want to make DRE :Final for obvious reasons.)

Link to comment
Share on other sites

I want to retexture heatshields! *goes back to texturing cave*

...when I have time

No just retextures, new models! Some form of stack-based heatshield that 'grows out' to cover everything except the engine below it. For entering an atmosphere behind an engine. Like an ablative turtleneck...

Link to comment
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.

×
×
  • Create New...