Jump to content

A basic, UNOFFICIAL - Blender .edm Addon


NickD

Recommended Posts

Very nice!!

 

Wow! Thanks NickD for your work on this. Really impressive! I look forward to seeing what you do next with this. :thumbup::thumbup::thumbup:

 

Now I have to figure out the basics of Blender... but much cheaper than the Autocad products. ;)

 

Thanks again!

Link to comment
Share on other sites

Any possibility of explaining it to someone with no idea what it s, what are its benefits and what you mean in your posts? Please.

 

In which way? The purpose of the program as a whole, or the specific update things I'm talking about? If the latter, I try and explain in regular edModelTools terms when I release an update.

 

Or was there something more specific?

Link to comment
Share on other sites

Ok, since I failed to contribute to the project itself I can at least help out a bit to explain what is being done here:

 

As it is now the tool chain for creating *.EDM files (Model files used in DCSW) are - roughly speaking

- create the model

- create animation arguments and so on

- create LODs

- create collission shells

- do UVmapping

- export it to *.EDM format using a plugin for the 3D program 3DstudioMax (the plugin is made by ED)

 

Problem is: 3DsMax is an expensive software. The license is, like 2000 bucks or so.

 

There is another, free, 3D software (called Blender) that many people like to use, but there is no plugin to export *.EDM files from Blender so if you create models in Blender you cannot use them in DCSW.

 

NickD creates a plugin for Blender that adds that functionality to Blender, so you can create *.EDM files for use in DCSW using free software. :)

 

 

Ok, that sounds kinda easy. There are several challenges in that though.

- Documentation of that format. NickD has to understand how the file format works. This is done by reading existing documentation and by analyzing files that work. Preferably files that are simple so he can look at the parts and see how they work together.

- Translating Blender functionality into the needed structure. In 3D programs there is some sort of object hierarchy. It is different between 3DsMax and Blender, so NickD has to find the equivalents. The export plugin has to get all the necessary parts from the Blender data structure and repackage them into their EDM equivalents. Some parts may not be there at all (3DsMax is a HUGE, mighty tool, Blender may still lack some features partly or completely that are needed for more complex stuff)

- values may differ. Simple example (not from this project): In 3DsMax or the resulting EDM file a semi-transparent texture may have values between 0 and 1, 1 being transparent. In Blender it could be values between 0 and 100, 0 being transparent.

- Those object structures can be nested. So there may be objects in objects in objects and so on. So a recursive algorithm might be needed for some things. Recursion can make program code intransparent, complex to understand, and hard to debug.

-Test stuff. Do LOTS of tests, of which most fail spectacularly, with the plugin crashing, Blender crashing, the modelViewer crashing, DCSW crashing and so on. NickD has funny examples like an animated gun shooting monkey heads. (no don't ask). :D


Edited by Aginor
Link to comment
Share on other sites

- Those object structures can be nested. So there may be objects in objects in objects and so on. So a recursive algorithm might be needed for some things. Recursion can make program code intransparent, complex to understand, and hard to debug

 

This is especially true, as the actual rules are something like the following: "3DS and Blender use Z-up, the game uses Y-up for coordinate axis (and Z=-Y when converting). Data is saved in the EDM file in game-space, unless it is animated, in which case it is saved in 3DS-space, and a base argument of the animation is used to flip the geometry into game space. UNLESS it is an animation that is also animated by a different animation, in which case the base animation argument DOES NOT flip the axes."

 

This is also made more complicated by the fact that the actual parameters of animation (all in 3ds-space) have to be applied in the correct way. Combine this with the fact that there is *no* documentation on how the format/dcs internals work, and you can see something of the problem (there is still an animation rotation parameter that I have no idea at all what it does). Without the modelviewer and a way to actually quickly view the attempts (and modelviewer's useful crash messages) it would be much, much harder to decode.

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

Any more progress? Updates? Whatever? This is an awesome thing going here. Don't want it to stop!

Hardware: T-16000M Pack, Saitek 3 Throttle Quadrant, Homemade 32-function Leo Bodnar Button Box, MFG Crosswind Pedals Oculus Rift S

System Specs: MSI MPG X570 GAMING PLUS, GTX 1070 SC2, AMD RX3700, 32GB DDR4-3200, Samsung 860 EVO, Samsung 970 EVO 250GB

Modules: Ka-50, Mi-8MTV2, FC3, F/A-18C, F-14B, F-5E, P-51D, Spitfire Mk LF Mk. IXc, Bf-109K-4, Fw-190A-8

Maps: Normandy, Nevada

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

This does not work in the latest Blender version.

 

Any updates?

I would love to have this working!

"Yeah, and though I work in the valley of Death, I will fear no Evil. For where there is one, there is always three. I preparest my aircraft to receive the Iron that will be delivered in the presence of my enemies. Thy ALCM and JDAM they comfort me. Power was given unto the aircrew to make peace upon the world by way of the sword. And when the call went out, Behold the "Sword of Stealth". And his name was Death. And Hell followed him. For the day of wrath has come and no mercy shall be given."

Link to comment
Share on other sites

This does not work in the latest Blender version.

 

Any updates?

I would love to have this working!

 

Yeah same here. I made a starter trolley, and when I was starting to export it in EDM format, I got quite the list on the right side of my screen of errors. IDK if this is just my system (I have sensei format in my Blender) or what, but this is it, in case NickD wants to look, assuming he's still following and working on this...:(

[ATTACH]162562[/ATTACH]

Hardware: T-16000M Pack, Saitek 3 Throttle Quadrant, Homemade 32-function Leo Bodnar Button Box, MFG Crosswind Pedals Oculus Rift S

System Specs: MSI MPG X570 GAMING PLUS, GTX 1070 SC2, AMD RX3700, 32GB DDR4-3200, Samsung 860 EVO, Samsung 970 EVO 250GB

Modules: Ka-50, Mi-8MTV2, FC3, F/A-18C, F-14B, F-5E, P-51D, Spitfire Mk LF Mk. IXc, Bf-109K-4, Fw-190A-8

Maps: Normandy, Nevada

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • 1 month later...
This does not work in the latest Blender version.

 

Any updates?

I would love to have this working!

 

Yeah same here. I made a starter trolley, and when I was starting to export it in EDM format, I got quite the list on the right side of my screen of errors. IDK if this is just my system (I have sensei format in my Blender) or what, but this is it, in case NickD wants to look, assuming he's still following and working on this...:(

[ATTACH]162562[/ATTACH]

 

The Plugin work well.

must...MUST...use the right sequence of events like AGINOR says in the previous page:

----------------------------------------------------------------------------------------------------------

As it is now the tool chain for creating *.EDM files (Model files used in DCSW) are - roughly speaking

- create the model

- create animation arguments and so on

- create LODs

- create collission shells

- do UVmapping

- export it to *.EDM format using a plugin for the 3D program with Blender

----------------------------------------------------------------------------------------------------------

 

Must only check the edm after the export, cause the plugin is a WIP.

 

Don't forget absolutely to assign the right material properties (EDM props) and give the right folder position to the texture.

Model without texture and UV maps are not exported (obviously). :wallbash:

 

bye

 

https://forums.eagle.ru/showthread.php?p=3185302#post3185302

Link to comment
Share on other sites

  • 1 month later...

Don't forget absolutely to assign the right material properties (EDM props) and give the right folder position to the texture.

Model without texture and UV maps are not exported (obviously). :wallbash:

[/url]

 

It's actually not that obvious, but ok.

Hardware: T-16000M Pack, Saitek 3 Throttle Quadrant, Homemade 32-function Leo Bodnar Button Box, MFG Crosswind Pedals Oculus Rift S

System Specs: MSI MPG X570 GAMING PLUS, GTX 1070 SC2, AMD RX3700, 32GB DDR4-3200, Samsung 860 EVO, Samsung 970 EVO 250GB

Modules: Ka-50, Mi-8MTV2, FC3, F/A-18C, F-14B, F-5E, P-51D, Spitfire Mk LF Mk. IXc, Bf-109K-4, Fw-190A-8

Maps: Normandy, Nevada

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • 5 months later...

Hi,

 

Any chance someone can write a basic tutorial on how to get a basic shape such as a cube to export as EDM using Blender. This really interests me, but cannot justify buying pro modelling software.

 

These parts I do not understand.

- create animation arguments and so on

- create LODs

- create collission shells

 

I am not asking for any help with creating the Blender 3d models. I am interested in modelling some assets that are not available in DCS.

 

Thanks in advance.

Windows 10 64bit, Intel i7 6700K, 32GB Corsair 2400Mhz, 970 NVMe 500Gb SSD, GeForce 2080 super, HP Reverb, VKB GF PRO, Thrustmaster Warthog throttle, Thrustmaster Pendular rudders, Windows + DCS :thumbup:

 

My youtube channel

Link to comment
Share on other sites

  • 1 month later...

I can get this to work to some extent. I am hoping someone is interested inhelping me.

 

I've been messing with the Blender settings and it is actually quite straight forwards to get a object in to DCS. What am stuck at is how to set the animation arguments. I set up an anim for the wheel rotation, using what I reverse engineered (not using anyone else's mesh, just poking my nose in to see how it works ;)).

 

I know I missing something, because I cannot see how to set the argument. I see it is argument 8 for rotation, as I used some guy called uboat's arg extractor tool on my edm file and it shows no arguments set. Thought it was just something simple as setting the anim name to how I have it in the image.

 

Proof it works... https://www.youtube.com/watch?v=H02ATIJzTGo

 

anyway here is how I have Blender set up for this anim...

 

 

 

BTW I am doing this as I thought it would be quite cool to drive round the new awesome 2.5 goodness, maybe being chased by a few armed friends.


Edited by DoctorStrop

Windows 10 64bit, Intel i7 6700K, 32GB Corsair 2400Mhz, 970 NVMe 500Gb SSD, GeForce 2080 super, HP Reverb, VKB GF PRO, Thrustmaster Warthog throttle, Thrustmaster Pendular rudders, Windows + DCS :thumbup:

 

My youtube channel

Link to comment
Share on other sites

there wont be any tutorials done by ED on this, it's an un-supported plugin.

Windows 10 Pro, Ryzen 2700X @ 4.6Ghz, 32GB DDR4-3200 GSkill (F4-3200C16D-16GTZR x2),

ASRock X470 Taichi Ultimate, XFX RX6800XT Merc 310 (RX-68XTALFD9)

3x ASUS VS248HP + Oculus HMD, Thrustmaster Warthog HOTAS + MFDs

Link to comment
Share on other sites

Hi any Tutorial on this please.

 

There was much to figure out. I still have not worked everything out, so not in a position to do a tutorial. If I can workout how to get the arguments in, I will maybe post a tutorial.

 

To get a static model in to DCS you just need to get the EDM plugin, set the UV, image map, and material properties, then export as a EDM.

 

Doh.... found this. It was right under my nose :) https://ndevenish.github.io/Blender_ioEDM/modelling/animation.html


Edited by DoctorStrop

Windows 10 64bit, Intel i7 6700K, 32GB Corsair 2400Mhz, 970 NVMe 500Gb SSD, GeForce 2080 super, HP Reverb, VKB GF PRO, Thrustmaster Warthog throttle, Thrustmaster Pendular rudders, Windows + DCS :thumbup:

 

My youtube channel

Link to comment
Share on other sites

Blender mod. I have this mostly working, but have hit a brick wall

 

Hi,

 

Before I start I am not in anyway under any expectation of help from ED, I understand how busy they are, this goes out only to people who want to chip in, and offer advice.

 

I have been reading and tinkering with a mesh for a Aston Martin. I already have a few people who want to chase me down in it if I can get this working. The new DCS 2.5 looks awesome, and I imagine it would be pretty cool to drive around in.

 

So the current problem I have is that when I view my model in Blender, all is good, the steering works as I would expect, object with rotation on z axis with arg 9 for steering, and child object on y axis rotation with arg 8 for wheel rotation.

 

In DCS or ModelViewer, without the steering my wheels are nice and straight, but with the steering applied, my wheels rotate around the steering axis. See the attached video links.

 

Without steering axis https://www.youtube.com/watch?v=QpRye8-pyMk

With steering axis https://www.youtube.com/watch?v=tumTmwqv7rg

 

This is as far as learning from google, the university of youtube and this forum search takes me.

 

I have no idea yet how I will get to the end goal, but figure the hard part is to make a mod that if AI can use in DCS then I should be able to get it working through CA or a heavily modded SFM... too far ahead to think about that for now.

Windows 10 64bit, Intel i7 6700K, 32GB Corsair 2400Mhz, 970 NVMe 500Gb SSD, GeForce 2080 super, HP Reverb, VKB GF PRO, Thrustmaster Warthog throttle, Thrustmaster Pendular rudders, Windows + DCS :thumbup:

 

My youtube channel

Link to comment
Share on other sites

Hi,

 

That is some great progress DoctorStrop. Thanks for sharing your research here.

 

Sadly, I can not help you with your animation axis issues. Still did not manage to export properly from blender any static objects. I am probably doing something wrong. The "wiki" you are pointing to, has been my starting point, but I find it too schematic for my skills.

 

I will really appreciate that, in the future, you could take the time to do some kind of an step by step guide of the most simple static object export and integration into a DCS mission editor, for example ;] (here it goes nothing...). That is a lot to ask, I know hehehe.

 

In any case, really impressed by your progress so far, understanding the deep lack of documentation in the subject.

 

I am actually trying to get DCS model inside blender (import) and export it to Substance or 3D-Coat, to create some new liveries when PBR support is updated for all the modules (I hope this happens some day).

 

Being pretty successful with this so far. Same thing as you here, I will try to make some tutorial in the moment I achieve my goal. (even if doing this is indeed quite straight forward) Main problem here is rearranging some rotated elements after importing files in blender.

 

I noticed, animated front wheels of the cars, appear rotated like in your videos when imported to blender, but you probably know this already

 

Keep the hard work, and good luck with your mod. Blender addon improvement or proper workflow is the key for many good artist to start working on DCS.

 

Best


Edited by Grajo
Link to comment
Share on other sites

Hi,

 

That is some great progress DoctorStrop. Thanks for sharing your research here.

 

Sadly, I can not help you with your animation axis issues. Still did not manage to export properly from blender any static objects. I am probably doing something wrong. The "wiki" you are pointing to, has been my starting point, but I find it too schematic for my skills.

 

I will really appreciate that, in the future, you could take the time to do some kind of an step by step guide of the most simple static object export and integration into a DCS mission editor, for example ;] (here it goes nothing...). That is a lot to ask, I know hehehe.

 

In any case, really impressed by your progress so far, understanding the deep lack of documentation in the subject.

 

I am actually trying to get DCS model inside blender (import) and export it to Substance or 3D-Coat, to create some new liveries when PBR support is updated for all the modules (I hope this happens some day).

 

Being pretty successful with this so far. Same thing as you here, I will try to make some tutorial in the moment I achieve my goal. (even if doing this is indeed quite straight forward) Main problem here is rearranging some rotated elements after importing files in blender.

 

I noticed, animated front wheels of the cars, appear rotated like in your videos when imported to blender, but you probably know this already

 

Keep the hard work, and good luck with your mod. Blender addon improvement or proper workflow is the key for many good artist to start working on DCS.

 

Best

 

Hi,

 

thanks for the kind words. I don't really have much knowledge of this, and it has taken about 2 weeks to discover how to make it work. I started the body mesh to see if I could do this, always been curious to see if I had the patience, but found it to be kind of addictive and it spiralled really. All you need is determination to make this plugin work.

 

From what I have read and people I have spoken with, it seems like it could be contentious to use this plugin, which is a massive shame as it is actually a great tool. I do not know if the problem is to edit the plugin, or to use the plugin. I would make a video on what I have worked out, if someone from ED confirmed they were not against me doing so.

 

I will tell you the following that I have learned, from trial and error. I assume you can see the EDM export option in Blender, you know how to UV unwrap, and how to add textures. Other than exporting the model as EDM, the operations I describe are all standard in Blender, and any "cycles render" tutorial will help you.

 

Create a default project

Work in Cycles render

Select the cube, and add a material

Add a image texture node to the material

Put the cube in edit mode

UV unwrap the cube

In UV viewer add the texture image to the view

Calculate the normals

UV unwrap again

Return the cube to object view

Export as EDM

 

There are options in materials settings to set EDM material properties, otherwise it is set to default. My car has glass, but it is so clean you cannot see it :)

 

BUGS/Problems/Rules:

 

Materials applied as 2 sided only export as one sided

 

Mirror Modifier is applied on export

 

Subdivision surface can cause crashes if not applied prior to export

 

If you do any rotations, make sure to use quarterniums, else Blender will crash when exporting.

 

If you do any animations you must use linear interpolation. Anything else will cause a crash on export.

 

With this tool you cannot have child objects with an empty as a parent. This crashes on export, as it expects the empty to have a texture I think.

 

If you have any objects that when exporting as EDM are not UV unwrapped, you will get missing nodes exception stack trace reported.

 

Every time you add a child object to an object, the plugin will rotate the child on the x axis by 90 degrees on export (hence my wheels... fixed now BTW https://www.youtube.com/watch?v=2d5dVrOOPlw). Any child of the child also gets the same rotation, so will export at 180 degrees on the x. The body of my car is added to a plane for y suspension, and then a plane added as a child to that for x suspension, then the body added to that. The car body in my Blender project had to be rotated 180 degrees to show correctly in DCS World.

 

Normally I would say you should save you work before exporting, but I find it safer to see if the export works, and then save after if it does. If it does not then you can revert to the previous working copy. Make back ups of the blend file each time you make progress.

 

Hope this helps


Edited by DoctorStrop
  • Like 1

Windows 10 64bit, Intel i7 6700K, 32GB Corsair 2400Mhz, 970 NVMe 500Gb SSD, GeForce 2080 super, HP Reverb, VKB GF PRO, Thrustmaster Warthog throttle, Thrustmaster Pendular rudders, Windows + DCS :thumbup:

 

My youtube channel

Link to comment
Share on other sites

Hey, that is really kind of you, to share all this knowledge!

 

Indeed I have pretty much the same approach, between curiosity and a strong will of achieving an "uncertain/possible" objective.

 

Great that you figure out how to fix the rotation, and make all the animation to work out.

 

I was wondering if the exporting was crashing for a certain reason, now I see that you have the true determination to troubleshoot it. All the steps need to be completed to get the export right. I probably was missing some step in the way and I just assumed that the exporter was just not functional with latest Blender version, so I try many of them with the same result... finally I quit and ask for help in the forum, which never arrived until now :D.

 

I will try this out again, this time, following your tips. It might take me more time than necessary due to my lack of time and poor skills but I will achieve it (hopefully :]), Thanks a lot again for the boost DoctorStrop !!! Keep us updated on your progress, please.

 

Best and keep the good work!:thumbup:

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...