Jump to content

lo-fi

Members
  • Posts

    2,419
  • Joined

  • Last visited

Everything posted by lo-fi

  1. The tracks are not easy. Or they weren't. I know I was busy knocking out wheels and repulsors early on, but behind the scenes I was researching, dabbling, looking at the open sourced RBI stuff. It's there for the taking for anyone who wants to put the time in. The plugin stuff, again, is time, research and patience. And more research. The only natural talents I have are that I'm pretty bright, and I learn fast. The rest is hard won, same as it would be for anyone else I'll rake out all my research bookmarks - maybe do a live stream making a simple track. Would be nice to pass the knowledge on. Looking forward to that DustFX! Enjoy the ASET wheel, and marvel at the diffs between the original config and mine. Quietly proud of how simple my stuff is to configure
  2. Aset config is up! Go for it, my stuff is bang up to date as of last night. Yes, though slowly. Read a couple of pages back
  3. I'd advise using Unity 4.2.2. I don't believe there's any advantage in using 5 for constructing KSP parts, and some things, as you've found, will be confusingly different. I can certainly help you out with one of my model rigs, but most are tied up with some advanced stuff in the KF plugin that's totally undocumented and include some... unorthodox rigging techniques. Have you successfully managed to rig up a wheel in the stock fashion? Comfortable with how the hierarchy, constraint and lookat controllers work? I guarantee you'll have a "what the ...... Is this maverick doing?!" moment when you look at a KF wheel You'll also find warthog style suspension impossible without making handed parts, which means no surface attachment with symmetry. The grip settings are set when you rig the part in Unity - read up on wheel colliders to understand what's going on there. I don't mean to put you off - it's great seeing people pick a challenge - but you've certainly got one there!
  4. No drama, Zodius. Can't wait to see what people do with them! Believe me, Spooglecraft, I wish it was easy! I'll happily rake some stuff out for you over the weekend
  5. Also, I've just updated the plugin to better suit Zodius' mecanum wheels, as well as improved the mirror and lookat code which can now be effectively used on the ASET wheel. I still need to finish the new repulsors...
  6. Now that's a question... Took me weeks to get the basics down, and I had some experience beforehand! Basic skills you'll need: The ability to make a manifold, uniform section track mesh with enough polys in the right places to allow flexing. *Not that hard* Be able to texture said mesh so it can continuously loop a texture *Not terribly difficult* Some skill with "skinning". And by that, I mean being able to tie mesh to helper objects as you would a character to a bone rig. *This is HARD* Even more skill to bash the skinning around until it behaves somewhat like a track might *probably just as difficult as the above step* Very good knowledge of how to rig stuff up in Unity. *I'd bet they're probably the most complex parts in KSP* If you've done these kind of things before, I can make a YouTube while I'm rigging something up, but making a "This is how you do it from start to finish" would be a far longer tutorial than I think I can tackle. I can post some links to the research materials I found when I was figuring out how to go about it, but I work in 3D Studio, so they're probably not that relevant if you use Blender as may do. I reckon it's about 9-12 hours solid work for each track design, and that's without texturing.
  7. Don't tempt me;) Did I ever show you this piece of madness I created with IR?
  8. Thanks. Man, I'm rusty with this stuff... FFR: foreach (BaseField k in this.Fields) // foreach (KSPField k in this.Fields) will compile, but will give invalid cast error at runtime. { k.guiActive = false; k.guiActiveEditor = false; } foreach (BaseAction a in this.Actions) { a.active = false; } foreach (BaseEvent e in this.Events) { e.active = false; } disables tweakables - both button and slider - along with any text displays in the RCM.
  9. Hi I'm a little rusty after a few months away from any code, so I'm looking at Visual Studio and the KSP API like a 2 year old with a Rubiks cube. Trying to find a way to get a list of the items mentioned in the title to be able to disable their visibility in gui and flight. The disabling I'm fine with doing, but somewhere in the back of my mind there's a thing about BaseFields that I can't quite remember. Any pointers please? Many thanks Lo-Fi
  10. Alex, just out of idle curiosity, I created a version of your wheel configured with the KF plugin instead of JSI and FS. It works quite well; are you interested? The only caveat is it doesn't currently support the retract mode , but this is on my list. Update: I thought I ought to make a demo: http://youtu.be/D9kmvxZfxsw This is just a config bash; nothing is changed in the model. I've used the KF plugin to replace the JSI and FireSpitter modules. As you can see, it neatly removes the need for setting motor direction, steering and handedness up, all of which is done automatically. Hope you approve Oh, and I forgot to implement the tread change for the video.
  11. Haha! Unpowered wheels with rocket engines sounds very Kerbal, no? Cheers Lazarus. I never tend to be able to realise suggestions or requests as they are, but the ideas they generate always lead to something. Thank you, I do have one or two ideas now
  12. There used to be a mod that allowed movement of the rig in realtime, though I can't for the life of me remember what it's called. I suppose you could recreate the kerbal rig, animate, and somehow copy the movements into a script to be played through that plugin. Best I can come up with I'm afraid!
  13. They're never going to work that way whatever you do; that's why we have wheel colliders after all. Changing physics materials in ksp appears to be a bit of a challeng anyway, so you're pretty much on to a non starter. Sorry!
  14. Do you not get batteries fairly early? The tech/cost/weight all need looking at on the current parts, but I'm afraid ive got no new wheels in the pipeline at the moment. Fresh out of ideas!
  15. The dual wheel attachment points will be JSIpartUtilities not working correctly. The left and right handed suspension variants are both modelled into the part, and JSI simply hides one or the other depending on how you set the wheel up. I bet it's broken in 1.0, and may not have been fixed yet in Mihara's absence. The "Audio Described" sounds are just comical! It's like 1980's Batman. With Kerbals... Glad you're dabbling again, Alex
  16. Procedural textures are possible, of course. Just depends how much time and work you want to put into coding it. You'd have to dive into the Unity API dealing with the Texture2D stuff - I'm afraid I can't help you there. Spawning mesh is not hard. xEvilReeperx posted this little partmodule as a proof of concept a while back, and I'm sure won't mind if I share it again: class GoldenShower : MonoBehaviour { private Rect _windowRect = new Rect(400, 400, 128f, 1f); private GameObject _coinPrefab; private const int ShowerCoinCount = 800; void Start() { _coinPrefab = GameObject.CreatePrimitive(PrimitiveType.Sphere); // note: comes with sphere collider _coinPrefab.transform.localScale = new Vector3(0.04f, 0.01f, 0.04f); // KSP/Diffuse apparently needs a texture, can't just set a color like regular Diffuse shader var goldTexture = new Texture2D(1, 1); goldTexture.SetPixels32(new Color32[] { XKCDColors.GoldenYellow }); goldTexture.Apply(); _coinPrefab.renderer.material = new Material(Shader.Find("KSP/Diffuse")) { mainTexture = goldTexture }; var rb = _coinPrefab.AddComponent<Rigidbody>(); rb.mass = 0.01f; rb.angularDrag = 5f; _coinPrefab.collider.material = new PhysicMaterial { frictionCombine = PhysicMaterialCombine.Maximum, bounceCombine = PhysicMaterialCombine.Minimum, bounciness = 0.45f, dynamicFriction = 0.05f, staticFriction = 0.25f }; _coinPrefab.SetActive(false); } void OnGUI() { _windowRect = KSPUtil.ClampRectToScreen(GUILayout.Window(123, _windowRect, DrawWindow, "Menu")); } private void DrawWindow(int winid) { GUILayout.BeginVertical(); //GUILayout.Label(string.Format("Gravity: {0}")); GUILayout.Label(string.Format("Accel: {0}", Physics.gravity.magnitude)); if (GUILayout.Button("Increase monetary wealth?")) StartCoroutine(CoinShower()); GUILayout.EndVertical(); GUI.DragWindow(); } private float Random360() { return UnityEngine.Random.Range(0f, 360f); } private System.Collections.IEnumerator CoinShower() { print("Let there be wealth!"); var vessel = FlightGlobals.ActiveVessel; float start = Time.realtimeSinceStartup; for (int i = 0; i < ShowerCoinCount; ++i) { var spawn = vessel.GetWorldPos3D() + FlightGlobals.upAxis * 20f; var coin = (GameObject)Instantiate(_coinPrefab, spawn + UnityEngine.Random.insideUnitSphere * 2f, Quaternion.Euler(new Vector3(Random360(), Random360(), Random360()))); coin.rigidbody.velocity = vessel.rigidbody.velocity; // else if in orbit, coins will miss // impart a bit of force to get it spinning coin.rigidbody.AddTorque(new Vector3(Random360() * 0.1f, Random360() * 0.1f, Random360() * 0.1f), ForceMode.Impulse); coin.SetActive(true); // we might need to spawn more than [fps] coins per second if we're to reach ShowerCoinCount in // two seconds // so delay here if we're ahead of schedule, otherwise continue dumping coins while ((Time.realtimeSinceStartup - start) / 2f <= (float)i / ShowerCoinCount) yield return 0; } print("Wealth complete"); } } To spawn mesh from a .mu file, you can use: GameDatabase.Instance.GetModel(KerbalFoundries/Blade/Rock); //ommit the .mu extenstion from the end of the file name You'll have to add colliders, rigidbody etc when you spawn the GO too, and it will NOT be persistent as it is. If you want to see how to spawn parts (which will be persistent without extra work), I'd suggest looking up the source to Extra-Planetary Launchpads. HTH.
  17. The part has to have a unique name, or ksp will get confused over which version it's supposed to be loading. To change the steering, alter the steeringCurve values. For each key, the first value is the speed, the second is how many degrees it will steer at that speed. Third and forth values are entry and exit vectors for that key, but that gets a bit technical. Google KSP floatcurves for a detailed explanation.
  18. This does not surprise me. Though I managed to fix them without messing with the model
  19. Isn't that just a stock model? You can find alternate configs for he stock wheels using the KF plugin here It's doesn't have the Tweakscale config lines added, but this wouldn't take much.
  20. Sweet, will look forward to that xEvilReeperx is an absolute genius!
  21. Ive no fundamental objection at all, and the license allows that. But it is still in beta, and things are evolving, so you might be best served just providing alternative configs or MM patches, at least for the moment. However! As you've maybe seen, we're in the middle of tweaking the dynamics, so you'll probably find things a good deal better after that anyway. If at any point you do decide to redistribute, just treat it like FireSpitter please.
  22. I've sort of got my plate full with other bits, and nothing like that in the pipeline, but wouldn't rule it out at some point. As I've said before, though, if someone wants to model and texture something, I'm happy to skin and rig it up.
  23. Definitely! With so many configurable options, getting it all nicely polished will take some doing. Thanks for your help! Thinking about braking: IRL, even very big heavy vehicles stop relatively quickly. Brake torque is constant, and huge, don't forget, so we're probably not far off.
  24. Very cool, glad you agree I'm on the right lines. It will require careful tweaking of config values to get it workable. Testing with the medium wheel it was quite easy to load the wheel into total immobility. I may be able to add some code to prevent this, as even heavily over loaded they ought to do something.. The status display in the menu could do with a load indicator too, which would be nice. Not sure what you mean about the inertia? The physics engine is responsible for that, and it does take more to stop a heavy vessel. Tech, weight and cost would be fantastic thanks. Anything else you can think of? We can run through torque, brakes and power consumption when we've nailed down the rolling resistance finally. Over to Gaalidas on the FX... You get that dust code into the plugin? Might as well go in there! Also really need better/more sounds. Like what you're doing with the log stuff, by the way.
  25. Yeah, there are a few I've been messing with, though all are still experimental designs: Also, did you see this that I've been messing with: And I've been slowly remodeling some variants of this, which was originally SpannerMonkey's awesome work:
×
×
  • Create New...