-
Posts
485 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by MrHappyFace
-
The most likely cause is that unity is using the fallback shader (blank white diffuse) because your graphics card doesn't support the shader. Try upgrading KopernicusExpansion to the latest version if you haven't already. If that doesn't work, send me your <planet-name>.log file in KSP/Logs/ and your output_log.txt
-
You could just make it use carbon dioxide as an oxidizer. I looked around, and found this which suggests using CO2 from the atmosphere and Magnesium as a fuel source.
-
If you want to do it using code, try the CraftThumbnail class
-
New release! 0.1.2 Changelog: fixed bug where orbits rendered behind procedural gas giants fixed OpenGL incompatibility issue for procedural gas giants removed procedural storm generation from procedural gas giants, and replaced it with a texture map for specifying storms Download: https://github.com/HappyFaceIndustries/KopernicusExpansion/releases/tag/0.1.2 As the last changelog entry says, storms are now defined manually, using a storm map texture. Images: http://imgur.com/a/reysf The storm map is the first image, in it's full 2048x1024 resolution, and the second image is a screenshot of it ingame. Basically, the alpha value determines how close any given pixel is to a storm. An alpha value of 0 makes no change, and an alpha value of 1 is the center of the storm. The color channels don't matter, as only the alpha value does anything. This is the first non-prerelease, and it should work everywhere, with or without OpenGL now.
-
Oh wow... Fixed.
-
Just make sure to modify the opacityCurve and brightnessCurve values in the config, so that the tail will appear that high up. Invisible comets aren't any fun Whoops, I thought you said that the periapsis would be around Jool, not the apoapsis. There should also be a comet like Halley's, whose apoapsis goes slightly beyond Neptune. Last I checked, Kopernicus sorted flight globals ids by semi-major-axis, so as long as it's higher than Jool's, it'll be fine. You can always set flightGlobalsIndex in the config to some big number if it matters that much.
-
That sounds like a good idea for the future, but I don't really have as much time for plugin development anymore, what with school starting back up and everything.
-
Loading and using custom shaders
MrHappyFace replied to lo-fi's topic in KSP1 C# Plugin Development Help and Support
Have you actually compiled the shader? You can't just load a plain shader, you have to compile it in unity first, there's a button for it in the shader inspector in the unity editor. (make sure you're using unity 4.6.1) If you have, are you sure you're setting the shader correctly? You're supposed to set part.renderer.sharedMaterial to a new material, using the loaded shader as a parameter in the constructor, something like this: [KSPAddon(KSPAddon.Startup.Instantly, false)] public class ShaderLoad : MonoBehaviour { public string shaderFileName = "KerbalFoundries/_Dev/KFSpec.shader"; public static Shader KFSpecShader; public void Start() { Debug.Log("ShaderSwap OnInit"); string filename = KSPUtil.ApplicationRootPath + "GameData/" + shaderFileName; if (shaderFileName != string.Empty && File.Exists(filename)) { Debug.Log("Found shader"); try { TextReader shaderFile = new StreamReader(filename); string shaderText = shaderFile.ReadToEnd(); KFSpecShader = new Material(shaderText).shader; Debug.Log("Loaded shader"); } catch (Exception e) { Debug.LogError("unable to load shader " + shaderFileName + " : " + e); } } else Debug.Log("Shader not found"); } } ... public class CustomMaterialModule : PartModule { public Material PartMaterial; public override void OnStart(StartState state) { PartMaterial = new Material(ShaderLoad.KFSpecShader); //set other properties for the material, like textures and normal maps part.renderer.sharedMaterial = PartMaterial; } } -
Loading and using custom shaders
MrHappyFace replied to lo-fi's topic in KSP1 C# Plugin Development Help and Support
I don't think using shader.find works for shader objects you gotten from that loading method. Try just putting the shader object into a dictionary or something, and load it from there. You should also not rely on the shader being loaded with the part loader, you should manually apply the new material to the part using a PartModule or something. -
It's actually impossible to move the KSC to another planet, but you could just switch mars and earth so that mars is based off of kerbin and earth is just another planet.
-
New small release: v0.1.1 Changelog: Moved example configs into seperate download Added separate default brightness curve for dust comet tails Moved dll and settings into base KopernicusExpansion directory Download: https://github.com/HappyFaceIndustries/KopernicusExpansion/releases/tag/0.1.1 Download Example Configs: Download the zip file entitled ZZZ_KopE_Examples.v0.1.1.zip BTW, I would prefer that any planet packs using this include it in their downloads.
-
[Dead Mod][1.0.5] Saru Planet Pack v0.1
MrHappyFace replied to tygoo7's topic in KSP1 Mod Development
You can edit the various properties (storm frequency, noise properties, etc.) using the ingame editor Set the line mode = normal to mode = editor in the Settings.cfg file (found in GameData/KopernicusExpansion/Data/) to access the gas giant editor in the tracking station. Proper config format for procedural gas giants: Body { ScaledVersion { Material { texture = pathToScaledTexture //... the rest of the properties ... } ProceduralGasGiant { generateRampFromScaledTexture = pathToScaledTexture seed = <random number you set> animated = true/false hasStorms = true/false cloudSpeed = <number above 0, I prefer 100> distortion = <Distortion value from ingame editor> frequency = <Frequency value from ingame editor> gain = <Gain value from ingame editor> lacunarity = <Lacunarity value from ingame editor> stormFrequency = <_Storm Frequency value from ingame editor> stormThreshold = <Storm Threshold value from ingame editor> } } } That config will generate the required color ramp automatically from the scaled material's texture. -
This config is pretty clean: @Kopernicus:AFTER[Kopernicus] { Body { name = Kipler Properties { description = Kipler is famous for it's swirling clouds and it's brilliant, golden color. It might also have a few moons, but kerbals, being easily destracted by shiny objects, didn't discover them until recently. radius = 4500000 geeASL = 0.6 rotates = true rotationPeriod = 14000 timewarpAltitudeLimits = 0 200000 200000 100000 100000 1000000 5000000 50000000 ScienceValues { flyingLowDataValue = 10 flyingHighDataValue = 9.5 inSpaceLowDataValue = 9 inSpaceHighDataValue = 8.5 recoveryValue = 9 flyingAltitudeThreshold = 140000 spaceAltitudeThreshold = 3000000 } } Orbit { referenceBody = Sun color = #ffb000 inclination = 0.8 eccentricity = 0.03 semiMajorAxis = 35000000000 } Atmosphere { enabled = true oxygen = false ambientColor = #ffb000 lightColor = 0.46629,0.51685,1,1 atmosphereDepth = 200000 staticDensityASL = 100 temperatureSeaLevel = 280 temperatureSunMultCurve = false temperatureCurve { key = 0 280 key = 120000 180 key = 200000 0 } } ScaledVersion { type = Vacuum Material { texture = NewKerbol/Textures/KiplerColor color = 1,1,1,1 specular = 0,0,0,0 shininess = 0 } ProceduralGasGiant { generateRampFromScaledTexture = NewKerbol/Textures/KiplerColor hasStorms = false } } } } This config is for a gas planet. I don't have any clean PQS planets yet. --- On a large scale, volcanos have to be implemented with particles, and modifications to the heightmap (or MapDecals, if you know how to use them). If you're just talking about small geysers, that's planned for a future update.