-
Posts
416 -
Joined
-
Last visited
-
Days Won
8
Content Type
Profiles
Forums
Gallery
Downloads
Store
Everything posted by mue
-
View File LOD Exporter for Blender I tried to implement the exporter only based on the information I found by investigating LOD files. I'm not a 3D Modeler myself. I only tested the exporter with rather simple object (hierarchies). The bottom line is that I have no idea if the exporter works for you. So please give feedback. Note: This plugin requires blender version 2.78 or 2.79. It is not compatible with blender versions 2.8+. 1.) Installation Open the Blender User Preferences - Add-ons Tab (File -> User Preferences... -> Add-Ons) Click "Install from File..." Browse to and select the exporter python script "io_export_sf2_lod.py" Click "Install from File..." (or double click on the script name) In the Add-Ons Tab under Supported Level select Testing and enable "Import-Export: Strike Fighters 2 LOD Exporter" The LOD exporter is now installed and enabled. Under File -> Export you should see the menu item "Strike Fighters 2 LOD (.lod)". It's greyed out until an exportable object is selected. 2.) Usage Select the object you want to export and click File -> Export -> Strike Fighters 2 LOD (.lod) The file browser opens. In the lower left area you see the LOD exporter options: -enable/disable writing the out file (text file with information about the exported object(s)). -enable/disable animation export -allow decals: This option is similar to the option in the original TW-Exporter: "Exporting using AllowDecals=0 causes the vertex to be shared, so it can reduce the size of the .LOD but also causes decals to "bleed" along the edges." This dialog setting is used as default for all objects to be exported. However, it can be overwritten by each individual object via the custom object property "AllowDecals" = 0(false) or 1(true) The selected object and all child objects are exported. Two custom object properties are supported by the exporter: -AllowDecals = 0 or 1, This option is similar to the option in the original TW-Exporter: "Exporting using AllowDecals=0 causes the vertex to be shared, so it can reduce the size of the .LOD but also causes decals to "bleed" along the edges." -UseFlatNormal = 0 or 1, if set to 1 then all vertex normals are pointing straight up (normal = (0,0,1)) in the objects local coordinate system. Please note! The objects must meet the following requirements: -No scaling in the Transform Properties allowed (that means: scale x = y = z = 1.0). If your object has scaling, it should be applied to the mesh (Ctrl-A) Scaling is only allowed for animations. -A material must be assigned to the object. Only the first material of an object is exported. The following material parameters are exported: -Diffuse Color (the lod file format also contains ambient color. Currently the exporter set ambient color = diffuse color) -Specular Color -Specular Intensity -Specular Hardness (I think in 3ds Max it's called glossiness) -if "Shading -> Emit" > 0.0 then self illumination is enabled -Transparency (if transparency is enabled, then the object doesn't cast and doesn't catch shadow. if transparency is disabled, then the object cast and catch shadow. The specific LOD format version the exporter writes, doesn't support arbitrary cast/catch shadow combinations. The other LOD formats I don't understand enough (yet). Sorry!) -Alpha -Mirror Reflectivity -Diffuse texture image name (as diffuse texture the exporter uses the texture where "Influence -> Diffuse -> Color" is enabled) -Normal map texture image name("Influence -> Geometry -> Normal" is enabled and the Normal value is also exported) -Specular map texture image name("Influence -> Specular -> Intensity" is enabled) -Normal and specular map can only be used together with a diffuse map. (If I exported a normal or specular map without diffuse map, then the LOD wasn't shown in the game or the game crashed. I don't know why...) Animation Export: This exporter supports the following object animation types: location, rotation and scaling. Frames 10, 20, 30, ..., 100 are exported as animation 1 Frames 110, 120, 130, ..., 200 are exported as animation 2, ... 3.)Credits: Thanks to logan4 and angelp who provided me with specific lod files that helped me to understand the lod file format better. 4.)Changelog: Version 0.1: -initial release Version 0.2: -bugfix: didn't work in blender version 0.79 Version 0.3: -animation support -added custom object properties: "AllowDecals" and "UseFlatNormal" Update 29.03.2025: I think it's best for the community if my tools are freely downloadable for everyone. External download link: https://www.dropbox.com/scl/fi/71mc5oztx01xer7m2eq71/io_export_sf2_lod.py?rlkey=aid9klb0azyfu5tm2t7a3q7pc&st=n60cb7n0&dl=0 Submitter mue Submitted 04/30/2018 Category Utilities / Editors
-
Version 0.3
482 downloads
I tried to implement the exporter only based on the information I found by investigating LOD files. I'm not a 3D Modeler myself. I only tested the exporter with rather simple object (hierarchies). The bottom line is that I have no idea if the exporter works for you. So please give feedback. Note: This plugin requires blender version 2.78 or 2.79. It is not compatible with blender versions 2.8+. 1.) Installation Open the Blender User Preferences - Add-ons Tab (File -> User Preferences... -> Add-Ons) Click "Install from File..." Browse to and select the exporter python script "io_export_sf2_lod.py" Click "Install from File..." (or double click on the script name) In the Add-Ons Tab under Supported Level select Testing and enable "Import-Export: Strike Fighters 2 LOD Exporter" The LOD exporter is now installed and enabled. Under File -> Export you should see the menu item "Strike Fighters 2 LOD (.lod)". It's greyed out until an exportable object is selected. 2.) Usage Select the object you want to export and click File -> Export -> Strike Fighters 2 LOD (.lod) The file browser opens. In the lower left area you see the LOD exporter options: -enable/disable writing the out file (text file with information about the exported object(s)). -enable/disable animation export -allow decals: This option is similar to the option in the original TW-Exporter: "Exporting using AllowDecals=0 causes the vertex to be shared, so it can reduce the size of the .LOD but also causes decals to "bleed" along the edges." This dialog setting is used as default for all objects to be exported. However, it can be overwritten by each individual object via the custom object property "AllowDecals" = 0(false) or 1(true) The selected object and all child objects are exported. Two custom object properties are supported by the exporter: -AllowDecals = 0 or 1, This option is similar to the option in the original TW-Exporter: "Exporting using AllowDecals=0 causes the vertex to be shared, so it can reduce the size of the .LOD but also causes decals to "bleed" along the edges." -UseFlatNormal = 0 or 1, if set to 1 then all vertex normals are pointing straight up (normal = (0,0,1)) in the objects local coordinate system. Please note! The objects must meet the following requirements: -No scaling in the Transform Properties allowed (that means: scale x = y = z = 1.0). If your object has scaling, it should be applied to the mesh (Ctrl-A) Scaling is only allowed for animations. -A material must be assigned to the object. Only the first material of an object is exported. The following material parameters are exported: -Diffuse Color (the lod file format also contains ambient color. Currently the exporter set ambient color = diffuse color) -Specular Color -Specular Intensity -Specular Hardness (I think in 3ds Max it's called glossiness) -if "Shading -> Emit" > 0.0 then self illumination is enabled -Transparency (if transparency is enabled, then the object doesn't cast and doesn't catch shadow. if transparency is disabled, then the object cast and catch shadow. The specific LOD format version the exporter writes, doesn't support arbitrary cast/catch shadow combinations. The other LOD formats I don't understand enough (yet). Sorry!) -Alpha -Mirror Reflectivity -Diffuse texture image name (as diffuse texture the exporter uses the texture where "Influence -> Diffuse -> Color" is enabled) -Normal map texture image name("Influence -> Geometry -> Normal" is enabled and the Normal value is also exported) -Specular map texture image name("Influence -> Specular -> Intensity" is enabled) -Normal and specular map can only be used together with a diffuse map. (If I exported a normal or specular map without diffuse map, then the LOD wasn't shown in the game or the game crashed. I don't know why...) Animation Export: This exporter supports the following object animation types: location, rotation and scaling. Frames 10, 20, 30, ..., 100 are exported as animation 1 Frames 110, 120, 130, ..., 200 are exported as animation 2, ... 3.)Credits: Thanks to logan4 and angelp who provided me with specific lod files that helped me to understand the lod file format better. 4.)Changelog: Version 0.1: -initial release Version 0.2: -bugfix: didn't work in blender version 0.79 Version 0.3: -animation support -added custom object properties: "AllowDecals" and "UseFlatNormal" Update 29.03.2025: I think it's best for the community if my tools are freely downloadable for everyone. External download link: https://www.dropbox.com/scl/fi/71mc5oztx01xer7m2eq71/io_export_sf2_lod.py?rlkey=aid9klb0azyfu5tm2t7a3q7pc&st=n60cb7n0&dl=0 -
What do you mean by "configure the models"? Do you mean defining/simulating aircraft systems, avionics,...? Then it's dependent on the game/simulation engine you are using, e.g: -In the SF/SF2 game engine the aircraft systems are not defined by a scripting language but by configuration (*.ini) files. -The Digital Combat Simulator uses LUA as scripting language. -The open source flight simulator Flightgear uses it's own scripting language NASAL. But if you mean a scripting language that supports the 3d modelling? Then it's dependent on the 3D model software you are using, e.g Blender uses Python.
-
Ok, I've put it on my todo list.
-
Do you mean using more than 999 target areas with SF2NA? I don't know if any of the SF2 games can handle that number of target areas.
-
I really hope flightsimlabs gets sued. What they did was very unethical and illegal. I'm a software developer myself and I know piracy is a problem, but I would never ever install malware on my customers computers. And even if the malware was targeted only at pirates, thats not the point. It's illegal. Period! The companys CEO even doesn't see the problem. He appologized not because he has done something unethical and illegal but because some customers may have been offended. I would never trust this guy. It seems he was also involved in the "PMDG MD-11 drm destroys fsx installation" stuff.
-
The time complexity of the lookup in a table with a fixed data interval is constant. That means the number of entries in the table shouldn't matter.
-
I don't see what the problem with a fixed data intervall is, other than that you have to also input high resolution data in the "uninteresting" not much varying Mach areas. Or is it, that the game engine can't handle high resolution tables in general?
-
I don't think there is a simple analytical solution for this. To create E-M-diagrams you have to fly the aircraft at the altitudes you are interested in over the whole velocity range. For different velocities you then determine the max g you can pull in a level turn. From g and true airspeed you can then determine the turn rate and radius at that velocity. To help gathering this data, this is there my proposed tool for postprocessing the debug hud output can come handy.
-
Thank you very much for the information! So it seems, the only way to get the flight data from the game engine is to observe and manually note the desired flight data parameter from the hud debug output while flying the aircraft. Mmmh...I have an idea: Why not record a video of the flight (e.g. via shadowplay or the like) with enabled hud debug mode. Then afterwards postprocess the video to extract the data from the video images. I think it shouldn't be too difficult to write a small tool in python by using opencv and a ocr library to extract the data. Then we have access to all hud debug parameter over the whole flight time. My reason for getting the flight data is the following: I wonder if it's possible to implement the SF2 flight model engine with/in JSBSim (used e.g. by FlightGear) since AFAIK both use aerodynamic coefficient buildup method to compute aerodynamic forces and moments. Thereby the coefficient tables from the SF2 ini files could be used in JSBSim. And if I decide to give it a try (implementing the sf2 model in jsbsim) I wanted to know how to test/compare both models. Getting the needed flight data from JSBSim is easy but to get the flight data from SF2 I didn't know if there was another way besides the hud debug output. But why implementing the SF2 FM engine in JSBSim? 1.) To teach myself something about aerodynamics, aircraft control and simulation,... 2.) The JSBSim model can then be used to assess and develop flight models for the SF2 engine. Similar to the tool streakeagle wrote. 3.) If someone is interested in building a (maybe community driven, open source) combat flight simulator, he could use jsbsim/flightgear and use already available coefficient tables from SF2 inis.
-
A question to the FM gurus: How do you develop and test your flight models? I'm especially interested in how to gather telemetrie data (e.g. velocity, height, acceleration, turn rate, ...) and how to plot graphs from those data (e.g. velocity over time, height over time, ...). I know about the debug display. But is there a way to output this data into a text file?
-
Of course it's possible to write an exporter for 3ds max. But I don't plan to do it myself because: 1.) I don't own 3ds max 2.) My priorities are more in providing a free/open source toolchain for strike fighters 2
-
Nice to see some results.
-
It's one material per object.
-
I know Yankee Air Pirate is controversial here. But through this addon I learned about and came to the strike fighter series. So it seems Mike was partly responsible that I'm here in this community now.
-
I fixed the bug in version 0.2. I updated the link in the first post. Please redownload the script and reinstall it into blender. I tested your cube with blender version 2.78 and 2.79:
-
Nothing wrong with your cube. Seems to be a bug in my code. Although with the blender version I use (2.78) it works. I'm working on a bugfix. Stay tuned...
-
This is the first release of the LOD Exporter for blender. A main reason for this release is to get feedback / bug reports from you users (3D Modeler). I'm not a 3D Modeler myself. I only tested the exporter with rather simple object (hierarchies). I tried to implement the exporter only based on the information I found by investigating LOD files. Thanks again to logan4 and angelp who provided me with specific lod files that helped me to understand the lod file format better. The Bottom line is that I have no idea if the exporter works for you. So please give feedback. The Exporter Script: Update: The latest version can be found in the download section: https://combatace.com/files/file/16747-lod-exporter-for-blender/ 1.) Installation Open the Blender User Preferences - Add-ons Tab (File -> User Preferences... -> Add-Ons) Click "Install from File..." Browse to and select the exporter python script "io_export_sf2_lod.py" Click "Install from File..." (or double click on the script name) In the Add-Ons Tab under Supported Level select Testing and enable "Import-Export: Strike Fighters 2 LOD Exporter" The LOD exporter is now installed and enabled. Under File -> Export you should see the menu item "Strike Fighters 2 LOD (.lod)". It's greyed out until an exportable object is selected. 2.) Usage Select the object you want to export and click File -> Export -> Strike Fighters 2 LOD (.lod) The file browser opens. In the lower left area you see the LOD exporter options. Currently there is only one option: enable/disable writing the out file (text file with information about the exported object(s)). The selected object and all child objects are exported. Please note! The objects must meet the following requirements: -No scaling in the Transform Properties allowed (that means: scale x = y = z = 1.0). If your object has scaling, it should be applied to the mesh (Ctrl-A) -A material must be assigned to the object. Only the first material of an object is exported. Only the following material parameters are exported: -Diffuse Color (the lod file format also contains ambient color. Currently the exporter set ambient color = diffuse color) -Specular Color -Specular Intensity -Specular Hardness (I think in 3ds Max it's called glossiness) -if "Shading -> Emit" > 0.0 then self illumination is enabled -Transparency (if transparency is enabled, then the object doesn't cast and doesn't catch shadow. if transparency is disabled, then the object cast and catch shadow. The specific LOD format version the exporter writes, doesn't support arbitrary cast/catch shadow combinations. The other LOD formats I don't understand enough (yet). Sorry!) -Alpha -Mirror Reflectivity -Diffuse texture image name (as diffuse texture the exporter uses the texture where "Influence -> Diffuse -> Color" is enabled) -Normal map texture image name("Influence -> Geometry -> Normal" is enabled and the Normal value is also exported) -Specular map texture image name("Influence -> Specular -> Intensity" is enabled) -Normal and specular map can only be used together with a diffuse map. (If I exported a normal or specular map without diffuse map, then the LOD wasn't shown in the game or the game crashed. I don't know why...) The exporter supports no animation yet
- 74 replies
-
- 11
-
-
-
Correct! The monkey is Blenders mascot "Suzanne". I exported it with my exporter to a lod file. I will release a first version (e.g. no animation support yet) of the lod exporter for blender within the next days.
- 52 replies
-
- 11
-
-
-
Since Stary kindly remembered me in the "tree planting" thread of my promised TOD Editor, I want to apologize for the (very) long delay. Shortly after I made the proof of concept of custom shaped tod objects another (Real Life) project took over: planning and building our house. Therefore in the last one and a half year I didn't have that much time and energy for modding/programming activities. Now we finally live in our new house and I recently resumed my modding/programming activities. This is my roadmap for 2018: 1) LOD Exporter for blender: Currently I'm working on a LOD Exporter for blender. It's in an early stage. Mesh export seems to work but only uses color information yet, no textures, no bump maps, no animation, ... . 2) Updating LOD Viewer and Target Area Editor Besides implementing new features I plan to switch to the OpenSceneGraph library for 3D visualizing instead of pure OpenGL. It will reduce the programming effort in the future and also brings other benefits. 3) TOD Editor Maybe I will implement it as an extension of the Target Area Editor, I'm not sure yet. The use of the OpenSceneGraph library should give me the capability to import several 3D file formats that OpenSceneGraph supports (instead of writing the file importer myself) and let me convert them to TODs.
- 8 replies
-
- 20
-
-
-
Ok, I had a look at the Madagascar terrain. What Stary did is the following: He still used stock (alpha) tod object types (eg. x-trees with base). But made them bigger in the horizontal direction. Then he textured those single objects with the multiple tree texture (the .tga file you mentioned). So that one single tree object appears as multiple trees. Nice solution!
-
Mmh.. I thought Stary did just that: put a lot of single tree objects onto the tiles. Maybe I'm wrong here?
-
AFAIK no one from the modding community has created custom shaped TOD objects yet (besides on guy who made a feasibility test )
-
I think the relevant entries are in <terrain>_data.ini: [TerrainMesh] SolidObjectVertexCount=12288 SolidObjectIndexCount=18432 AlphaObjectVertexCount=8192 AlphaObjectIndexCount=12288 I haven't investigated it myself yet, but I think they define the maximum numbers of triangle vertices of solid (buildings) and alpha (trees) objects (per tile?). By increasing those values it should be possible to plant more buildings/trees.
