Jump to content

MrHappyFace

Members
  • Posts

    485
  • Joined

  • Last visited

Everything posted by MrHappyFace

  1. If you need to pause in the flight scene, just do this: FlightDriver.SetPause(true or false); However, It seems you want to make sure that an option is selected from a GUI before allowing the player to continue, which can be accomplished without pausing. Simply use an InputLock, like so: InputLockManager.SetControlLock(ControlTypes.All, "YourUniqueLockName"); Then, when an option is selected, and you want to restore user control, just remove the input lock, like so: InputLockManager.RemoveControlLock("YourUniqueLockName"); Also, the ControlTypes enum works like a Bitmask, so choosing multiple ControlTypes is possible using the | operator. I'm assuming that the option-choosing GUI will pop up when the space center loads, correct me if I'm wrong.
  2. The facial bones are weird. You should never rotate them, just translate them up and down. Ive gotten them to work before, so they should work now, unless anything changed in 1.0.4/1.0.3. This is on the list of future features. I'm just a little bit unsure of how to implement it.
  3. It will hide screen messages when any key bound to Hide UI is pressed.
  4. Exporting the kerbal model and textures might be considered stealing, and is definitely against the EULA. It might be possible to create a skeleton in blender that mimics the kerbal skeleton exactly, possibly using a plugin, but I'm not going to do that here, seeing as it would be so much more complicated. Plus, the in-game interface is not that bad once you get used to it.
  5. ScreenMessageHider ScreenMessageHider is a very simple mod that hides ScreenMessages that don't normally get hidden when pressing F2 Like these: And these: It's so simple (<50 lines of code) that I'm surprised it's not stock. Download: http://spacedock.info/mod/169/ScreenMessageHider Or: https://github.com/HappyFaceIndustries/ScreenMessageHider/releases/latest Or on CKAN Source: https://github.com/HappyFaceIndustries/ScreenMessageHider
  6. Could you send me a copy of your ouput_log.txt and animation_hierarchy.dat? The output_log.txt file is found in KSPRootFolder/KSP_Data and the animation_hierarchy.dat file is in GameData/KerbalAnimationSuite/Config Edit: wait, I found the issue, it's a typo in the code. Try this build: https://github.com/HappyFaceIndustries/KerbalAnimationSuite/releases/tag/1.0.1.2
  7. Do you mean ScreenMessageHider? I posted it on Reddit a while ago, but never got around to making a forum thread. You can get it here: https://github.com/HappyFaceIndustries/ScreenMessageHider/releases
  8. New Update! version 2.1 Changelog: Added persistent time warp selections. Added the GUI to the space center and tracking station Minor bugfixes 1.0.4 support You can now get it on CKAN for 1.0.4 too
  9. add DontDestroyOnLoad(this) to the Start method, like so: private void Start() { DontDestroyOnLoad(this); } It will prevent the game from removing your ViewManager every time a new scene loads. Also, next time you have a programming related question like this, post it in the Plugin Development subforum
  10. A while ago, I attempted to create a tool to animate kerbals, for things like cinematics and other plugins, but I ran into a completely breaking issue, that only occurred on some computers, and I couldn't figure out how to fix it. Thankfully, my computer began encountering this error thanks to the Windows 10 update, and I was (hopefully) able to fix it. So here it is, Kerbal Animation Suite v1.1.3.2. It runs with KSP 1.0.4, and allows the creation of animations for kerbals on EVA. These gifs demonstrates this mod: http://gfycat.com/DifficultDeterminedGalapagospenguin http://gfycat.com/HilariousNarrowFlies http://gfycat.com/PettyMintyIrishdraughthorse I posted these gifs on reddit a while back, if you recongnized them. The animation files for them are all included in the download. This mod has 2 components: the animator, and the API. Animator: The animator is the main tool, which allows you to create, edit, play, and export .anim files, which can be used by your own plugins. Getting started with the animator Install this mod Launch a ship, or go to one you've already landed somewhere. Go on EVA. The animation tool will only work if the kerbal is standing on dry ground. Click the kerbal face looking button in the App Launcher You will see 4 windows pop up. The Bone Hierarchy window, which is where you select the bones to manipulate. The Manipulation window, which is where you manipulate the selected bone. The Animation window. This is the most important window, it's where you Load animation files, create them, and manage the timeline of the loaded animation. A little window in the top right corner which allows you to hide any of the other 3 windows You will also see, if you right click on the kerbal while you're NOT in the animation screen, there are some new right click actions. You can play any animation anywhere in the GameData folder, and you can reload the animations (Reload Animations) if you want to test animations you've just made. You can also use the 1-9 keys to play animations without the rightclick menu. There are 4 animations included with the download in the Presets folder. Source Code: https://github.com/HappyFaceIndustries/KerbalAnimationSuite Download: https://github.com/HappyFaceIndustries/KerbalAnimationSuite/releases/latest Latest Version: v1.2.0.0 License: GPL v3.0 [full text]. Code in the API subdirectory is not restricted by this licence, and is in the public domain. API: The API is a file that mod developers can include in their plugins that handles the loading and playing of animation files. Because it is not a seperate dll, there's no need to include the animator with your download when releasing a mod that uses these animations. You do, however, need to include a copy of animation_hierarchy.dat with your mod, which can be found in GameData/KerbalAnimationSuite/Config You can see the API here: https://github.com/HappyFaceIndustries/KerbalAnimationSuite/tree/master/KerbalAnimationSuite/API The API has 2 classes. KerbalEVAUtility class public static void AddPartModule(string moduleName) public static List<KFSMState> GetEVAStates(KerbalEVA eva) public static List<KFSMState> GetEVAStates(KerbalEVA eva, List<KFSMState> states) public static void RunEvent(this KerbalEVA eva, string name) public static void RunEvent(this KerbalFSM fsm, string name) The first method, AddPartModule, is the most important. You can use it to add your own part module to the kerbalEVA and kerbalEVAfemale parts, which aren't supported by ModuleManager, so using a plugin is the only way. This is the reccommended way to handle animations, but if you're feeling adventurous (or stupid) then you can use some other method. The other methods are methods to manipulate the Kerbal's Finite State Machine (KerbalFSM). The KerbalFSM is the engine kerbal's use to handle animations, like walking, swimming, etc. I highly reccomend you research the concept of Finite State Machines if you haven't already, and want to use this. KerbalAnimationClip class public KerbalAnimationClip(string url, bool fullPath = false) public void Initialize(Transform transform, Animation animation) public string Name { get; } public int Layer { get; } public float Duration { get; } public UnityEngine.AnimationClip Clip { get; } Basically, you use the constructor to create the clip object, then load the animation by putting in a path relative to the GameData folder (example: Squad/Animations/bleh.anim), a ConfigNode object, or a full path if you so choose. You can optionally set more values in the Clip property, such as the frame rate, wrap mode, etc. All of the properties are set in the .anim when you create the animation using the animator, but you can edit those values in the Unity animation system later, after you call Initialize. Then, you use Initialize to add the animation to the kerbal's transform/animation components. If you're use a part module added to the kerbalEVA and kerbalEVAfemale parts using KerbalEVAUtility.AddPartModule, then just use transform and GetComponent<Animation>() as arguments. The rest of the code will be done with Unity's AnimationClip, Animation and AnimationState classes. You can see the documentation for those here: http://docs.unity3d.com/ScriptReference/Animation.html http://docs.unity3d.com/ScriptReference/AnimationClip.html http://docs.unity3d.com/ScriptReference/AnimationState.html So far, 1 mod has been made that uses the API: Special thanks to @Xacktar @Fred Cop @Gaiiden @SpriteCoke @SmashingKirby148 @nightingale
  11. As promised, here's my list of states. It also contains information about the events each state has. each event can have a state it will transition to when it's called, which is denoted by the => after the name of the state (N/A if no transition), then a colon and the updateMode of the event. For example, you could run the "Stumble" event to go to the Ragdoll state. [LOG 18:48:23.213] State: Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.214] ----- Event: Move (Arcade): => Walk (Arcade) : FIXEDUPDATE [LOG 18:48:23.214] ----- Event: Move (FPS): => Walk (FPS) : FIXEDUPDATE [LOG 18:48:23.214] ----- Event: Move Low G (Arcade): => Low G Bound (Grounded - Arcade) : FIXEDUPDATE [LOG 18:48:23.215] ----- Event: Move Low G (FPS): => Low G Bound (Grounded - FPS) : FIXEDUPDATE [LOG 18:48:23.215] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.216] ----- Event: Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.216] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.217] ----- Event: Pack Toggle: => N/A : UPDATE [LOG 18:48:23.217] ----- Event: Feet Wet: => N/A : UPDATE [LOG 18:48:23.217] ----- Event: Ladder Grab Start: => Ladder (Acquire) : UPDATE [LOG 18:48:23.218] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.218] ----- Event: Boarding Part: => N/A : UPDATE [LOG 18:48:23.219] ----- Event: Flag Plant Started: => Flag-plant Terrain Acquire : MANUAL_TRIGGER [LOG 18:48:23.219] ----- Event: Seat Board: => Seated (Command) : MANUAL_TRIGGER [LOG 18:48:23.220] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.220] State: Walk (Arcade) : FIXEDUPDATE [LOG 18:48:23.221] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.221] ----- Event: Move (FPS): => Walk (FPS) : FIXEDUPDATE [LOG 18:48:23.221] ----- Event: Start Run: => N/A : FIXEDUPDATE [LOG 18:48:23.222] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.222] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.223] ----- Event: Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.223] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.224] ----- Event: Feet Wet: => N/A : UPDATE [LOG 18:48:23.224] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.224] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.225] State: Walk (FPS) : FIXEDUPDATE [LOG 18:48:23.225] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.226] ----- Event: Move (Arcade): => Walk (Arcade) : FIXEDUPDATE [LOG 18:48:23.226] ----- Event: Start Run: => N/A : FIXEDUPDATE [LOG 18:48:23.227] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.227] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.227] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.228] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.228] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.229] State: Turn to Heading : FIXEDUPDATE [LOG 18:48:23.229] ----- Event: Hdg Acquire Complete: => Idle (Grounded) : UPDATE [LOG 18:48:23.230] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.230] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.231] State: Run (Arcade) : FIXEDUPDATE [LOG 18:48:23.231] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.231] ----- Event: Move (FPS): => Walk (FPS) : FIXEDUPDATE [LOG 18:48:23.232] ----- Event: End Run: => N/A : FIXEDUPDATE [LOG 18:48:23.232] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.233] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.233] ----- Event: Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.233] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.234] ----- Event: Feet Wet: => N/A : UPDATE [LOG 18:48:23.234] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.235] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.235] State: Run (FPS) : FIXEDUPDATE [LOG 18:48:23.235] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.236] ----- Event: End Run: => N/A : FIXEDUPDATE [LOG 18:48:23.236] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.237] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.237] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.238] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.238] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.238] State: Low G Bound (Grounded - Arcade) : FIXEDUPDATE [LOG 18:48:23.239] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.239] ----- Event: Move Low G (FPS): => Low G Bound (Grounded - FPS) : FIXEDUPDATE [LOG 18:48:23.240] ----- Event: Low G bound: => Low G Bound (floating) : UPDATE [LOG 18:48:23.240] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.241] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.241] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.242] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.242] State: Low G Bound (Grounded - FPS) : FIXEDUPDATE [LOG 18:48:23.242] ----- Event: Hdg Acquire Start: => Turn to Heading : UPDATE [LOG 18:48:23.243] ----- Event: Move Low G (Arcade): => Low G Bound (Grounded - Arcade) : FIXEDUPDATE [LOG 18:48:23.243] ----- Event: Low G bound: => Low G Bound (floating) : UPDATE [LOG 18:48:23.244] ----- Event: Stop: => Idle (Grounded) : FIXEDUPDATE [LOG 18:48:23.244] ----- Event: Jump Start: => Jumping : UPDATE [LOG 18:48:23.245] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.245] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.245] State: Low G Bound (floating) : FIXEDUPDATE [LOG 18:48:23.246] ----- Event: Low G bound land: => N/A : UPDATE [LOG 18:48:23.246] ----- Event: Low G Bound Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.247] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.247] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.248] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.248] State: Ragdoll : FIXEDUPDATE [LOG 18:48:23.248] ----- Event: Recover Start: => Recover : FIXEDUPDATE [LOG 18:48:23.249] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.249] State: Recover : FIXEDUPDATE [LOG 18:48:23.250] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.250] ----- Event: Recover End: => N/A : UPDATE [LOG 18:48:23.251] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.251] State: Jumping : FIXEDUPDATE [LOG 18:48:23.251] ----- Event: Jump Launch: => Idle (Floating) : UPDATE [LOG 18:48:23.252] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.252] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.253] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.253] State: Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.253] ----- Event: Landing: => N/A : UPDATE [LOG 18:48:23.254] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.254] ----- Event: Pack Toggle: => N/A : UPDATE [LOG 18:48:23.255] ----- Event: Feet Wet: => N/A : UPDATE [LOG 18:48:23.255] ----- Event: Ladder Grab Start: => Ladder (Acquire) : UPDATE [LOG 18:48:23.255] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.256] ----- Event: Boarding Part: => N/A : UPDATE [LOG 18:48:23.256] ----- Event: Seat Board: => Seated (Command) : MANUAL_TRIGGER [LOG 18:48:23.257] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.257] State: Landing : FIXEDUPDATE [LOG 18:48:23.257] ----- Event: Landed: => Idle (Grounded) : UPDATE [LOG 18:48:23.258] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.258] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.259] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.259] State: Swim (Idle) : FIXEDUPDATE [LOG 18:48:23.260] ----- Event: Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.260] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.260] ----- Event: Feet Dry: => N/A : UPDATE [LOG 18:48:23.261] ----- Event: Swim Forward: => Swim (fwd) : UPDATE [LOG 18:48:23.261] ----- Event: Ladder Grab Start: => Ladder (Acquire) : UPDATE [LOG 18:48:23.262] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.262] ----- Event: Boarding Part: => N/A : UPDATE [LOG 18:48:23.263] ----- Event: Seat Board: => Seated (Command) : MANUAL_TRIGGER [LOG 18:48:23.263] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.264] State: Swim (fwd) : FIXEDUPDATE [LOG 18:48:23.264] ----- Event: Fall: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.264] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.265] ----- Event: Feet Dry: => N/A : UPDATE [LOG 18:48:23.265] ----- Event: Swim Stop: => Swim (Idle) : UPDATE [LOG 18:48:23.266] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.266] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.266] State: Ladder (Acquire) : FIXEDUPDATE [LOG 18:48:23.267] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.267] ----- Event: Ladder Grab Complete: => Ladder (Idle) : UPDATE [LOG 18:48:23.268] ----- Event: Ladder End: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.268] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.269] State: Ladder (Idle) : UPDATE [LOG 18:48:23.269] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.269] ----- Event: Ladder Climb: => Ladder (Climb) : UPDATE [LOG 18:48:23.270] ----- Event: Ladder Descend: => Ladder (Descend) : UPDATE [LOG 18:48:23.270] ----- Event: Ladder Let Go: => Idle (Floating) : UPDATE [LOG 18:48:23.271] ----- Event: Ladder End: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.271] ----- Event: Ladder Lean (Start): => Ladder (Lean) : UPDATE [LOG 18:48:23.272] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.272] ----- Event: Boarding Part: => N/A : UPDATE [LOG 18:48:23.272] ----- Event: Seat Board: => Seated (Command) : MANUAL_TRIGGER [LOG 18:48:23.273] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.273] State: Ladder (Lean) : FIXEDUPDATE [LOG 18:48:23.274] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.274] ----- Event: Ladder End: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.275] ----- Event: Ladder Lean (End): => Ladder (Idle) : UPDATE [LOG 18:48:23.275] ----- Event: Ladder Push Off Start: => Ladder (Pushoff) : UPDATE [LOG 18:48:23.275] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.276] State: Ladder (Climb) : FIXEDUPDATE [LOG 18:48:23.276] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.277] ----- Event: Ladder Descend: => Ladder (Descend) : UPDATE [LOG 18:48:23.277] ----- Event: Ladder Stop: => Ladder (Idle) : UPDATE [LOG 18:48:23.277] ----- Event: Ladder Let Go: => Idle (Floating) : UPDATE [LOG 18:48:23.278] ----- Event: Ladder End: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.278] ----- Event: Clamber Grab Start: => Clamber (P1) : UPDATE [LOG 18:48:23.279] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.279] State: Ladder (Descend) : FIXEDUPDATE [LOG 18:48:23.280] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.280] ----- Event: Ladder Climb: => Ladder (Climb) : UPDATE [LOG 18:48:23.281] ----- Event: Ladder Stop: => Ladder (Idle) : UPDATE [LOG 18:48:23.281] ----- Event: Ladder Let Go: => Idle (Floating) : UPDATE [LOG 18:48:23.281] ----- Event: Ladder End: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.282] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.282] State: Ladder (Pushoff) : FIXEDUPDATE [LOG 18:48:23.283] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.283] ----- Event: Ladder Push Off Complete: => Idle (Floating) : FIXEDUPDATE [LOG 18:48:23.284] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.284] State: Clamber (P1) : FIXEDUPDATE [LOG 18:48:23.284] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.285] ----- Event: Clamber Reach P1: => Clamber (P2) : UPDATE [LOG 18:48:23.285] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.286] State: Clamber (P2) : FIXEDUPDATE [LOG 18:48:23.286] ----- Event: Clamber Reach P2: => Clamber (P3) : UPDATE [LOG 18:48:23.287] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.287] State: Clamber (P3) : FIXEDUPDATE [LOG 18:48:23.287] ----- Event: Clamber Reach P3: => Idle (Grounded) : UPDATE [LOG 18:48:23.288] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.288] State: Flag-plant Terrain Acquire : FIXEDUPDATE [LOG 18:48:23.289] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.289] ----- Event: Flag Plant Heading Acquired: => Planting Flag : FIXEDUPDATE [LOG 18:48:23.289] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.290] State: Planting Flag : FIXEDUPDATE [LOG 18:48:23.290] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.291] ----- Event: Flag Plant Complete: => Idle (Grounded) : UPDATE [LOG 18:48:23.291] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.292] State: Seated (Command) : FIXEDUPDATE [LOG 18:48:23.292] ----- Event: Stumble: => Ragdoll : MANUAL_TRIGGER [LOG 18:48:23.293] ----- Event: Seat Deboard: => Idle (Floating) : MANUAL_TRIGGER [LOG 18:48:23.293] ----- Event: Seat Eject: => Ragdoll : LATEUPDATE [LOG 18:48:23.293] ----- Event: Grapple: => Grappled : MANUAL_TRIGGER [LOG 18:48:23.294] State: Grappled : FIXEDUPDATE [LOG 18:48:23.294] ----- Event: Grapple Release: => Ragdoll : LATEUPDATE I used this code to get it: https://github.com/HappyFaceIndustries/KerbalAnimationSuite/blob/master/KerbalAnimationSuite/KerbalAnimationSuite.cs#L578 Edit: i fixed the link I also released the plugin here: http://forum.kerbalspaceprogram.com/threads/130663
  12. I've been preoccupied with Kopernicus stuff, but you can download it from the github downloads page if you want. It seems to work fine on my computer, but crashed on other computers.
  13. II suggest you look at the KerbalEVA.fsm field. You can force pretty much any KerbalEVA state you want there, including floating, rag doll mode, etc. I'll post a list of states later once I have access to my computer. I do have some code that manipulates the fsm here: https://github.com/HappyFaceIndustries/KerbalAnimationSuite/blob/master/Source/KAS_AnimationClip.cs Look at the KerbalEVA_Utility class.
  14. Oh, its that simple, thanks. I actually needed to reference Kopernicus.
  15. Is your project using .NET v3.5? Unity, and by extension, KSP, uses .NET v3.5, and if your plugin doesn't also use 3.5, then the assembly loader will screw up.
  16. I'm trying to write an extension to another mod, but the only way I can reference the assembly and have it load is to place my dll in the same folder as the assembly I'm referencing. Is there any way I can reference it without it being in the same folder? When I tried to put my plugin in a different folder, it threw an exception and didn't function properly.
  17. First of all, Yes, windows 10. It's been in the news for ages now, and the official release was yesterday night. It's a free upgrade for all windows 7, 8, and 8.1 computers. They skipped windows 9 for some reason though Secondly, I think Valklipper only needs one moon. Plus, it's a trojan so any moons would either be temporarily captured trojan asteroids, or large, clumpy, conglomerations of captured asteroids. I'm going with the second one.
  18. 1. Yes, it is possible, using the latest version of Koperncicus, and I vote that someone other than me do it, seeing as I have not 3d modeling talent whatsoever. 2. Sure, don't see why not. 3. 1 moon, which I'm currently making 4. I don't think we'd want a kraken, but maybe something else, like one of those crashed ships from spore 5. never 6. going slowly, seeing how I just spent the last day upgrading to windows 10
  19. VertexHeightOblate { height = 20000 pow = 5 } Try playing around with the values. Pow determines the shape of the bulge and height determines the size.
  20. There is, but I have no clue how to use it.
  21. It's not even a real config, just read it, because its the tutorial.
  22. The BUILTIN/ stuff is really only good for materials, like ground materials and atmosphere materials. hahaha... I'm terrible with textures. The only programs you need are a color wheel and KPS with Kopernicus intalled. In KSP, textures are completely optional. The terrain system colors each individual vertex in the terrain mesh, and it can use a texture if you tell it to, but it can also color those vertices based on distance from the planet (height) or random noise. I embedded the tutorial into the config, because why not. I'm assuming you know how PQS Mods work, specifically the order part of it. Just be sure to have all of the color stuff have a higher order than the height map stuff, and you should be fine. Step 1: make the config [COLOR=#696969]// Coloring planets without textures[/COLOR] PQS { Mods { [COLOR=#696969]//height based color[/COLOR] HeightColorMap { [COLOR=#696969]///////// // blend determines how much of the color from this module is painted // onto the planet, 0 makes the color not show up at all, and 1 makes it completely override // any other coloring mod with an order less than this one's // I find 1 to be fine, but you can use 0.5 if you want half of the planet's // color to come from noise or a texture, and half from this // // It does not affect anything at all (as long as it's above zero) if there are no // other coloring mods with a lesser order value /////////[/COLOR] blend = 1 [COLOR=#696969]//you do the interesting stuff here[/COLOR] LandClasses { Class { [COLOR=#696969]//the name, just make sure it's unique[/COLOR] name = Beach [COLOR=#696969]//can be RGBA or hex. Keep in mind that hex does not work with transparency[/COLOR] color = #ff0000 [COLOR=#696969]//the lowest altitude that this color will be drawn. //0 means the lowest point on the terrain, even if it's below sea level //1 means the highest point on the terrain.[/COLOR] altitudeStart = 0 [COLOR=#696969]//the highest altitude that this color will be drawn. //works the same way as altitudeStart //be VERY VERY careful that this is greater than altitudeStart[/COLOR] altitudeEnd = 0.5 [COLOR=#696969]//this will smooth the colors between this class and the next highest one (in terms of altitudeStart, not the order in the config) //be VERY VERY careful that you don't make the highest land class have this set to true, or the game will horrifically crash[/COLOR] lerpToNext = false } } } [COLOR=#696969]//solid colors, it's pretty simple[/COLOR] VertexColorSolid { [COLOR=#696969]//you already read what blend does up there ^[/COLOR] blend = 1 [COLOR=#696969]//whatever the hell you want. It'll color the whole planet that color[/COLOR] color = ??? } [COLOR=#696969]//noise based color[/COLOR] VertexSimplexNoiseColor { [COLOR=#696969]//do I really have to keep explaining this to you?[/COLOR] blend = 1 [COLOR=#696969]//before we go further, we need a crash course on simplex noise, which is widely used by KSP's terrain // //read this before continuing. It's not long, just ignore the code: [URL]http://libnoise.sourceforge.net/tutorials/tutorial4.html#octaves[/URL] //the tutorial is about perlin noise, but simplex noise is basically an upgraded version of perlin, so it's still relevant[/COLOR] [COLOR=#696969]//the color that will be used when the noise outputs -1[/COLOR] colorStart = ??? [COLOR=#696969]//the color that will be used when the noise outputs 1[/COLOR] colorEnd = ??? [COLOR=#696969]//the color of any given point on the terrain is sampled from a gradient generated from these 2 colors. //Phoop uses noise based color, so look at that for more info[/COLOR] [COLOR=#696969]//random number between -2,147,483,647 and 2,147,483,647, no decimals.[/COLOR] seed = ??? [COLOR=#696969]//experiment with it to get good values. Must be above 0[/COLOR] frequency = ??? [COLOR=#696969]//number greater than or equal to 1 and less than or equal to 9. no decimals. //more octaves means more detail, but more CPU usage. For color, you shouldn't go higher than 3 or 4[/COLOR] octaves = ??? [COLOR=#696969]//persistence. I've found 1.5 to be just perfect for most things[/COLOR] persistence = ??? } } } Step 2: export the scaled texture and apply it to the ScaledVersion thingy, you know how to do that Step 3: Enjoy
  23. I haven't looked at the new changes yet, but I do have some things to say about old stuff: Yof and Sawob need a moon, which I'd like to make. It'd orbit equatorially, yet far away I think Yof should have a less poo-colored/more-yellowy texture. I recommend the Jool texture I made for New Kerbol (link here) Mysterio's rings should be closer to the planet, and smaller. I also don't think that Tyrok should be interior to the rings, like it is now (or was, when I last looked) In general, we should make a large effort to make the planets seem less spaceenginey by using procedural coloring, height based, or otherwise. I also noticed that a lot of the planets are based off of the Kopernicus FullCustomPlanet example config, which is bad because that config is packed with unnecessary PQSMods, Material properties, etc. Also, neat configs are better than messy ones Flat oceans: PQS { Mods { FlattenOcean { oceanRadius = -2000 //set this to the minimum height you want, usually 0 for non-ocean planets, or a negative for ocean planets order = ??? //make sure this comes after the height map stuff } } } Tyrok: If it's okay with you guys, then I'll redo Tyrok's config to remove the Laythe template dependency and make the oceans better. I also want to give it a more subtle glowing ocean effect (once that plugin is fully working) to emphasize the fact that it has lava. BUILTIN/___ textures: You know how you can use KSP's builtin textures in Kopernicus by using BUILTIN/texturename? Well I wrote a quick plugin to export all of the textures' names into a text file, so we can use them (link here) You'll have to sort through all of the UI stuff though, but there is some pretty great stuff in there. I also made a small plugin so you can view these textures ingame, which I'll try to upload later today or tomorrow. More Stuff: I just finished up some school stuff, so I'll have much more free time to work on this starting tommorow. Even more stuff: I'm almost done with the next version of BetterTimeWarp, which will make it much more Kopernicus-friendly. We can bundle that with this mod's download if you guys want to. The license allows for it, as far as I know.
  24. I think it should be named Exoplanets, or The Exoplanet Pack
×
×
  • Create New...