-
Posts
2,487 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by ColdJ
-
Banned for quick drawing first. Also known as pulling a Mal. (Firefly,Serenity.)
-
In space, no one can hear Jeb scream. - Ripley Kerman.
- 31 replies
-
- kerbalized
- space
-
(and 1 more)
Tagged with:
-
THAT'S not Kerbal. NOW THAT'S Kerbal! (If you can't tell, that is a brush cutter on the log.)
-
I know some simple things, generally from looking at you tube videos. Sometimes they work well, sometimes not. There is stuff that if you read through the entire thread can be found about creating animations. I have to go in a sec to work outside. If you ask some specific questions here about animations I will try to answer them when I am next on. I am a bit rusty as I haven't made anything for around six months and often have to go back and look at my own work or posts to remember how I did something. But I will give it a shot. I did also add the link to your pages in the updates post that is the second in this thread.
-
N 33
- 31,499 replies
-
- going off the rails!
- non-stop!
-
(and 3 more)
Tagged with:
-
Hi @OrdinaryKerman. Was a bit tongue in cheek. I know there are a number of mods with lots of road parts that if you are patient you can stitch together in to an extensive road system. Though matching so that you don't get caught on colliders when driving can be tricky. Was just smiling and saying if there are parked cars, then where did they drive in from. Of course if someone reads this and wants to create a massive road system using those parts and then share the config file for KK, then I think we would all be very happy and grateful.
-
Not then but I am here now. And my hands are cold because it is cold here. Hi @Watermel00n
-
Export Your Model and Textures If all done correctly, we should now have: Meshes and empties (main part empty, gimbal, thrustTransform, node_stack_bottom, node_stack_top) in correct hierarchy and given good names we can use in our config code. An engine shroud if needed, correctly set up to be hidden in the VAB/SPH icon. Colliders for all our meshes. Working diffuse, specular, and emissive texture maps. An engine core glow effect. Time to export. Click on the main part empty, the one where everything is ultimately parented to. In the active tool tab, click apply scale and clear inverse—this ensures your part is of the correct scale and that any strange transformations are taken care of. Then, click export mu model. Exporting your textures to .DDS KSP can actually use .PNG image files, but they are slow and not great for load times. Instead, it’s better to convert them to .DDS. There are a few tools for this, but again, I prefer Nvidia Texture Tools Exporter as it can be installed as a standalone tool or as a Photoshop plug-in that lets me open DDS file right in Photoshop. To export a KSP-ready .DDS texture, start by taking your texture (probably saved in a PNG format) and flip the texture vertically. For reasons I’m not sure, DDS files are flipped vertically; not doing so usually ends up with weird situations like that pictured on the right. You’ll then want to use your tool of choice to save as a DDS. For parts, your normal texture must be exported as a DXT5_NM to prevent strange lighting artefacts. Otherwise, all other textures are to be saved as DXT5. In the Nvidia tool, these two settings are listed as BC3n and BC3 respectively. Create a Config The last step in our engine creation adventure is to build out the config, which is a special kind of text file that defines the stats and behaviour of this part. It’s customary to simply copy the config over from another part that is quite similar, so I won’t go over everything step-by-step. Nonetheless, I will mention some important key points. Everything below unless otherwise stated will be inside the main PART module. Model information Inside the main module, you’ll want to define your part model here. Set model to whatever your .mu file is named; you don’t need to include the extension. MODEL { // My model is called MESwallow.mu model = Swallow/Parts/Engine/MESwallow position = 0, 0, 0 rotation = 0, 0, 0 scale = 1, 1, 1 } Attachment nodes Most configs you might find will define their nodes using a coordinate system. Since we created the node_stack_top and node_stack_bottom empties in Blender, though, we can simply ask KSP to create nodes at those locations: NODE { name = top transform = node_stack_top size = 1 method = FIXED_JOINT crossfeed = True rigid = False } NODE { name = bottom transform = node_stack_bottom size = 1 method = FIXED_JOINT crossfeed = True rigid = False } ModuleEnginesFX For any engine, the ModuleEnginesFX module defines how the engine actually performs as a propulsive device, including fuel consumption and efficiency. For the PROPELLANT modules, you’ll need to define the fuel-oxidiser mixture ratio, which you can reference with the table below: Engine configuration Fuel Fuel ratio Oxidizer ratio Stock LFO/kerolox LiquidFuel 0.9 1.1 CryoEngines methalox LqdMethane 3.0 1.0 CryoEngines hydrolox LqdHydrogen 1.5 0.1 The atmosphereCurve defines the engine’s ISP at various atmospheric pressures. Each key consists of two numbers: the first being a pressure in Kerbin sea-level atmospheres, and the second being the engine ISP. For example, the following atmosphereCurve defines a vacuum-optimised engine that is very efficient in the vacuum of space but otherwise performs poorly at sea level: atmosphereCurve { key = 0 350 key = 1 90 key = 4 10 key = 12 0.1 } Gimbal control Remember our gimbal empty in our Blender file? In our config we’ll use the gimbal module to define the thrust vectoring ability of our engine: MODULE { name = ModuleGimbal gimbalTransformName = gimbal // gimbalRange is in degrees gimbalRange = 2.5 gimbalResponseSpeed = 30 useGimbalResponseSpeed = true } Engine variants We can use the stock variants system to switch between multiple variants of our engine, if you have them modelled and ready to go. In essence, all it does is switch on and off the meshes that are relevant to each variant. Below is some example code for switching between an engine that comes in both 1.25m and 2.5m form factors, toggling on/off two meshes named MyEngine_125 and MyEngine_250, and with the default size being 1.25m: MODULE { name = ModulePartVariants useMultipleDragCubes = false baseVariant = Size1 VARIANT { name = Size1 displayName = 1.25m size primaryColor = #999999 GAMEOBJECTS { MyEngine_125 = true MyEngine_250 = false } } VARIANT { name = Size2 displayName = 2.5m size primaryColor = #ffffff GAMEOBJECTS { MyEngine_125 = false MyEngine_250 = true } } Adding the heating effect With our emissive texture set up, we can use the config to control how much of that emissive texture is shown, producing the effect of an engine slowly glowing redder from heat. Note how we are excluding EngineCoreGlow, as that will be controlled seperately: MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 0.025 shaderProperty = _EmissiveColor excludedRenderer = EngineCoreGlow toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 1 1 key = 1 1 1 1 } greenCurve { key = 0 0 1 1 key = 1 1 1 1 } blueCurve { key = 0 0 1 1 key = 1 1 1 1 } alphaCurve { key = 0 0 1 1 key = 1 1 1 1 } } Adding the engine glow effect At the same time, we can add the code that will make our EngineCoreGlow shader glow and fade to the tune of the throttle: MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _TintColor includedRenderer = EngineCoreGlow toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } Multi-Nozzle Engines Multiple thrustTransforms Each nozzle requires its own thrustTransform. Blender will automatically rename any objects that have the same name, and youl’l get empties named thrustTransform.001, thrustTransform.002, etc. Luckily, Taniwha was thoughtful enough to write code that accounts for this—when exported to the .mu model, they will all get renamed as thrustTransform. In the config, your ModuleEnginesFX will automatically take care of multiple thrustTransforms. Multiple gimballed nozzles If you’d like for each nozzle to gimbal independently, you can create one gimbal empty for each. In your config, simply create multiple gimbal modules, one for each transform you made. Remember to set up the hierarchy of objects and transforms properly—each nozzle and its respective thrustTransform and engine core effect mesh should be parented to its own gimbal here. Creating Gimbal Arms Adding gimbal arms, hydraulic pistons, and actuators are a great way to add a lot of character to your engine. It’ll take a bit of fiddling, but the results are satisfying. Basic gimbal arm setup Each gimbal arm consists of an upper and lower section. The movements of each are defined using an FXModuleLookAtConstraint. Courtesy of JadeOfMaar Courtesy of JadeOfMaar As a more comprehensive breakdown, for a given arm assembly: The upper arm is parented to the engine mount/main engine empty (fixed). The lower arm is parented to the gimbal transform/engine nozzle (moving). The lower arm slides up and down telescopically with respect to the “fixed” upper arm. Within FXModuleLookAtConstraint, each arm member requires its own CONSTRAINLOOKFX. Each part needs to set itself as the rotatorsName, and be targeted to its corresponding arm with targetName. A single gimbal arm will have two CONSTRAINLOOKFX, one for the upper and one for the lower section of the arm.
-
By @Kavaeric Mesh Preparation With all our meshes done, we should make sure things are parented and ordered properly in the hierarchy, ready for being placed in the game. Place transforms and order your hierarchy At minimum, you’ll need at least the following: An empty with your part name. Parent your main engine mesh to it. An empty named gimbal. The config uses this to determine the location of where your engine nozzle pivots when gimballing, if your engine has gimbal. Due to weird coordinate translations between Blender and KSP/Unity, rotate it so that its Y-direction is facing downwards. The gimbal empty should be parented to the main part empty, and the engine nozzle should be parented to the gimbal empty. An empty named thrustTransform. This is where the “thrust” of your engine comes from and what direction it travels in. Rotate it so that the Z-direction is facing downwards, and position it so that it’s aligned right with the nozzle of the engine. Parent it to gimbal. Note this will also determine where the Waterfall plume will be placed, if you want one. Generate colliders Colliders both determine how the object should behave in rigidbody physics, as well as determining the “hover area” when interacting with the part in the VAB/SPH. For each seperate mesh object in your part, select it, head into the active tools tab, and click one of the options (usually Single Collider: Mesh) to generate a collider. The tool will automatically parent and name the collider properly for you; you could probably just hide it from the hierarchy at this point. Define stack attachment points You’ll want two empties, one for the top and bottom attachment nodes each. Name them node_stack_bottom and node_stack_top. Make sure the bottom node empty is pointing downwards—using the “single arrow” empty type is helpful for gauging orientation. Both of these should be parented directly to the main part empty. These empties and their names will be used by the config to define attachment nodes. Set up your engine shroud If you have a custom engine shroud, its mesh should be parented to the main part empty. To make sure it doesn’t show up in the icon preview in the VAB/SPH, head to the object properties tab, find the Mu Properties rollout, and set Tag to Icon_Hidden. It will also need its own collider too. By @Kavaeric Preparing Materials and Shaders Before we start texturing, it’s not a bad idea to set up the material and KSP shader you’ll be using for this. Ideally, you’ll want one material for the entire part, working off one UV map and one set of textures. Taniwha’s plugin adds shader options that are lifted from the game, letting us configure the settings and with a (if somewhat inaccurate and crude) preview in Blender’s rendering mode. Creating a KSP Shader Create a new material that is applied to all the meshes of the part. Underneath the typical material settings, you will find a new section called “Mu Shader”, where the in-game shader settings are configured. Below is an example of a material setup for the Swallow: Relevant settings are: The Shaders drop-down should be set to ksp emissive bumped specular. Specular is for shininess control, bumped lets us use a normal map, and emissive lets us create engine (over)heating effects. Name doesn’t matter much, but I like setting it to the same name as the Blender material name. _MainTex is our diffuse/specular texture. Its Name should match that of the texture file (e.g., if the texture file in the GameData folder will be called MESwallowC.dds, I will set this to MESwallowC). _Emissive and _BumpMap are our emissive and normal map textures. Similarly to _MainTex, their names should match the filenames of your emission and bump map textures. _Shininess is pretty-self explanatory. The default value of around 0.08 is fine; we’ll control the specularity with our main diffuse texture. By @Kavaeric UV Unwrapping When your model(s) are done, it’s time to UV unwrap to begin the texturing process. Enforce texel density Texel density refers to how many pixels per metre of texture resolution a mesh is provided. In general, Restockalike parts aim for a resolution of 200-300px/m, whereas Nertea’s other mods (such as CryoEngines) go much higher, in the region of about 400px/m. Use Texel Density Checker to check and rescale UV islands to match desired texel density. Unwrap round objects It’s recommended that for simple conical or cylindrical objects, the UV map should be straightened a la an equirectangular projection. You can of course let the UV unwrap do its thing, but it’ll make actually creating the colour textures much easier if you’re just working with a rectangle rather than a strange distorted shape. Using Blender’s cylinder project works okay in a pinch in producing squared-off maps. Here a boattail is unwrapped, first by centering the cursor, then switching to an orthographic view before the operation is executed: By @Kavaeric Texture Preparation There are a few things we should do to make our texture creation process easier and richer. Bake ambient occlusion A good way to start texturing is to first bake an ambient occlusion map. We can overlay this onto our texture map for some added depth to our final texture. Create a new material and name it something like “AOBake”. This won’t be put into the game; it’s purely for our purposes. Give it this node structure in the shader editor: On the left, we simply have an Ambient Occlusion shader that feeds into the base colour of a Principled BSDF (a diffuse would probably work equally fine). The colour of the AO node is set to pure white. On the right, the UVMap feeds into a new image texture that will hold our AO bake. To bake the AO map: Delete or otherwise hide all lighting sources. Set the rendering engine to Cycles. Set the World Colour to pure white. Finally, if all is set, go back to the render tab and click Bake. Save the new image. If you load it into your raster image program of choice, setting it to a “multiply” blending mode will let you overlay it on top of your texture artwork. I tend to also find it useful as it marks intersections of geometry, such as where a pipe might make contact with the outside of the boattail. Export UV map grid This isn’t necessary, but it can help a lot in terms of creating your texture art. In Blender, select all the meshes of the same part, and press Tab to go into edit mode. In the UV Editor, select all the parts of the UV Map. Go to the top menu, and find UVExport UV Layout. If you bring the exported file into your image program and set its blending mode to something like Multiply, you’ll find that you now have a reference overlay for your texture creation process. Create the Diffuse/Specular Texture Visually speaking, this is the most important texture as it involves the actual colours of your map. In addition, the alpha channel (transparency) of the texture determines what parts are shiny and what parts are less so: the more transparent the texture is at a certain area (alpha channel black), the more matte the surface will appear in the game. Note that if you are creating a Restockalike or Nerteaverse-like part, the license for art assets for those mods are protected as All Rights Reserved, meaning you can’t simply copy and paste or otherwise redistribute the textures. You can, however, still have them open as reference and try to make your own textures look similar. Nertea has documented the standards for Restock’s art assets on the relevant Github wiki, including colour palette and technical modelling standards. Again, feel free to open up textures from your GameData folder if you’d like to see how they are applied. Manage your layers While each part can be quite different in terms of texturing, I find that structuring my layers in the diffuse colour map like so makes things easier down the line. Below are the layers and effects I use, organised from the bottom of the stack first, and usually in the order I work on/add them in: Base colour I start with a midtone grey underneath everything. Graphite nozzles Black carbon nozzles with a striated texture. The silhouette can be copied for the heat emission texture. White hull Slightly off-white panelling; some variants include a black-and-orange colour scheme. Usually with a subtle striated texture. The silhouette can be copied for the specularity map. Panel seams The seams themselves are 1 or 2-pixel-wide lines drawn in 20% grey. An outer glow layer effect with about 2px thickness and 40-50% opacity with some noise to adds extra texture. The silhouette can be copied for the normal map, and the outer glow effect can be copied for the specularity map. Painted decals/markings Add some wear around the edges, and use the appropriate colours to mark fuel type if making assets for CryoEngines/Nerteaverse. Can be copied for the specularity map. Embossed details Things like rivets and reinforcing braces, though you can be creative. Applying a very slight outer shadow adds to the effect of depth. Can be copied for the normal map. Engraved details and holes Dimples, depressions, and straight up-holes. Giving them a slight white “glow” with layer effects adds some extra texture. Can be copied for the normal map. Wear markings Any additional (usually light) wear markings, often following the edges of objects. Can be copied for the specularity map. On top of all of that, the ambient occlusion map baked earlier is overlaid. Create the specular map Once your colour map is done, it’s time to make your specularity map and apply it to the alpha channel. Create a new layer group, and fill the bottommost layer with a 50% grey. I like to add a bit of texture here by generating noise, box blurring by about 25px, and then gaussian blurring again by 10px. If you set up your layers properly in the colour map step, you can simply copy relevant parts to the specular map stack, recolouring them with the correct shade of grey to match the desired specularity. For Restockalike/Nertealike parts, the following is recommended: Wear marks and scratches should be set to white at 50%-100% opacity. White panelling/hulls should be darkened to 25% grey. Paint marks should be darkened to 25% grey. Once done, you can simply flatten those greyscale layers and apply it as a transparency/alpha mask to your colour layer: This texture here is now ready to be exported. Remember that its name should match the _MainTex name field in the .mu plugin’s shader options in Blender. Create The Normal Map Normal maps are actually kind of difficult to make by hand as they encode vector data. Luckily, we can make a much simpler bump or heightmap, and then convert it to a normal map using various tools. In a bump map, white represents areas of high elevation, and black represents low. I found the following to be useful when transferring from the colour map: Baseline grey level of 50%. Panel gaps and divets should be 30% grey. Everything else is up to your discretion. Once done, export it as a PNG and use a tool like xNormal or NormalMapOnline to convert it into the customary bluish-psychedelic normal map we’ll need. Since we used 50% grey for our baseline level, make sure you specify that in your tool’s options: for NormalMapOnline, checking Z range: -1 to +1 will do this. Save this output, making sure the final name is set to that of _BumpMap in the mu shader options in Blender. Part of a bump map for the Hestia I made by converting parts of my colour map. The bump map converted into a normal map with NormalMapOnline. Create The Emission Map The emission map is what is used to create the engine heating glow effect as the engine runs hot from being used for an extended period of time. The best method I found in Photoshop is to use a gradient map, set to a fiery gradient like below that transitions from pure black to a dull red to a bright orange: Pure black at 0% position Dull red #680000 at 25% position Mid orange #d53700 at 50% position Warm orange #ff9800 at 100% position Underneath, I have a greyscale image I use to actually map the brightness of the heat radiation, with white creating that orange colour and duller greys leaning towards the red. For a Restockalike/Nertealike look, the inside of the engine cone should get brighter towards the combustion chamber. The exterior should stay within reddish colours. The name of the exported emission texture should match the _Emissive name defined in the mu shader properties in Blender. The animation for the heating effect emission will be defined in the config file. Creating the Interior Engine Glow Something Nertea invented was the “engine core” mesh that allowed for the inside of the engine to glow brightly when the throttle was on. You can see how in this shot, the Buzzard engine at the top has a brightly glowing purple interior thanks to this engine core mesh effect. The Swallow on the bottom didn’t have this effect, hence why the inside of its engine nozzle remains quite dark: To add the effect yourself, create a mesh inside the nozzle of your engine and name it EngineCoreGlow. It doesn’t have to conform to the inside perfectly and can be quite low-poly, but it’s best to match the number of sides to prevent any strange gaps. Ensure that the normals of the mesh are facing correctly (i.e. downwards), and parent this mesh to the gimbal empty alongside the engine nozzle. Create a new material, and set its KSP shader to ksp alpha transluscent additive. UVMap the mesh to a colour gradient of your choice—preferably a colour that matches that of the engine plume—and you’re good to go! The animation transition will be defined in the config file.
-
Hi @Kavaeric A very professional looking job. I will try to copy it across to here in a simple form so that members can read through without leaving the forum. Making it clear that it is your work. The following are the pages created by @Kavaeric to explain processes they worked out for creating parts with the help of the .mu plugin. Notes on creating engines for KSP I decided to write this as, being completely new to the whole process of modding KSP1, I found the documentation quite lacklustre. Many links were broken owing to changing hands and forum migrations; many creatives rarely publicly documented their production process. The process of learning to make an engine from start to finish was quite a difficult one as a result; we even had to re-discover lost techniques to building these rockets as if archeologists investigating ancient construction methods. As such this page aims to consolidate what I’ve learned from building my own engines, as well as process and workflow tips to make things easier. What this will and won’t cover This note page will cover: How to ideate and plan out an engine concept, both for visuals and balance. How to produce an engine part with rich features such as working heat effects, shrouds, multiple variants, and Waterfall plume configurations. How to guide development to follow a ReStock-, Near Future-, or CryoEngines-alike aesthetic. Best practises for modelling in Blender, including workspace management tips. How to UV unwrap and produce texture maps, and workflow tips to speed up the process. How to write an engine config and build out feature and effects functionality. I will try to be as comprehensive as possible. However, I will not give instruction on: How to create models. I will cover considerations and workflow techniques specific to preparing a model for KSP, but otherwise I will assume you are comfortable working in Blender. How to design textures. Again, I will cover the technical side of things, such as file format exports, and will give advice on how to create assets that feel congruent with ReStock or Nerteaverse parts. Otherwise, I will assume you already have a raster image editing software of choice and that you are comfortable using it. In other words, I will give information regarding the technical side of things in regards to creating a part for the game and how technical requirements will affect your creative workflow. I won’t give information on creative aspects of learning how to 3D model or use image editing software. What you’ll need You won’t need all these things off the bat, but in case it helps to do a sort of mies en place for your development, you’ll need the following: Blender with taniwha’s .mu export plugin. Installation instructions are available on the wiki. Using this plugin, we can bypass having to install Unity altogether. The Blender plugin, Texel Density Checker. This will help us ensure we’re using our UV map resolution efficiently. A raster image editing programme. I personally use Photoshop CC, as it’s what I’m already familiar with as an artist. Ideally, to make things easier, you’ll want something that has layer blending modes, layer effects, and filters. A bumpmap to normal map converter. Tools like xNormal and NormalMapOnline work just fine. A DDS converter. KSP uses DDS files for textures. One thing we lose from not using Unity and PartTools is a DDS exporter, so we’ll need something to export with. I personally like using the Nvidia Texture Tools Exporter as it can be installed as a Photoshop plugin or standalone app. A text or code editor for editing our part configs. Something as simple as Notepad or Notepad++ works. Since I’m all fancy I use Visual Studio Code. I’ll cover the specifics of each in more detail with each step. Ideating Modelling Texturing Export and Configuration Additional techniques -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ideation and Concept Before we actually start making a part it’s a good idea to make sure you grasp what it is you’re trying to make. You might be tempted to dive right into smashing shapes together in Blender, but you can save yourself a lot of trouble if you at least check to make sure you have a firm grasp of your goal. Balancing To put it in business-y terms, what’s the value proposition of your mod? Why would people want to use it, and why do you want to make it? There’s no right or wrong answer to these questions, but things can change unexpectedly in your process and stuff is fluid; ensuring you know the why will help ground your decision-making. In the case of engines, here’s some questions to mull over: Is this meant to synergise with an existing mod? What do you have to do to make sure it feels congruent with the set? Are you making this to address a gap in mods? Do existing mods exist? What’s lacking about them that you think you can do better? Is this a very functional part, or do you want to focus on aesthetic quality? What kind of aesthetic are you going for? Are you trying for something stockalike, or something to look like an expansion of another, existing mod? How will this balance? Do you even care about balance at all? What stats should it have? How will that affect the visual and physical design of the part? Ideate and sketch ideas Again, it’s tempting to just jump into Blender and start making stuff, but gathering visual inspiration, references, and sketches goes a long way to preventing creative block. Even spending half an hour doodling on a napkin or poking around Wikipedia can go a long way. Below are some sketches I did, along with some notes for the Swallow methalox engine. Some of these concepts I’ll probably even re-use for other engines. Another method I found quite useful is to “kitbash” in the game for inspiration: take some existing engines, structural parts, engine plates, multi-couplers, whatever, and begin combining them in different ways to generate ideas. Remember, asset creation is more of an art than a science at this point—be creative and let loose. By @Kavaeric Modelling in Blender Now that you have your idea it’s time to actually begin the modelling process. Make sure you have both taniwha’s plugin and the Texel Density Checker installed and set up and ready to go. Basic part modelling guidelines To ensure a baseline level of consistency across your parts, you’ll want to adhere to the following: Segment counts for round stack parts, i.e. round cylindrical/circular parts that will stack. For 3.75m parts (size 3) and under: 24 sides. For 5m parts and over: 36 sides. Round objects like round struts and wires should have at least 6 sides. Polycount For Stockalike and Restockalike parts, <5,000 triangles. High quality parts like that of Near Future Technologies or CryoEngines: <10,000 triangles. Mount clipping. Basically, the top of your engine should have details like pipes and tubes that extend upwards past the mounting point, such that when placed on certain fuel tanks there’s no awkward gap. Engine nozzles should be kept a seperate object if gimbal control is desired. Oh, and remember that KSP’s part sizes are defined by diameter, but Blender’s circle and cylinder creation tools require you to provide a radius: if you are making a 2.5m part, for example, you’ll need to input 1.25m as the circular radius. You can also type in 2.5/2 into the field and Blender will do the maths for you. Model for multiple variants Depending on your ideation process you may want to incorporate multiple variants into your engine. We can prepare for this by considering what parts will change and what won’t with each variant. For example, most CryoEngines are modelled with the engine mount as a seperate object from the actual engine “body”, and the script merely toggles with mount is being used—this will save you a lot of work in the long run when creating multiple variants. You can model each variant side by side, but they will eventually be placed on top of each other, parented to the same empty. Control smooth and flat surfaces Obviously as a game asset we can’t exactly do highly resource-taxing subd modelling, and hence we’ll need to smooth shade our model while ensuring we can still control our sharp edges. There are a few ways to do this, but my preferred method is to set Auto Smooth to its maximum setting of 180 degrees, and use the Mark Sharp feature on any edges I want creased. I’ve seen others use Edge Split as well, but I prefer the former method as it doesn’t require me to stay on top of my modifiers stack, especially if using other features like Array or Mirror. Prevent clipping into an engine shroud It’s customary to make the engine mounting ring a tad smaller than the actual diameter of the stack size you’re working on, such that when an engine plate shroud, a fairing, or even your own shroud is placed over top, it doesn’t clip.
-
Sban in a can @AlamoVampire Banned by the 5 year arc, set up by the writers at the beginning of the show. B5 Also banned by the season of Sea Quest that has Michael Ironside in it.
-
N 39
- 31,499 replies
-
- going off the rails!
- non-stop!
-
(and 3 more)
Tagged with:
-
Granted: All knowledge of it and any other movie are erased from your memory, then you are sent back to 1977 to see it in the cinema for the first time. It is amazing. I wish for that too.
-
Floor 3431: A hammock shaped inflatable balloon. You climb in an have a good sleep.
-
Yay, I saw @Admiral Fluffy was here, and with a new avatar. Why is @adsii1970 now a Monkeys Uncle?
-
It is me Doc. I am banned, banned from the future.
-
N 32
- 31,499 replies
-
- going off the rails!
- non-stop!
-
(and 3 more)
Tagged with:
-
Nope. Goodnight and thanks for all the @fish
-
Banned because @AlamoVampire referenced the Honeymooners without mentioning the Flintstones.
-
[1.2-1.7] Blender (2.83+) .mu import/export addon
ColdJ replied to taniwha's topic in KSP1 Tools and Applications
Read the bit in my thread that says " Material Setup.", the rest is also helpful. -
Nope. That thread has remained locked since it first was, many many years ago.
-
N 19
- 31,499 replies
-
- going off the rails!
- non-stop!
-
(and 3 more)
Tagged with: