GithubHelp home page GithubHelp logo

Comments (16)

enceos avatar enceos commented on July 20, 2024

I noticed that only very small parts have that behavior.

from kis.

Kushulain avatar Kushulain commented on July 20, 2024

It happens with solar panels & batteries in my experience.

from kis.

futrtrubl avatar futrtrubl commented on July 20, 2024

The physicsless parts?

from kis.

AkashaRepo avatar AkashaRepo commented on July 20, 2024

Also happens with antennas and thermometers. I've seen other physics-less parts survive falls however. My experience with this phenomena was in Munar gravity.

from kis.

enceos avatar enceos commented on July 20, 2024

You can't do anything about it, it's a game issue which lies in the small-big collider interaction. Even without KIS installed if you somehow drop these parts on the ground they explode. Just avoid dropping small parts on the ground and if you have to - use the "b" "n" buttons to give some distance between the part and the ground. Maybe update to Unity 5 will fix this.

from kis.

mongoose11235813 avatar mongoose11235813 commented on July 20, 2024

Can we temporarily add bigger colliders to small parts when they become root parts?

from kis.

enceos avatar enceos commented on July 20, 2024

colliders are made when an item is modelled in a 3D program, they all have their own names given by the author, so there's probably no way to tweak them all in bulk.

from kis.

mongoose11235813 avatar mongoose11235813 commented on July 20, 2024

AFIK you can create colliders at run time:

// assuming you got a reference to part's GameObject and stored it in partGameObject
SphereCollider sc = partGameObject.AddComponent<SphereCollider>()
sc.radius = 0.5f;

So it is possible. I'm asking how good / bad this solution is.

from kis.

enceos avatar enceos commented on July 20, 2024

This will mean that if you detach a small part using "H" button, it will suddenly gain a big collider which will collide with the parent vessel sending the part flying away from the vessel or destroying it.

from kis.

mongoose11235813 avatar mongoose11235813 commented on July 20, 2024

This will mean that if you detach a small part using "H" button, it will suddenly gain a big collider which will collide with the parent vessel sending the part flying away from the vessel or destroying it.

  1. I heard about a layer based collision detection and it looks like it's technically possible to "add" a layer programmatically (just by picking a number bigger than any existing layer number, but lesser than 32). The problem is: it looks like there is no way to notify other mods about it. This might cause conflicts if other modes "add" their own layers too. Though the layer based will only help if planets and parts are in different layers.
  2. Another option would be to add a bigger trigger collider, that in OnTriggerEnter disables collisions with parts:
void OnTriggerEnter (Collider other) {
    if (IsPart(other.gameObject)) {  // I don't know how to check if an object is a part (or it's child), but I'm sure there should be a way
        Physics.IgnoreCollision(collider, other);
    }
}

from kis.

mongoose11235813 avatar mongoose11235813 commented on July 20, 2024

Another option would be to make small parts hover above ground by adding a force based on raycast distance.

from kis.

wolby2010 avatar wolby2010 commented on July 20, 2024

I have something similar with the connectors that are dropped detached when loading a quicksave if I then pick up those dropped parts then they explode

from kis.

bwucke avatar bwucke commented on July 20, 2024

Currently this is a problem - the large fixed radiators already qualify as "small parts that explode". Let's see if 1.2 makes it better.

from kis.

enceos avatar enceos commented on July 20, 2024

It's a KSP feature with small parts, so less parts are scattered around when you crash. Drop your small parts on other parts to avoid explosions.

from kis.

ihsoft avatar ihsoft commented on July 20, 2024

My tests shown that issue is in how ColliderEnhancer works. It destroys a part if it gets accelereted with too high force (Unity doesn't do it normally). When a part is dropped on the surface it may colide with it, and collider will push the part out of the body. Depending on the body gravity force and value of the collision error the part may get accelered beyond the safe limit. That's why parts usually explode on Minmus, less frequently on Mun, and almost never on Kerbin.

There is a way to avoid explosion: calculate drop point so what no collision with the surface happens. Though, finding the right point is a much more challenging task than one may guess. As for now there are no plans to fix the issue, sorry.

WORKAROUND. Drop on the surface a part with trivial geometry (e.g. a structural panel), then attach to it all the parts you were going to drop. Do not drop them since it will result in the same behavior. By attaching you disable colliders between the parts since they become a single vessel, parts from the different vessels will collide with all the bad consequences.

from kis.

ihsoft avatar ihsoft commented on July 20, 2024

For now it's infeasible to fix it for a generic case.

from kis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.