REDACT3D
Members-
Posts
36 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by REDACT3D
-
Building Particle Effects. (for engines)
REDACT3D replied to REDACT3D's topic in KSP1 Mod Development
nice plumes man! Woot! outstanding bud thanks! Was messing around with part tools inside unity and found the FX folder with all the Mu's for the stock ones but couldn't figure it out. good stuff -
Building Particle Effects. (for engines)
REDACT3D replied to REDACT3D's topic in KSP1 Mod Development
bump The FX .mu files are located in the FX folder. however, in blender they load as empty game objects -
Do any of you folk have any relevant insight on mod development for ksp2 I imagine it is still unity but HDRP and hope that it still uses the same kind of files used in ksp1. but no idea. Any insight on this topic? I quite enjoy makin' parts. and I notice the wing change eliminating the need for tiny variations. but could add more complexity. the same goes with the multiplayer. I imagine it will have navigation more automated and more consistent with the abilities of the majority of players. maybe this will eliminate the need for navigation mods for example.
-
Hello again guys, I'm back with more questions! Lucky you right? Anyhoo, I would like to create particle effects for my new engine parts but I'm not sure how exactly this is done. I've got experience in Unity, and blender is my main 3d building environment. Been using the Blender addon to compile the part folders and such but the particle effects seem to be pre-existing game object prefabs that are instantiated in-game for the desired effect. I cannot locate thease prefabs to see how they are structured or know the naming convention to accomplish this task. it would be amazing if someone could point to a youtube video or document that describes the workflow for this. Sure. it's just graphics and doesn't impact the motion of the ship or how the part works. but it's that extra touch that makes it neat for the player. I'd rather make the entire game asset from scratch that way I know where it came from and can let people consume it ^.^ thanks guys later
-
Okay let me get back to you on that one. but I suspect that KSP uses unity's built-in particle system that is extremely well documented, and I use it all the time for a wide variety of effects. From smoke and trails to particles that trigger events and collide with the word. It's a possibility that it uses the FX system that is more shader based. but since KSP appears to be built using the Universal Render Pipeline this points to the older particle system. Each style of render pipeline has it's own custom shaders basically. because the scene is being renderd using a different style of rendering. Forward rendering seen in HDRP and deferred rending in the Universal Render Pipeline. There's also the Standard Definition Pipeline that is more or less devoted to mobile and you can create your own render pipeline. See lots of people always complaining about the STYLE of render pipeline. Because things are not the same for every render pipeline as you can imagine. It's like a setup file config. You'll have a guy showing how to "make a thing" but it only works in that one pipeline. I bet KSP at first probably had the URP as standard and added stuff on. But all speculation. The only difference between HDRP and URP in relation to particles from a user standpoint is how you need to select a new shader type from the drop-down that is compatible with your change. And the alternate code you need to type to reference that version of the thing. Doing this "unlocks" or makes new or alternative options available in the inspector. For example, you don't have the option to disable 'cast shadows' with an HDRP material (even debug doesn't work) you need to use Layers to define what shadows interact instead. A different thing. (because hdrp shadows cost more performance so gotta use a new way ) (I think?) all versions in Unity have a basic diffuse shader. That is, will display gradient color and handle the surface smoothing and all that but no fancy stuff like emission, transparency, metallic and what not. Normals are mostly standard. Bump maps are old-school. The reason all this matters for particles is not only because they need to actually render and need a shader, but because of how they are rendered. like say if you check the ☑ Enable GPU Instancing. This not only does stuff in the background to help you spam those particles with no lag, but also reveals new options in the inspector as well. I think doing this inside unity would help? Blender has this issue how Black and White are swapped values and the scale of the values when you try to directly import over. The black and while ( 1 - 0 ) values are used to determine float values. like smoothness and so forth. So if those are flipped.. it's going to look funky at minimum lol. I imagine the ksp adon does this conversion. (and maybe why vertex color is black at first?) Particles are just a component you add to a gameobject, with slide bars and numbers to change while you observe the changes until you get what you want. it's really cool. Gets more complicated to add sound to particles. this requires adding an AudioSource component to reference. You can set the particles to begin playing (or looping or bursting whatever you make) immediately when the game object that had it applied to it is spawned or otherwise "wakes up" or you can just directly tell it to play. The issue then becomes do you want the particles to be interrupted? And what interrupts it? Does it get destroyed? You don't want the smoke to stay while the fire go. lol For stuff like candle flames, you can use a shader on a mesh to displace it like grass blowing in the wind, so there's a point at when you switch from particle to static mesh. depending on the speed of the effect. dont' need to spam particles for a slow moving flame. I hope that it works with the particle system in unity. lol Take this standard weapon layout. the formatting of the hierarchy. how it's contained within the character controller. I need a point to play smoke from the pew pew. But it has to match the players animated weapon right? So you add an empty game object to locate the origin point and rotation relative to the gun in local space. And when the animation plays for the shot, the playhead will travel across Event Triggers that are embedded in the animation. Or you can animate the game object disable and active. and set the particles to play on awake like the sounds. the standard particle component
-
Nice! A fix for the glitchy rendering! woot! It's like I'm suddenly playing ksp2! I wonder why this is not just a patch? Fantastic! And when I record video, it won't look like potato power too. It actually improves the contact shadows also! What the heck man, why didn't I do this before LOL Hearing about how you started off, ALMOST makes me think I'm missing out on that part of the quest. But then I think back to all those darn phone-book size code books, and I'm like nah' this is way better. Not only because we each learn "faster" but more that we can share what we've learned with others. To advance the overall knowledge base. I like to say: "teamwork makes the dream-work". puts a smile on folk's face and, it's true. I would gladly share any information about blender or unity if you ever need, just let me know. Maybe if you need any models made I could help with that. you know, no obligations or anything. Just let me know. I HATED blender until they updated the UI to non-alien interface hahahow you can bake textures and normals is crazy. if only blender and unity was built into the same app lol what the heck Z up! I reccomend Unity's "new" Visual Scripting for guys who want to get into doing logic and stuff. you can do anything you can do with regular code, but with graphical nodes. it's actually quite the rabbit hole. It's not for everyone. but it's an interesting way to do things at the least. But it kind of works how the shader graph works. so it's like a language worth learning. I was always tryin' to program stuff but needed graphics for it. So I forced myself to learn blender. Took roughly a year before I could sit down and build anything and know what every button did. Now I can cruze around it like a video game and just do what I think to do. It's all about the selection tools, mirroring and otherwise controlling the lines and dots to move how you want. Once you do it enough, it just becomes automatic, and you reach for the right tool at the right time. Not everyone has a year or two to fart around however lol. you've definitely made a positive impact on my progression and understanding. Thank you for putting the effort in to communicate in detail. A rare thing to find. keep payin' it forward
-
Below is a video showcasing the k2 as part of a larger stealth aircraft mod.
- 1 reply
-
- 1
-
Thanks bud Good eye as usual man! Here, I was testing what the highest level is. looking to see if it was clamped. Spoilers, it is. good to know that the game does not crash if this value is exceeded! (or at least not right away lol) Since I'm building from a reference in blender the idea is to get all the parts for this ship to the same relative scale in relation to the reference. Knowingly walking into that unit scale conversion issue. Once the model is completed at the reference scale, I will then rescale the objects to the scale I'm lookin' for with all of the attach points in the right places. Using blender to set the hard-scale to 1. I don't see scale as an issue. just an extra step to mess around with. Except how it requires an extra Empty gameObject so the local position is not affected by scale changes. This, I was doin' so I could leave the script identical each time it is copy pasted with less chance of typo error. As I usually only make a single animation track for a payload door. I assume the animations are played locally in relation to the part root gameObject. or in other words, is contained in that game object. Or any animation track on any part would also play while this plays. But it seems to be contained in the module? Super easy to name them. also describes what the animation is for better when looking at the code, so this helps thanks man! Buhahahaha! just for testing the inputs hehe. To make certain that the reaction wheels are applying the correct rotational force to the wing in an overpowered manner. At this point all the control surfaces work correctly and can be mapped to Depoy as breaks and such. Roll on the outer fins ( 1 and 2) was tricky. as the pitch and yaw was correct but roll was inverted. but all good now. Just want to get all the parts exsisting in the game before I tweak all of the game related values that make it a challange. Right now, it'll fly like it's being programmed to fly perfectly. Starting at perfect and nerfing down to realistic. This way I can get a visual going in my head about the numbers in relation to the actual forces. if that makes sense. This is why you will see outrageous numbers in some of my test stuff. The ones that are intentional anyways. lol Here you can see the scripting environment I used built into blender if you're interested. engine next as you can see on the top left. going for surface attach to the wing when I export the model, the script is also exported (and stuff automatically gets added/changed/assigned/ It's just as easy to edit a single value in script and re-export, as it is to do on say notepad, but this allows me to change things like the textures and other mesh stuff too with the same turn-around time. I believe what I could do is have several Scripting tabs open, each named for the appropriate part, and it'll export them all at once. based on your exporting multiple idea. beauty! This is the link to the github for the blender addon GitHub - taniwha/io_object_mu: Python .mu reader/writer and blender import/export addon And this is the video I found that started this all.. explains how to setup the addon and use it lol Oh! also - Notice how "6" never plays in this video as it is coded https://i.imgur.com/HCSS6dH.mp4 The texture turned out okay too. next on to the code and stuff
-
Sorry for the late response. Got distracted playing with thunderbirds for a while. had to put a pin in the base going in the mountains so I could get back to work on my K2 project haha. the detail is awesome haha. memory lane. Not that I am complaining. but for me some of the meshes used in the thunderbird pack do not have auto-smoothed surfaces. If you are aware of this or not. could be fixable in blender. maybe it sucks re-releasing a mod. haha thunderbirds go! The Sr71 is looking great man. If you want my expectation of what the inside view from the cabin should look like > gotta beable to see the curvature of the earth with blackness of space. but small windows and clamped head rotation due to helmets lol Been thinking about interiors. Anything you wish you'd have known before doing them? https://imgur.com/a/N0nP3zM Ended up debugging sound like this video above. Here's the animation and sound script for the instance that shows up in the video linked above. because I have my animation starting "open" at frame 0 and "closed" at frame 100, I want to make sure that the sounds are playing at the appropriate time. The Volume 0 0 was throwing me off at first. How it's like: Volme number number Volme number number had to debug that PART { name = CockpitK2 module = Part author = REDACTED rescaleFactor = 1.0 CrewCapacity = 0 TechRequired = precisionEngineering entryCost = 4900 cost = 650 category = Pods subcategory = 0 title = CockpitK2 manufacturer = REDACTED description = Could become self-aware. attachRules = 1,1,1,1,1 mass = 0.2 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.15 angularDrag = 1.5 crashTolerance = 12 maxTemp = 1200 explosionPotential = 0 vesselType = Probe bulkheadProfiles = size0 crossfeed = true tags = #autoLOC_500342 MODEL { model = REDACTED/Parts/Command/CockpitK2/CockpitK2 } MODULE { name = ModuleCommand minimumCrew = 0 hasHibernation = True defaultControlPointDisplayName = #autoLOC_6011003 RESOURCE { name = ElectricCharge rate = 0.025 } CONTROLPOINT { name = forward displayName = #autoLOC_6011001 orientation = 90,0,0 } CONTROLPOINT { name = reverse displayName = #autoLOC_6011004 orientation = 0,0,180 } } RESOURCE { name = ElectricCharge amount = 1000 maxAmount = 1000 } MODULE { name = ModuleReactionWheel PitchTorque = 300 YawTorque = 300 RollTorque = 300 RESOURCE { name = ElectricCharge rate = 0.05 } } MODULE { name = ModuleSAS SASServiceLevel = 7 } MODULE { name = ModuleAnimateGenericEffects animationName = NlaTrack startEventGUIName = Close Top Hatch endEventGUIName = Open Top Hatch actionGUIName = ToggleBayDoors //defaultActionGroup = Gear layer = 2 deployEffectName = deploy // is the effect(s) which should be played when deploying postDeployEffectName = deployed //is the effect(s) which should be played when deployment is completed postDeployEffectLength = 1 //is how long the post-deployment effect should be played retractEffectName = retract //which should be played when retracting postRetractEffectName = retracted //is the effect(s) which should be played when retractment is completed postRetractEffectLength = 1 //is how long the post-retractment effect should be played animSpeed = 1 } EFFECTS { deploy { AUDIO { channel = Ship clip = REDACTED/Sound/1 volume = 0 0 volume = 2 1 pitch = 1 } AUDIO_LOOP { channel = Ship clip = REDACTED/Sound/2 volume = 0 0 volume = 2 1 pitch = 1 } } deployed { AUDIO { channel = Ship clip = REDACTED/Sound/3 volume = 0 0 volume = 2 1 pitch = 1 } } retract { AUDIO { channel = Ship clip = REDACTED/Sound/4 volume = 0 0 volume = 2 1 pitch = 1 } AUDIO_LOOP { channel = Ship clip = REDACTED/Sound/5 volume = 0 0 volume = 2 1 pitch = 1 } } retracted { AUDIO { channel = Ship clip = REDACTED/Sound/6 volume = 0 0 volume = 2 1 pitch = 1 } } } } // end Note that this script is missing command modules usually used. this is for testing of the animation sound only. This is how she's lookin' so far. Only two wings, a cabin and control surfaces. The Cabin has a top payload door located where the fuel transfer port normally would be. with an attach node inside to allow mounting. Like the Square piston. or a camera etc. Plan to make a Clip-in style fuel port for folks who want to try and git good. lol Here you can see how i left room for a lower payload area to be attached at the bottom. this way i can have the lower profile and have that clearance to put lots of stuff in the main payload area. before moving onto the engines and landing gear. I imagine the gear will be complex due to the spring component. dono yet.
-
looks real crisp Concodroid good work! when danger zone kicks in! Totally worth the copyright strike imo ^.^ I chickened out and used a midi :p Wow, Outstanding ColdJ! Thank you for taking the time to explain all that! That answers all of the questions I had. holy smokes bud! Oh sweet, yeah I was lookin' at that. Nice. So, for example: If you make an engine mount with 4 attach points and toggle on symmetry or mirror, this determines both IF you want it filled and the quantity of nodes needed? I'll have to experiment. So this is why some engines don't mirror on some engine mounts, even if you have the in-game symmetry tool selected to the appropriate setting eh? It's a shame we can't tell ksp to rebuild the mod list with a command line in-game or somthin'. The reason I ask is to save iteration time for testing changes. Bummers it doesn't work that way ^.^ Currently I just drag of the mods in the GameData folder to backup. that speeds up load times for this. I've been spoiled on unity with the ability to edit code while the game runs haha. I feel like I will need to experiment with this to understand this part. Will have to come back when I do. Isn't thunderbird 3 the one that looks like the TinTin Rocket? the red rocket shaped one? couldn't get them to work? maybe related to the building editor? like did you try to build it in the hanger or vab? just thinkin' Just random thinking don't mind me >.< This is outstanding! So good it can't be hidden in a nested code window! Paste this thing on the front page! Excellent! Lots of good stuff packed in here. wow
-
// Comments are what I think the thing does lol PART { name = winglet3 // The string name shown on the UI? module = Part // this is always added automatically and assume i need it. author = NovaSilisko // Not sure where this is used in-game mesh = model.mu // outdated style of pointing to the 3d object scale = 0.2//1 // one of the several scale commands (don't get confused now!) :p rescaleFactor = 0.2//1 // the other scale value. (the one that works?) TechRequired = flightControl // When in story mode this is used (who plays in story mode? :P) entryCost = 4600 // The cost to unlock to the technology cost = 600 // the cost of the actual part category = Aero // not sure where this one is used. is still in parts list if 0? subcategory = 0 // same dono how to use this yet. title = #autoLOC_500226 //#autoLOC_500226 = Delta-Deluxe Winglet //the title of the part in=game on the tab manufacturer = #autoLOC_501630 //#autoLOC_501630 = Kerlington Model Rockets and Paper Products Inc // Fictional company name description = #autoLOC_500227 //#autoLOC_500227 = The Delta-Deluxe Winglet is a large aerodynamic surface with a small built-in aileron. It is very lightweight and offers more lift than the AV-R8 but the small control surface area means it is not as quick to turn. // duh // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,1 // Bool toggle stack usage, bool able to attach onto stuff, bool also toggle stack?, bool allow stuff to attach to it's colider (turn off raycast cull?), somthin' about allowing collisions but not sure in relation to what? (self-collision i think because that's an option in unity) node_attach = 0.4780781, 0.1322544, 0.0, 1.0, 0.0, 0.0 // the origin point to instanciate the object when raycasting on skin // Co ,MO,LO,PO .. Wut? // is this x y z World Position? // Is this x y z Scale? // Is this X Y Z Eurlar Rotation angle (prob not) // what if x Z Y because blender and unity cant just use the same? // what am I actually offsetting? In relation to what? 0? CoMOffset = -0.08, -0.3, 0 CoLOffset = -0.08, -0.3, 0 CoPOffset = -0.08, -0.3, 0 mass = 0.078 // the exsact same mass value used on ridged body compoents in unity? (same super low style value) thermalMassModifier = 8.0 // Not sure what this does. How long it takes to heat and cool maybe? in relation to what? // heatConductivity = 0.06 // half default // Always commented out emissiveConstant = 0.95 // I assume this is used for the emissive texture glow on the shaders? dragModelType = none // uhhh if this used the .collider or some random built in one? hum have to look it up maximum_drag = 0.02 // the drag hard capped using Unity Physics material? forcing the drag value? (hack?) minimum_drag = 0.02 // normally is not the same as max unless you want to force in unity? angularDrag = 5 // also standard part of unity, this is rolling drag right? but only when contacting a collider with physics? crashTolerance = 12 // how strong the part is. or if it breaks when hitting stuff. maxTemp = 2400 // the tempature threshhold of the part that will cause heat damage to occur explosionPotential = 0.1 // if it breaks or explodes? im guessing a precent value between 0 and 1 bulkheadProfiles = srf // used in the in-game sort window that nobody uses due to spam :p // not sure what this tag is for. does not appear to be tags for collision layers? maybe for fuzzy finder in-game? tags = #autoLOC_500228 //#autoLOC_500228 = aero aircraft canard control (elev fin (fore lift plane rocket )rudder stab swept tail MODULE // lots of modules that do stuff (evey possiable value not shown, only things that are used) { name = ModuleControlSurface // the name of the module you want to use useInternalDragModel = True // still not 100% sure on this one dragCoeff = 0.6 // drag coeficent in relation to what? idono so don't touch it ^.^ deflectionLiftCoeff = 0.65 // chaing this value gives more lift lol ctrlSurfaceRange = 25 // The range (in eular angles)? from 0 to high number (over 90 sucks :p) ctrlSurfaceArea = 0.2 // the influance scale of the fin. higher number more push? actuatorSpeed = 25 // the speed of rotation. 1= slow =100 fast (why not seconds? becayse corutines I bet) } MODULE { name = ModuleCargoPart // always delete this cargo stuff. to make less spam (never use personally) But for cargo packedVolume = 800 // the inventory volume taken up by the part } } You know I never noticed how the delta-wing deluxe has numbers on it that don't get reversed haha good stuff doh! one of the first parts i made was a mini delta delux. already time to revisit hehe (looks like i messed up it's origin too haha) The problem with the b2 mirrior is how the geometry is not symmetric or flat. Look at how it sweeps like this along the profile near the tip. Mind you it's a detail that most people wouldn't even notice as the overall shape of the wing is what is iconic. but you know.. details add up. As far as i understand it currently, I would need to swap out models for this kind of mirror to work? That's why I just went ahead and attempted the uni-body style. Could simplify the overall shape and just make it flat. I like the idea of the node points for the fins too. that way folks don't have to fiddle to get exact. In blender I make heavy usage of setting positions and rotations. and use the Cursor tool in combination with Set Origin and stuff. But normally I always reset my rotations to 000 and use Eular rotation angles and don't leave rotations in my models (unless part of an animation obviously) wieard rotating stuff -90 and -180 and leaving it like that intentionally ^.^ (because I don't like offsets when doing logic ) and adding an extra empty means one more object you need to index through in a loop to find the child object. adding processing cost for no reason Is this this MinMax? because it's talkin' about bounce AND friction. but it's only talkin' about friction not DRAG but has similar layout and function. here is the mass and angular drag. the physic material then gets placed into the rigid body. (and uses a default material if you don't add one) but no dynamic control if referencing the default. This is how they've textured the number to mirror. they just paint em' on both sides the same.unless blender is unwrapping the texture .dll according to the .mu's uv and baking it, but i this this is the actual texture. If top-down orthographic, this could be mirrored flat. But this clearly cannot this is flipped 180 NOT mirrored and what the game does. And this is what it needs to be. scaled by -1 mirrior but with flipped uv's
-
Thanks ColdJ. I apologize for skimming the info and overlooking stuff. I tend to do that when I'm on the roll of discovery. I know it can be frustrating to try and communicate stuff when the other guys in a rush. sorry man ^.^ My "normal" environment is Makin' games on Unity using blender as the 3d modeler. I'd say im better at unity then blender just because been doing it longer. I think the rotation thing is throwing me off because I normally adjust my models rotations inside Unity after exporting from Blender. Usually by adding an empty gameObject. So that is sort of the same here for KSP. I think I got it finally though. This is actually part of a larger project that I bit off. The idea was to make an App that can generate the .cfg file for parts without needing to use blender's scripting tab. But before I could do that, I need to learn how to make them from scratch LOL. How each part is kind of the same but not, doesn't help but I feel that it still could be done. even if it feels like a rubegoldbergian project. That's the long game anyways. But ksp2 will be out by then. I wonder what the modding will be like. Basically just need to build a library of all the modules so the user could "add" wings to an .mu But the problem remains of needing to generate the mu. In any case that's not a problem for now. Doesn't help that I'm posting here between boot-ups of the game.. Say, any way to reload the mods (or refresh the parts) without needing to reboot? I do spend my spare time looking through the .cfg and every folder just to see what's going on. to try and get a better understanding of how they've connected their custom code to unity. Like if it was a unity thing like an AudioClip or gameObect I can instantly tell what's going on. But the node_stack_top for example, I'm like "ok acts like a LOD group how you can name it stuff" But for LOD groups the suffix number is key. LOD0 LOD1 LOD2 ect. For the node stack I figured the same. but it works slightly different. This is what happens when you skip the instructions and just start building stuff lol From your example above, it looks like you can just use whatever as a suffix? Names like node_stack_nose1 and node_stack_FG does not follow the same style of naming convention. Mixing the CAPS with the numbered name. Unity, as far as I know does not have a node_stack component like this so it is alien to me. I kind of don't want to go way off in the bushes makin' custom stuff that appears like it's it own thing. Like you don't see any Uni-body style wings in the standard game. they're all the stick-on type. If I start makin' all kinds of stuff without standardizing how it works could confuse any new users. I wouldn't want to do that. sometimes you don't know if the mod is broken just because it works weirdly. But I think for stealth style wings, it would kind of be a bonus if it did not act the same. You know, wouldn't you expect stealth stuff to be a bit more confusing or technical. I would imagine a player would spend more time reading the info tab? Especially if there's a variation that uses the radar jammer module ^.^ But for now, literally everything I make is just a test part to help me figure out how to do this right. Once I feel confident that I can build any part I want without error the first time, then it's time to make stuff for others to consume. Only got back into programming since the covid lockdown back in 2019 so it's takin' a while to shake all that rust off. Shoulda' left the rust on- Cannot tarnish a rusty blade haha I was tryin' to use this as a reference. but looking at the actual .cfg file helps way more Kerbal Space Program: PartModule Class Reference I keep comin' back here and reading what you've all said before and every time I pickup semithin' new. I would imagine it works the same for anyone who finds this from google too! all good stuff. Please don't regard my misunderstanding of stuff as disinterest. ^.^ Thanks for all the help
-
oh awesome thanks bud. With the b2 style wing, I'm tryin' a new thing and just makin' it a regular style tank part with lift. Since the shape of the wing is not symmetrical up and down. uh just dropping the wing is like super duper stable must be doin. somthin wrong lol Can glide at 3m/s? Do you even body lift bruh? seems to kinda work even with no flaps. placement of the nodes is off and scale of wings is too small but still
-
Yeah, outdated sorry. I was uploading in real-time as I was doin' it. lol Here is the end result consolidated. - The full wing is contained within the same folder, using a single texture. It's comprised of the three parts, WingK35, FinK35 and SlatK35. - Simple defuse shader but works nicely for the low glare style paint. Mirrored identically top and bottom so that no artifacts are seen. - For now, the front Slat is basically a reversed fin. add super duper looper control. can pitch 360 going 400m/s on a dime. lol - onboard fuel capacity but also lighter weight than the standard delta. I will deposit the code as well. This is what the hierarchy looks like in blender. Each collection was exported as a separate .mu (but using the same UV map an texture. I do stuff on unity and know all too well about the colliders on there. This darn thing sucks. Imagine if convex hulls just worked? lol But yeah. good tips. This is what the final fin collider looks like before it is exported, and Ngons are added. Just a cube, 4 faces because I hear there's a hard limit on how many faces you can have? This is what it looks like fully loaded with every kind of thing Can take-off at 60 with all that stuff attached lol.. ^.^ Oh and here's a video of 9 AI pilots flying these things simultaneously. if the AI pilot can do it. i call that a win! PART { name = FinK35 module = Part author = REDACTED rescaleFactor = 1 node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1 CoMOffset = 0, -0.215625, 0 CoLOffset = 0, -0.215625, 0 CoPOffset = 0, -0.215625, 0 TechRequired = 0 entryCost = 0 cost = 0 category = 0 subcategory = 0 title = FinK35 manufacturer = REDACTED description = A fin. attachRules = 0,1,0,0,0 mass = 0.01 thermalMassModifier = 8.0 emissiveConstant = 0.95 dragModelType = none maximum_drag = 0.02 minimum_drag = 0.02 angularDrag = 2 crashTolerance = 15 maxTemp = 2400 explosionPotential = 0.1 bulkheadProfiles = srf tags = #autoLOC_500252 MODEL { model = REDACTED/Parts/Aerodynamics/WingK35/FinK35 } MODULE { name = ModuleControlSurface useInternalDragModel = True dragCoeff = 0.25 deflectionLiftCoeff = 0.25 ctrlSurfaceRange = 38 ctrlSurfaceArea = 2.0 //1 actuatorSpeed = 80//30 transformName = FinMesh } } PART { name = SlatK35 module = Part author = REDACTED rescaleFactor = 1 node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1 CoMOffset = 0, -0.215625, 0 CoLOffset = 0, -0.215625, 0 CoPOffset = 0, -0.215625, 0 TechRequired = 0 entryCost = 0 cost = 0 category = 0 subcategory = 0 title = SlatK35 manufacturer = REDACTED description = A Slat. attachRules = 0,1,0,0,0 mass = 0.01 thermalMassModifier = 8.0 emissiveConstant = 0.95 dragModelType = none maximum_drag = 0.02 minimum_drag = 0.02 angularDrag = 2 crashTolerance = 15 maxTemp = 2400 explosionPotential = 0.1 bulkheadProfiles = srf tags = #autoLOC_500252 MODEL { model = REDACTED/Parts/Aerodynamics/WingK35/SlatK35 } MODULE { name = ModuleControlSurface useInternalDragModel = True dragCoeff = 0.25 deflectionLiftCoeff = 0.25 ctrlSurfaceRange = 20 ctrlSurfaceArea = 1.0 actuatorSpeed = 30 transformName = SlatMesh } } PART { name = WingK35 module = Part author = REDACTED rescaleFactor = 1 node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1 CoMOffset = -1.6, -0.4, 0 CoLOffset = -1.6, -0.4, 0 CoPOffset = -1.6, -0.4, 0 TechRequired = 0 entryCost = 0 cost = 0 category = 0 subcategory = 0 title = WingK35 manufacturer = REDACTED description = A wing. attachRules = 0,1,0,1,1 mass = 0.05 //.5 thermalMassModifier = 8.0 heatConductivity = 0.06 emissiveConstant = 0.95 dragModelType = none maximum_drag = 0.02 minimum_drag = 0.02 angularDrag = 2 crashTolerance = 15 maxTemp = 2400 explosionPotential = 0.1 fuelCrossFeed = True bulkheadProfiles = srf tags = #autoLOC_500207 MODEL { model = REDACTED/Parts/Aerodynamics/WingK35/WingK35 } MODULE { name = ModuleLiftingSurface useInternalDragModel = True deflectionLiftCoeff = 5.0 dragAtMaxAoA = 0.6 dragAtMinAoA = 0.0 } RESOURCE { name = LiquidFuel amount = 0 maxAmount = 300 } }
-
Awsome tips thanks JadeOMarr. The last time I had worked on this wing, I started off by tryin' to make the base wing first and apply the fins as a separate part. but since I had the root wing not workin' the fins would not apply correctly. Never really looked into how the lift system works and now I'm payin' for it haha And I love that OPT mod btw. lots of cool parts. oh! forgot about decals, I use those all the time in HDRP Doh >.< okay there's actually a system that switches out models for mirrored objects and I'm not just imagining things. beauty good to keep in mind for now. Clearly it's easy enough to just use regular ol' mirrored uv textures. for basic wings anyhow. Don't need to get crazy just yet with custom switch-outs. but good to know there's a thing for that. beauty. This is what the current wing that works? looks like in the VAB. can't be the root object as per attach instructions Can see that I'm basically copy pasting the delta wing here PART { name = WingK35 module = Part author = REDACTED rescaleFactor = 1 node_attach = 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1 CoMOffset = -1.6, -0.4, 0 CoLOffset = -1.6, -0.4, 0 CoPOffset = -1.6, -0.4, 0 TechRequired = 0 entryCost = 0 cost = 0 category = 0 subcategory = 0 title = WingK35 manufacturer = REDACTED description = A wing. attachRules = 0,1,0,1,1 mass = 0.5 thermalMassModifier = 8.0 heatConductivity = 0.06 emissiveConstant = 0.95 dragModelType = none maximum_drag = 0.02 minimum_drag = 0.02 angularDrag = 2 crashTolerance = 15 maxTemp = 2400 explosionPotential = 0.1 fuelCrossFeed = True bulkheadProfiles = srf tags = #autoLOC_500207 MODEL { model = REDACTED/Parts/Aerodynamics/WingK35/WingK35 } MODULE { name = ModuleLiftingSurface useInternalDragModel = True deflectionLiftCoeff = 5.0 dragAtMaxAoA = 0.6 dragAtMinAoA = 0.0 } RESOURCE { name = LiquidFuel amount = 0 maxAmount = 300 } } But when dropped it falls like you'd think it should like a leaf. But yeah here's the ControlSurf rotating the flaps not using local rotations.. booooooo Maximum wootage! Splitting the fins out was the way to go. works great now. awesome handling and speed whahooo