

JeBuSBrian
Members-
Posts
106 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by JeBuSBrian
-
[0.21][Parts Pack]Deep Space Mission Pack - Now open source!
JeBuSBrian replied to kockaspiton's topic in KSP1 Mod Releases
If it's just the cfg's and you're worried about putting up a zip somewhere, you can always post them as code on the forum. I'm fairly certain the cfg's have the most lenient rules for reposting. -
[0.90] Magic Smoke Industries Infernal Robotics - 0.19.3
JeBuSBrian replied to sirkut's topic in KSP1 Mod Releases
Tested the washers, and they work great. I have a question / request, though. How come they don't have an action group thing for toggle / engage / disengage lock? Sometimes I want to lock down everything all at once, so I can then unlock only 1 part in a group. Is this something that can be added through cfg? -
Don't include the hashtag or anything following it, though. That seems to force scrollbars. If you could go back and edit that out of your first post, it would make things look and work better. Rather than: JRupN#0 You should have: JRupN
-
[WIP] THSS - Tri-Hexagonal Structural Strut
JeBuSBrian replied to Semni's topic in KSP1 Mod Development
So while in the process of creating my own space station using these parts, I made some modifications to the files. Basically, I wanted the cube strut tunnels (and anything else I had a mind for) to connect to all of those corridors in the OSS parts. By default, the only attachment nodes were on the ends in the center. That worked fine for large OSS parts, but it didn't allow the tunnels to connect to tunnels. Well... I fixed that. Behold! Here's a link to the cfg's I made: JARFR_HOSS-More_Nodes_v01 Enjoy! Semni / Bluegobln / whoever, feel free to include these changes as you feel fit. I don't even need credit, since this was 99% your work. I really wish THSS had some elbow corridors. Had to go elsewhere for those. Also, while I'm making suggestions / requests... Adaptrons with straight corridors would be awesome. Make 'em just like the existing ones, but keep the tunnels flat along one side. Make a straight shot through to the next thing. Oh, and a cargo bay the same length as the largest cargo container. Essentially 3x the length it is currently. I tried doing a simple rescale, but it looks all wrong with the stretching. As for my Space Station, here's my progress so far. -
[WIP] THSS - Tri-Hexagonal Structural Strut
JeBuSBrian replied to Semni's topic in KSP1 Mod Development
I am also building a station using these parts. My frustration level is rising though, because of the different part lengths (height?) not matching one another. It's hard to build symmetrically when that happens. It would be nice if the cubes, for instance, were actually cubic. When the cube strut splitter tube has 2 sides that are different lengths than the other four, it throws things off. You can rotate another tunnel to line it up, but that still leaves a gap if you split again. Same thing goes for the tri-hexes. It would be nice if its splitters matched up to the cubes properly in height. Add in the new octo parts, and you've got yourself a headache. Considering the parts are all distributed together, one would expect a certain degree of interoperability between the different sets. There should be a plan in place that the length of (N) CubeStrutTubes = the length of (1) OctoStrutCargo, for instance. If that ends up being 1:1, great! If it ends up being 2:1 or 3:1, fine! Just so long as there is some combination of parts that will make the lengths match. But if the length of 1 OctoStrutCargo = 1.13 CubeStrutTubes (for example), there's no way to match them up. Or even worse, as it is now, 1 OctoStrutCargo = 1.13 CubeStrutTubes, except when you rotate it and it changes to 1.17 CubeStrutTubes. Whatever metric system you're using, they should match, being internally consistent. As it is, I have to make a hodge-podge of adapters and shivs to make the lengths match. Which sucks, because... I really like these parts! I want to use them for everything, but I have to fight them to do it. Please standardize your parts, I beg you! -
The problem, Nazari1382, is that this is the release forum. As such, people expect releases. It's got nothing to do with any specific user's preferences, but the forum rules.
-
I've fiddled with the numbers a bit more and here's where I'm sitting currently. Nacelle with a full range of fuel options: warp1 { ADD { MODULE { name = ModuleEngineConfigs configuration = LiquidFuel+Oxidizer (4000 Thrust, 3000 Isp) modded = false CONFIG { name = LiquidFuel+Oxidizer (4000 Thrust, 3000 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 4000 heatProduction = 350 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 3000 key = 1 3000 } } CONFIG { name = LiquidFuel+LiquidOxygen (4285 Thrust, 3045 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 4285 heatProduction = 350 PROPELLANT { name = LiquidFuel ratio = 0.85 DrawGauge = True } PROPELLANT { name = LiquidOxygen ratio = 1.15 } atmosphereCurve { key = 0 3045 key = 1 3045 } } CONFIG { name = LiquidH2+LiquidOxygen (3715 Thrust, 3760 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 3715 heatProduction = 350 PROPELLANT { name = LiquidH2 ratio = 1.73 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.27 } atmosphereCurve { key = 0 3760 key = 1 3760 } } CONFIG { name = Kilithium+AntiMatter (5000 Thrust, 4000 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 5000 heatProduction = 350 PROPELLANT { name = Kilithium ratio = 0.02 DrawGauge = True } PROPELLANT { name = AntiMatter ratio = 0.99 } PROPELLANT { name = LiquidH2 ratio = 0.99 } atmosphereCurve { key = 0 4000 key = 1 4000 } } } MODULE { name = ModuleAlternator RESOURCE { name = ElectricCharge rate = 1.0 } } } REPLACE { MODULE { name = ModuleEngines thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 4000 heatProduction = 350 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 3000 key = 1 3000 } } } } A fuel tank for testing purposes: fuelTank { REMOVE { RESOURCE = LiquidFuel RESOURCE = Oxidizer } ADD { MODULE { name = ModuleFuelTanks volume = 400 basemass = 0.125 TANK { name = LiquidH2 } TANK { name = AntiMatter } TANK { name = Kilithium } TANK { name = LiquidOxygen } TANK { name = LiquidFuel } TANK { name = Oxidizer } } RESOURCE { name = LiquidH2 amount = 198 maxAmount = 400 } RESOURCE { name = AntiMatter amount = 198 maxAmount = 400 } RESOURCE { name = Kilithium amount = 4 maxAmount = 400 } } } Resources RESOURCE_DEFINITION { name = LiquidH2 density = 0.001 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP } RESOURCE_DEFINITION { name = AntiMatter density = 0.001 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP } RESOURCE_DEFINITION { name = Kilithium density = 0.0435 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP } RESOURCE_DEFINITION { name = LiquidOxygen density = 0.00713 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP } RESOURCE_DEFINITION { name = LiquidFuel density = 0.005 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP } RESOURCE_DEFINITION { name = Oxidizer density = 0.00875 flowMode = STACK_PRIORITY_SEARCH transfer = PUMP }
-
I'm assuming the game itself uses one of the DXT formats. Those are often 30-50% less efficient at compression than zip. KSP has a whole lot of memory issues at the moment, which the devs say they're working on.
-
Well, it's hardly pretty, not at all user-friendly, and has almost no exception handling because it was only meant for myself, but here's the code: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace KerbalModularization { static class ModularMechJeb { /// <summary> /// Searches through a directory to find any command modules, adds /// MechJeb to them via modular config file. /// </summary> /// <param name="inDirectory"> /// Full path of the directory to search through. /// Can be KSP's Parts folder, or a single part folder. Will search /// all subfolders. /// </param> /// <param name="outCfgFile"> /// Full path of the output .cfg file. This should be /// KSP/PluginData/moduleManager/ /// </param> public static void Modularize(string inDirectory, string outCfgFile) { DirectoryInfo di = new DirectoryInfo(inDirectory); List<FileMatches> lstFileMatches = AnalyzeConfigs(di); MakeModularConfig(outCfgFile, lstFileMatches); } static List<FileMatches> AnalyzeConfigs(DirectoryInfo directory) { if (!directory.Exists) return default(List<FileMatches>); List<FileMatches> lstFileMatches = new List<FileMatches>(); foreach (DirectoryInfo partdir in directory.EnumerateDirectories()) { foreach (string filename in Directory.EnumerateFiles(partdir.FullName, "*.cfg", SearchOption.TopDirectoryOnly)) { using (StreamReader sr = File.OpenText(filename)) { string cfgText = sr.ReadToEnd(); bool isPod = cfgText.Contains("category = Pods"); if (isPod) { List<Match> matches = GetUnNestedModules(cfgText); FileMatches fm = new FileMatches() { File = new FileInfo(filename), Matches = matches, }; lstFileMatches.Add(fm); } } } } return lstFileMatches; } static List<Match> GetUnNestedModules(string cfgText) { string pattern = "MODULE"; List<Match> matches = new List<Match>(); MatchCollection mc = Regex.Matches(cfgText, pattern); foreach (Match m in mc) { int numOpenBracesAfter = GetInstancesOfChar(cfgText.Substring(m.Index), '{'); int numCloseBracesAfter = GetInstancesOfChar(cfgText.Substring(m.Index), '}'); bool nested = numOpenBracesAfter < numCloseBracesAfter; //Debug.WriteLine("@Index: {0} - Nested: {1}", m.Index, nested); if (!nested) matches.Add(m); } return matches; } static int GetInstancesOfChar(string str, char chr) { char[] testchars = str.ToCharArray(); int count = 0; for (int n = testchars.Length - 1; n >= 0; n--) { if (testchars[n] == chr) count++; } return count; } static void MakeModularConfig(string filename, List<FileMatches> lstFileMatches) { StringBuilder sb = new StringBuilder(); foreach (FileMatches fm in lstFileMatches) { string cfgText = ""; using (StreamReader sr = File.OpenText(fm.File.FullName)) { cfgText = sr.ReadToEnd(); } if (fm.Matches.Count == 0) continue; List<Module> modules = new List<Module>(fm.Matches.Count); foreach (Match m in fm.Matches) { Module mod = GetModule(cfgText.Substring(m.Index)); if (mod.Name == "ModuleCommand") modules.Add(mod); } if (modules.Count == 0) continue; Module command = modules[0]; string partName = GetParameterValue(cfgText, "name").Replace('_', '.'); string t1 = "\t"; string t2 = "\t\t"; string t3 = "\t\t\t"; string t4 = "\t\t\t\t"; sb.AppendLine(partName); sb.AppendLine("{"); sb.AppendLine(t1 + "REPLACE"); sb.AppendLine(t1 + "{"); sb.AppendLine(t2 + "MODULE"); sb.AppendLine(t2 + "{"); sb.AppendLine(t3 + "name = ModuleCommand"); sb.AppendLine(t3 + "minimumCrew = " + command.MinimumCrew); sb.AppendLine(t3 + "RESOURCE"); sb.AppendLine(t3 + "{"); sb.AppendLine(t4 + "name = ElectricCharge"); sb.AppendLine(t4 + "rate = 0.005"); sb.AppendLine(t3 + "}"); sb.AppendLine(t2 + "}"); sb.AppendLine(t1 + "}"); sb.AppendLine(""); sb.AppendLine(t1 + "ADD"); sb.AppendLine(t1 + "{"); sb.AppendLine(t2 + "MODULE"); sb.AppendLine(t2 + "{"); sb.AppendLine(t3 + "name = MechJebCore"); sb.AppendLine(t2 + "}"); sb.AppendLine(t1 + "}"); sb.AppendLine("}"); sb.AppendLine(""); string module = sb.ToString(); } using (StreamWriter sw = File.CreateText(filename)) { sw.Write(sb); } } static string GetParameterValue(string cfgText, string parameter) { parameter = parameter + " = "; int idxParameter = NthIndexOf(cfgText, parameter, 1); if (idxParameter == -1) return ""; string subString = cfgText.Substring(idxParameter); int idxNewLine = NthIndexOf(subString, Environment.NewLine, 1); string value = subString.Substring(parameter.Length, idxNewLine - parameter.Length); return value; } static Module GetModule(string cfgText) { string strName = GetParameterValue(cfgText, "name"); if (strName != "ModuleCommand") return default(Module); string strMinimumCrew = GetParameterValue(cfgText, "minimumCrew"); int minCrew = 0; Int32.TryParse(strMinimumCrew, out minCrew); Module m = new Module() { Name = strName, MinimumCrew = minCrew, }; return m; } static int NthIndexOf(string text, char searchChar, int nthindex) { int index = -1; try { var takeCount = text.TakeWhile(x => (nthindex -= (x == searchChar ? 1 : 0)) > 0).Count(); if (takeCount < text.Length) index = takeCount; } catch { } return index; } static int NthIndexOf(string text, string searchText, int nthindex) { int index = -1; try { Match m = Regex.Match(text, "((" + searchText + ").*?){" + nthindex + "}"); if (m.Success) index = m.Groups[2].Captures[nthindex - 1].Index; } catch { } return index; } class FileMatches { public FileInfo File { get; set; } public List<Match> Matches { get; set; } } public struct Module { public string Name { get; set; } public int MinimumCrew { get; set; } } } } To use it, I simply did this inside a WPF app's initialization, but you can also do it in a console program's main method if you like: ModularMechJeb.Modularize(@"C:\Users\Mine\Desktop\B9\Parts", @"C:\Users\Mine\Desktop\B9\B9_modularMechJeb.cfg"); At some point I should get around to making an actual user-friendly app, but I wouldn't hold my breath if I were you. I hate the process of writing safe, user-friendly code, and I avoid it as often as I can. Especially when it's only for me.
-
[WIP] THSS - Tri-Hexagonal Structural Strut
JeBuSBrian replied to Semni's topic in KSP1 Mod Development
Wow, looks like a match made in heaven! Maybe these two guys should put their heads together. -
Seems a little more modern than a P-51. And I'm pretty sure the intake on a P-51 is further aft, though that may only have been on certain models.
-
The key thing is to keep the aspect ratio the same. So a 1024x1024 texture would map identically to a 512x512 or 256x256. If you start messing with the aspect ratio, things start to stretch oddly. Not to mention, I'm not even sure if KSP supports non-power-of-two texture sizes.
-
That would be a strange behavior, considering any UV coordinate system I've ever seen has used a float range from 0.0 to 1.0. In other words, it's based off percentages, not pixels. Therefore, resizing a texture should have no effect on UV coordinates. That being said, with all the poor coding I've seen regarding resource usage in KSP, it wouldn't surprise me if Squad somehow managed to muck that up as well. At least you were nice enough to edit out your snarky opening comment, though be warned, when you subscribe to the thread with instant notification, you get the original message, however much you don't want that to be seen.
-
When making recruitment pitches like this, it's always best to sell yourself. Tell the people you want to join just how useful you are. Tell them what your strengths are, what you bring to the table. Then tell them what you want to accomplish. Otherwise, it just looks like all the other people who just say: "I'm the idea guy. The rest of you do the work." Also, it doesn't inspire confidence when your team leader can't even type out full words like "please," or "you're."
-
One thing you could do is to manually extract the textures and lower the image dimensions. Then edit the .mu to point at your new texture. I won't guarantee that you'll save much memory that way, since I haven't done it on an entire mod-pack like KW. But I've done it on individual parts, and the process works, at any rate. Question: would it be useful to have a tool which does this for you? Extract the textures, resize to 1/2 or 1/4 of the original size, then edit the parts to use the new textures? Theoretically it might also reduce loading time, since there would be less pixels for the game to have to compress at load time.
-
[0.90] Procedural Dynamics - Procedural Wing 0.9.3 Dec 24
JeBuSBrian replied to DYJ's topic in KSP1 Mod Releases
I've been working on that on and off this past week, but I didn't want to announce anything prematurely, since it still crashes on me far too often. Gotta look into that. I'll have to compare my code to DYJ's, I think. -
Looks like the chamber that held the Omega Particle in Voyager. I have no objection to that. I've seen some tanks using symbols for the various fuels. Might something like this work?
-
Yes, that's true, and I now understand that this is obviously how KSP operates and interprets density. So now I need to go post in the modular fuel tanks thread to point out that this system, as the original poster imagined, does not work. Because resource density is not d = m/v, rather d = e/v.
-
So I think I'm misunderstanding how propellant ratios and densities work, because the behavior I'm seeing vs the behavior I expect is completely opposite. I'm using the modular fuel tanks mod to set different volumes for fuel, and things just aren't adding up. I'm also using a modified engine for testing purposes, granting it high thrust and isp. Let me lay out the first test case to serve as a baseline. Resources - LiquidH2 density = 0.0001 // LH2 is super-light Oxidizer density = 0.01 // Make this 100x heavier for the sake of testing Engine Propellants - LiquidH2 ratio = 0.5 // 50% LH2 Oxidizer ratio = 0.5 // 50% H2O2 Fuel Tank - Volume = 2000 Dry Mass = 0.625 LH2 Mass @ 1000 = 1 H2O2 Mass @ 1000 = 10 Total Mass = 11.625 Fuel after achieving orbit - LH2 = 500 H202 = 500 What I expect, all else being equal, is that by lowering the density of Oxidizer, I'll achieve orbit with more fuel onboard, because it will weigh less at launch. These tests all use MechJeb2 launch autopilot for repeatability, limited to escape velocity, with corrective steering enabled. Test Case #1: Lighter H2O2 Resources - LiquidH2 density = 0.0001 // LH2 is super-light Oxidizer density = 0.0001 // 100x LESS dense than before Engine Propellants - LiquidH2 ratio = 0.5 // 50% LH2 Oxidizer ratio = 0.5 // 50% H2O2 Fuel Tank - Volume = 2000 Dry Mass = 0.625 LH2 Mass @ 1000 = 1 H2O2 Mass @ 1000 = 1 Total Mass = 2.625 Fuel after achieving orbit - NaN : Does not achieve orbit. Fuel depleted before 3400 meters. Test Case #2: Heavier H2O2 Resources - LiquidH2 density = 0.0001 // LH2 is super-light Oxidizer density = 0.1 // 10x MORE dense than before (100x simply will not get off the launchpad) Engine Propellants - LiquidH2 ratio = 0.5 // 50% LH2 Oxidizer ratio = 0.5 // 50% H2O2 Fuel Tank - Volume = 2000 Dry Mass = 0.625 LH2 Mass @ 1000 = 1 H2O2 Mass @ 1000 = 100 Total Mass = 101.625 Fuel after achieving orbit - NaN : Does not achieve orbit. Weight causes instability at 25000 meters; catastrophic failure with 80%+ fuel remaining. Now, this suggests to me that the engines use the resource density as some sort of energy coefficient. If test case #2 wasn't unstable in flight, I believe it could have gotten up enough dV to leave the Kerbal System altogether. It's almost as though the game sees not mass per volume in the density parameter, but energy per volume. I did not record the fuel usage rate, but I do recall seeing single / double digits in baseline, triple digits in lighter, and single digits in heavy. Can someone else please test this so I don't go on thinking I'm crazy. Or am I just doing this all wrong?
-
So here are my thoughts on KerbTrek resources. I'm using ialdabaoth's Modular Parts plugin to make this simply a drop-in addition to your mod, without changing any of your files. Resources What I've done is make 3 resources: LiquidH2, AntiMatter, and Kilithium. H2 and AM are what the reactor actually combines for energy. Kilithium is simply used, as in Trek, to stabilize the reaction. RESOURCE_DEFINITION { name = LiquidH2 density = 0.000444 // LH2 is super-light flowMode = ALL_VESSEL transfer = PUMP } RESOURCE_DEFINITION { name = AntiMatter density = 0.000444 // We'll assume this is the anti-equivalent of LiquidH2 flowMode = ALL_VESSEL transfer = PUMP } RESOURCE_DEFINITION { name = Kilithium density = 0.019314 // Trek Dilithium is roughly 87x more massive than hydrogen, or 43.5x more massive than LiquidH2 flowMode = ALL_VESSEL transfer = PUMP } Modular Parts What I've done here is converted your original LFO mix to the modular parts spec. I've also added the M-AM+Kilithium reaction as an additional fuel configuration. I gave this reaction a 25% boost over the LFO mix, though both will probably need to be changed for balance. warp1 { ADD { MODULE { name = ModuleEngineConfigs configuration = LiquidFuel+Oxidizer (4000 Thrust, 3000 Isp) modded = false CONFIG { name = LiquidFuel+Oxidizer (4000 Thrust, 3000 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 4000 heatProduction = 350 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 3000 key = 1 3000 } } CONFIG { name = Kilithium+AntiMatter (5000 Thrust, 4000 Isp) thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 5000 heatProduction = 350 PROPELLANT { name = Kilithium ratio = 0.2 DrawGauge = True } PROPELLANT { name = AntiMatter ratio = 0.9 } PROPELLANT { name = LiquidH2 ratio = 0.9 } atmosphereCurve { key = 0 4000 key = 1 4000 } } } MODULE { name = ModuleAlternator RESOURCE { name = ElectricCharge rate = 1.0 } } } REPLACE { MODULE { name = ModuleEngines thrustVectorTransformName = thrustTransform ehxaustDamage = false ignitionThreshold = 0.1 minThrust = 0 maxThrust = 4000 heatProduction = 350 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 3000 key = 1 3000 } } } } Here is the kethane conversion modular spec. These will also need to be balanced. I can't say that these numbers are anything but arbitrarily picked out of thin air, based only loosely on the existing kethane resource conversion values. Kilithium is rare, so I made it the most inefficient I could bear. AntiMatter is also inefficient, simply because it's an unnatural state in comparison to everything else. LiquidH2, well... that you should get buckets-full of. kethane.2m.converter { ADD { MODULE { name = KethaneConverter TargetResource = Kilithium ConversionEfficiency = 0.1 KethaneConsumption = 20 PowerConsumption = 20 HeatProduction = 1500 } MODULE { name = KethaneConverter TargetResource = LiquidH2 ConversionEfficiency = 0.99 KethaneConsumption = 16.5 PowerConsumption = 10 HeatProduction = 700 } MODULE { name = KethaneConverter TargetResource = AntiMatter ConversionEfficiency = 0.3 KethaneConsumption = 20 PowerConsumption = 20 HeatProduction = 1500 } } } MMI.K.Converter.Medium { ADD { MODULE { name = KethaneConverter TargetResource = Kilithium ConversionEfficiency = 0.09 KethaneConsumption = 6.6 PowerConsumption = 10 HeatProduction = 750 } MODULE { name = KethaneConverter TargetResource = LiquidH2 ConversionEfficiency = 0.9 KethaneConsumption = 5.5 PowerConsumption = 5 HeatProduction = 350 } MODULE { name = KethaneConverter TargetResource = AntiMatter ConversionEfficiency = 0.27 KethaneConsumption = 6.6 PowerConsumption = 10 HeatProduction = 750 } } } Thoughts? Concerns? Me blowing smoke? Edit: Also need to start thinking about storage tanks. AntiMatter Containment Pod... what do those look like?
-
I laughed out loud at "kilithium." You absolutely must do that! Or... give me to the end of the day and I might do it for you.
-
TBryson2, all you need to do is find out which formats you can export to, then compare that to the list of formats Unity can import. If you get a match, then it'll work. If not, you may need to look for some sort of conversion.