Jump to content

ThermalShark

Members
  • Posts

    72
  • Joined

  • Last visited

Everything posted by ThermalShark

  1. I agree with 1, but it does not need to be as realistic as FAR, anything not based completely on mass would do. And it would definitely not be as quick and easy as copying DRE and FAR. 3 and 4 are just useless visual effects, i agree it would be nice, but they should only do that kind of stuff when we get other much more important things, like aerodynamics, better carrer progression, science, ISRU and multiplayer. By the way, most people against multiplayer that i seen think it will be an MMO-like system with big user-created servers, anti-grief mods and that kind of stuff; so they say time-warp would not be possible because when one player wants to go to jool, the other would not be able to make a burn and would crash, etc. Obviously it will not be like that, instead it will be more like minecraft LAN, where you connect with 2 other friends and go do something together, while everyone can talk with each other by skype or real life.
  2. Yes . I made a GitHub account to post my mods, but when i saw all that stuff about git, i decided to put them on Dropbox, as i was just looking for a place for others to download it. Any progress on fixing the delay bug? Or just finding out why it happens? It makes no sense to me. Have you tested if it happens with other variables, like wheel radius? That would be nice, considering that the only thing i know to do is primitive shapes and retextures of stock models. But right now i just want to have fun playing KSP, as since 23.5 came out, i have not touched an asteroid yet, not even the ARM parts, so i decided to capture one that is on a escape trajectory on Kerbin and make a construction and refueling base on it .
  3. If i get an asteroid without this mod, then install it, the asteroid i captured will work correctly?
  4. The thing i hate the most about the current science is that EVA reports from space are biome-based. It is stupid to spend 20 minutes in Mun orbit, getting your kerbal out of the capsule each 10 in-game minutes, hoping you will be over a different biome each time. There are also too much biomes in all bodies (that have them). Squad did this because otherwise there would not be enough science, but the way to fix this is not to add more biomes, because that turns science into a boring grind: land, get science, jump to another biome, get science, jump... Instead, science should be time-based. With current science, stations, bases and even satellites are completely useless*. The key to making good science rockets is to make them get the most science in one go, but there shouldn't even exist a 'go'. *Fuel depots not included. I don't consider them "stations" or "bases", as the only thing they need to have is fuel tanks and docking ports. That is a lot different from the ISS, for example, which is pratically made of labs.
  5. 1.1 Released, changes are in the OP.
  6. Yes it is in newtons. The WheelCollider system is slip-based, which means the friction force depends on the amount of slip (in m/s), and does not follow coulomb's laws. I don't know if normal force is taken into account, but i am going to test it. Actually this was supposed to be just a very rough utility that outputs to the debug log, because i was needing it for Rover Engines, but then i decided to expand and release it, so that other developers don't need to make their own. Then i realized that along with a tweaking mod, this can be useful for tuning race cars in challenges like Formula K. I don't plan to release any significant updates to this now, it already does its job pretty well. And i was going to upload the source but i forgot, thanks for reminding. I will upload it now along with 1.1, which adds 2 new variables: suspension compression percentage, and friction force which you mentioned. I didn't think it was going to be useful before, so i didn't add it) Edit: This thread in Unity's forums says it is linearly proportional to the normal force, but i still want to test it. I have experience with Unity's OnGUI so i could do it without much problem, but this mod already works well, while Rover Engines is still in first release, so i decided it was best to focus on Rover Engines first. Also i have exams later, so if i worked on this mod now, Rover Engines would be delayed even more. Edit 2: Actually i am probably going to release 1.1 only tomorrow morning, as it is pretty late here.
  7. Hey, you definitely want to check out this thread in the Unity forums. It is common for people making cars in Unity to find that they are really unstable, flipping even at pretty low speeds. Traditionally, they use very unrealistic workarounds, like making the center of mass at (or below!) the floor of the vehicle, exaggerated aerodynamic downforce, and even applying torque directly to the car to assist in turning. That thread shows how to make a realistically stable car in Unity, but the information is very useful in KSP too. It says that the unstability is mainly because of 2 things: - The default friction values for WheelColliders in Unity is infinite in practice: The maximal force is 20 KN! That is half the thrust of an engine of this airplane! The stock black wheel has those same values, but the yellow ones don't. - No anti-roll bars. They are absolutely essential for a (non-arcade) vehicle, and that is why KSP vehicles flip so easily even at low speeds. I suggest you implement it before stability control, as it is easier and more useful. The Unity thread i linked shows how to code it, applying forces in the car to simulate the anti-roll bars (as WheelColliders don't support them). But you need to know how much the suspension is currently compressed, and there is not a variable in WheelCollider for you to simply read. The thread in the Unity forums shows how to know that, but there is no explanation, so it is unintuitive for someone without experience with Unity API. I will explain it here: First note that the wheel transform position is not affected by suspension, the virtual wheel does all the movement. Actually i think the transform does rotate for steering in KSP, but that is unrelated. GetGroundHit().point gives you the position of the point of contact with the ground. So, you can see the distance from it and the wheel transform, that way getting the current suspension travel. The problem is that GetGroundhit.point is in world coordinates, not local. Fortunately there is a function that you can call on a transform, that inputs a world coordinate point and outputs the same point but in local space of the transform. That function is InverseTransformPoint(Vector3 position). Call it on the transform of wheel, using GetGroundHit().point as input, and it will return the point of contact with the ground, in local space (lets call that "hitPoint"). Then, since the origin of the coordinate system (the 'point zero') will be right at the wheel transform, you just see the y of hitPoint to know the distance from the wheel transform. But this value will be negative, so you invert the signal: -hitPoint.y //The current suspension travel, in meters However, this is the distance from the wheel center in fully compressed state, to the wheel bottom in fully extended state. You need to subtract the wheel radius for it to be correct: -hitPoint.y - myWheel.radius //This is the current suspension travel distance, in meters Finally, to get a 0-1 value representing how much the suspension is compressed: (-hitPoint.y - myWheel.radius) / myWheel.suspensionDistance //0 is fully compressed and 1 is fully extended Remember that hitPoint = myWheel.transform.InverseTransformPoint(myWheel.GetGroundHit().point) . For the rest, check the thread. As an unrelated note, did you notice that the spring force of the stock wheels is impressively low (just a few newtons)? I think this means there is no suspension in practice, making the roll problem even worse. I am going to make some tests to see if that is actually true.
  8. I have direct access to the WheelColliders, so it should be as easy as "wc.radius = 0.5f;" for example. I didn't try, but the only way for it to not work is if KSP code blocks it. Here is how i got access to them.
  9. After a major update, i decided to repost this on the (non-WIP) add-ons category. After all, this plugin already shows all relevant information possible, and i am not going to update it regularly anymore. Here is a change log: - Added a lot more variables, there are 18 now, compared to 6 before. - Because of this, there are now 4 "modes": "basic", "forward friction", "sideways friction" and "suspension & misc". - Information now refreshes 10 times per second instead of 6,6. - Added units for all variables (units as in "0.15 meters") - Fixed visual bugs New thread
  10. Wheel Telemetry mod 1.1 This is a plugin that gives lots of useful real-time information about wheels in the right-click menu. There are 20 variables, divided in 4 categories ("modes"): Basic: RPM, forwards/backwards slip in m/s, and sideways slip in m/s. Forward friction and Sideways friction: Details about the friction curve of the wheel, for both axes. See the graph in this page of Unity documentation. The force is in newtons and the slip is in m/s. Suspension & misc.: Mass, radius, suspension travel distance, spring force, damper force, suspension compression, current contact force. Download 1.1(Dropbox, source included) To install, copy the contents of the "game data" folder into your GameData. This plugin requires ModuleManager to function, which is already included. If you already have ModuleManager, don't copy "ModuleManager.dll". Thanks to stupid_chris, who helped me when i was making this mod. 1.1 Changes: - Added 2 new variables: suspension compression percentage and contact force. License: This mod is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
  11. I get a invalidCastException. I am not 100% sure if it comes from the line i posted, but i need to sleep now, so i can only do more debugging tomorrow.
  12. Now what i do to make all of them hidden? (i have almost 20, and i don't want to do it manually) This will work? foreach (KSPField f in Fields) { f.guiActive = false; } I can't test right now so i will probably get answered faster than i can test it.
  13. I have lots of KSPFields showing on the right-click menu, and i want a button to toggle some of them on and off. How do i make a KSPField disappear and appear? Changing guiActive seems to be the answer, but how i do that?
  14. Wheel telemetry mod v1 NOTE: This thread is outdated, as this mod is no longer WIP. New thread HERE. This is a simple plugin that shows information about a rover wheel on the right-click menu. The info includes: RPM, forward slip in m/s, sideways slip in m/s, mass (of the WheelCollider, not the part), radius and maximal suspension distance. I made this mainly for plugin makers to tweak their wheels. The sliders are from TweakableWheels Download v1 (Dropbox) To install, copy the contents of the "Gamedata" folder into your actual GameData. This plugin requires ModuleManager to work, which is included in the download, and you only need to copy ModuleManager.dll if you don't already have it. v2 to do list : - Advanced friction and suspension information (i need to find a way to hide KSPFields at runtime, otherwise the right-click menu would be HUGE). - Fix display bugs License: This mod is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
  15. OrbitusII, you said in this thread that you didn't add tweakable suspensions because you could not find a way to access the variables of the WheelCollider. Yesterday i asked for help in the forums and EvilReeper showed me how to access the WheelCollider. I am not sure if that is what you were looking for, but i tested reading the variables and it worked. I didn't try editing, but i see no reason for it to not work. http://forum.kerbalspaceprogram.com/threads/81840-Accessing-the-WheelCollider-of-a-rover-wheel
  16. It worked very well, and i will release the mod in about 20 minutes... And probably we will get tweakable suspensions and friction too!
  17. Thanks! I can't test it now, because i only really have time tomorrow afternoon. If this works, i will release a wheel telemetry mod as soon as i can! Seems to be easy enough to do in 30 minutes...
  18. I don't want this to be considered a "realism" mod, i made this mainly to fix some problems with stock wheel racing that i pointed out in the OP. I am ready to sacrifice realism for simplicity of use, even though that doesn't mean i don't want stuff like transmission. Thanks, i updated the license now. 1) I didn't understood what you said. What Module Manager has to do with the jerrycan? Isn't it just a utility to edit other configs at load time? (not that it isn't awesome) 2) It has very nice models, but i need pistons to be separate so that the player has freedom over layout and placement. 3) Currently, each piston is a separate part, and there is a RoverEngine module on each of them, and they produce as much EnginePower as they can (while turned on). Here is my plan for fixing the current issue and paving the way for the "realistic engine simulation": A "Engine core" part, with various sizes, to which the player needs to attach all pistons. The engine simulation will be on the core, with the pistons serving only for determining the power of the engine. The core will be the part that creates (and stores) EnginePower, and also the part that consumes LiquidFuel. Later, RPM simulation will be done on the core too, and transmission on a separate part (a "gearbox"). This brings the (technical) benefits of having things centralized on one part, while still with the benefits of versatility for the user, as the number of pistons is customizable. It also does not allow the player to just put pistons all across the vehicle at impossible places. I am looking for an alternative to stock KSP ModuleWheels, because it would allow for a lot more freedom. Do you know anything i could use? (besides creating my own, which would take a lot of time and effort.) 4) Why is IntakeAir that bad?
  19. First, look at this image: I need to access the WheelCollider of a rover wheel. In the config file there is a field named "wheelColliderName", and the value is "wheelCollider" for all stock wheels, but i tried to use transform.Find() to search for the GameObject named "wheelCollider" and i found nothing (and the problem was not my plugin, it worked with "Hello World"). But i am not even sure in what GameObject (of the image) my script is attached, so i am probably doing something wrong. Does anyone know how to access the WheelCollider?
  20. Weird, i used dropbox to search through the files online and TweakableWheels was not there.
  21. Kyrian, check out the TweakableWheels mod, it allows you to tweak the steering, brakes and torque of a rover wheel. I find it really useful for making cars. No more flipping over just because you braked, or tapping the steering so your car doesn't flip.
×
×
  • Create New...