OpenTechEngine / Discussions

The issues of this project are abused as a discussion forum for Open Tech
4 stars 0 forks source link

Model formats and tools #25

Open ghost opened 8 years ago

ghost commented 8 years ago

Would it be possible to add in assimp (http://assimp.sourceforge.net/main_features_formats.html)? It supports many model formats and could make it easier for artists to export to OTE.

Could the source and binary versions also include links to scripts for importers/exporters for the popular 3D modelling tools in the documentation? Or better include the scripts or forks of them?

kortemik commented 8 years ago

Is there something wrong with md5mesh and md5anim formats or exporters?

We already have cloned them to ModelingTools repository.

Someday we will perhaps create a development kit package but not today.

@motorsep I think you are using blender right, is it working just like it should?

kortemik commented 8 years ago

I finished first version of new md5mesh and md5anim exporter.

https://github.com/OpenTechEngine/ModelingTools/tree/master/MD5/Blender/io_export_md5

Please try that out @Yetta1 @motorsep

The mesh files exported by it and by the non _obj exporter have difference. The old exporter exported many unnecessary verts and weights.

Edit: There was a bug with uv maps which should have been fixed in latest version

BielBdeLuna commented 8 years ago

ATM I'm locked out because I can't compile Darkradiant, I might push for the script of creating brushes in Blender and exporting them as .map, even if I can't open yet the .def files in blender, I might hack a way to put an info_player_start_entity, the uv's coords are still a problem, I might fake them out so I can see something in IdTechX, only after I got some kind of editor working in Blender I can be safe to work back on features, and test this script, sorry.

ghost commented 8 years ago

Hi guys, sorry for the late reply, was afk the past month. @kortemik The link to the exporter doesn't seem to work, maybe it changed. I do get some issues with exporters, like bones exporting in the wrong locations. The reason I asked about assimp is for its support of many formats.

@BielBdeLuna I've also had issues compiling DarkRadiant, currently I'm using 2.0.3. I've tried the .map exporter technique, however the exporter is very outdated, for Blender 2.4 and then the guide from katsbits. The problem with modelling maps in Blender is the scale difference, the Id Tech 4 scaling is massive and Blender struggles to model on that sizes, causing clipping issues. So far I've had no success get DarkRadiant to open the .map files, only on GTKRadiant as a Quake 3 map which is different in size.

For now I'll work with maps in DarkRadiant.

kortemik commented 8 years ago

@Yetta1 Kat (the one who runs katsbits) suggested me to rename it to io_export_md5 as it's quite the standard name for the blender.

You can find it on https://github.com/OpenTechEngine/ModelingTools/tree/master/MD5/Blender/io_export_md5

ghost commented 8 years ago

@kortemik Thank you Kortemik, I found that link earlier. I can't seem to find a working ASE exporter for Blender 2.7+, however I am using a LWO exporter which works, "http://www.ewocprojects.be/lwoexport.html". The MD5 exporter works so far, just having issues with the bones, most likely my fault for not naming it properly.

kortemik commented 8 years ago

ASE exporter on our repo should work, however see the Issue created about it

On Sun, Jan 17, 2016 at 11:45 PM, Yetta1 notifications@github.com wrote:

@kortemik https://github.com/kortemik Thank you Kortemik, I found that link earlier. I can't seem to find a working ASE exporter for Blender 2.7+, however I am using a LWO exporter which works, " http://www.ewocprojects.be/lwoexport.html". The MD5 exporter works so far, just having issues with the bones, most likely my fault for not naming it properly.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-172386168 .

ghost commented 8 years ago

The ASE exporter is for Blender 2.51, I tried it on 2.53 and gave errors. The LWO format works fine. This is why I asked about assimp so we could import other model formats like .obj, .dae, .fbx and .blend. Maybe in the future a tool can be created to convert models for OTE, cutting out data not needed by the engine.

kortemik commented 8 years ago

The MD5 exporter by me does the cutting, I could do the same for ASE.

Which kind of errors do you have with bones, are the files shareable? I could test those myself.

On Mon, Jan 18, 2016 at 10:29 AM, Yetta1 notifications@github.com wrote:

The ASE exporter is for Blender 2.51, I tried it on 2.53 and gave errors. The LWO format works fine. This is why I asked about assimp so we could import other model formats like .obj, .dae, .fbx and .blend. Maybe in the future a tool can be created to convert models for OTE, cutting out data not needed by the engine.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-172461149 .

ghost commented 8 years ago

I found a add-on that works perfectly for Blender 2.7+, it's was made for the ARX: End of Sun fan game. Here is the link http://sourceforge.net/p/blenderbitsbobs/wiki/MD5%20exporter/

kortemik commented 8 years ago

Is it working better than my version?

On Mon, Jan 18, 2016 at 5:10 PM, Yetta1 notifications@github.com wrote:

I found a add-on that works perfectly for Blender 2.7+, it's was made for the ARX: End of Sun fan game. Here is the link http://sourceforge.net/p/blenderbitsbobs/wiki/MD5%20exporter/

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-172555297 .

ghost commented 8 years ago

I haven't tested yours so far. I'm finishing the long awaited player model for OTE. I'll export it with your exporter. The model is split up into head, torso, arms and legs. Lost the old model from hdd failure, so I'm still setting up the rig and doing some basic animations. The package will contain the .blend along with the MD5 model and textures.

BielBdeLuna commented 8 years ago

very recently I been working with the blender idTechX map exporter at the moment I can export brushes and patches, but I need to add to it rotations (at the moment you can only put brushes, scale them, and move them but not ortating them, as well as the same with patches

and the textures, at the moment I'm working on a simple texture offset, scale and rotation tool for blender (like the one in Radiant) so you ahve UV mapping at your advantage as well as this simple tool

and the library to "read" al idTech4 and idTechX which at the moment is very abandoned.

I think by next week I can work out the matrix transforms for rotation and so I can present the first working version of the exporter with false texture coord info. and so I can start working on Robert's inclusion of meshes in the map specification that he did some time ago, and the damn texture system of the *.map specification which I don't understand yet.

kortemik commented 8 years ago

In case you have any particular problems, I can look into them as I think I met some while creating the md5mesh exporter

On Wed, Jan 20, 2016 at 6:52 PM, Biel Bestué de Luna < notifications@github.com> wrote:

very recently I been working with the blender idTechX map exporter at the moment I can export brushes and patches, but I need to add to it rotations (at the moment you can only put brushes, scale them, and move them but not ortating them, as well as the same with patches

and the textures, at the moment I'm working on a simple texture offset, scale and rotation tool for blender (like the one in Radiant) so you ahve UV mapping at your advantage as well as this simple tool

and the library to "read" al idTech4 and idTechX which at the moment is very abandoned.

I think by next week I can work out the matrix transforms for rotation and so I can present the first working version of the exporter with false texture coord info. and so I can start working on Robert's inclusion of meshes in the map specification that he did some time ago, and the damn texture system of the *.map specification which I don't understand yet.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-173269819 .

ghost commented 8 years ago

@BielBdeLuna Which map exporter? Does it support Blender 2.7? The idea of UV map support sound great and would by perfect for people who want to use this kind of workflow.

https://www.youtube.com/watch?v=vgZpeq2wj94

Will it support terrains as well. I know people use the particle system for terrains to populate it with rocks, trees, grass etc. Maybe instead of the models in the particle system, it could create basic/empty objects with ID's assigned, then those ID's can be used in the engine to find the correct objects to populate the terrain.

@kortemik I still need to finish the texture and animations before I can test the export. I did get an error however about multiple bone parents on the palm bones when I tried a quick export test. The armature is Blenders Meta-Rig, I did not use the rigify option as it may likely not export the data with it. The Meta-Rig contains more bones than what Doom 3 uses. Also I think the bones need to be renamed. I'll keep you updated.

kortemik commented 8 years ago

I think I need to add option for selecting which bonelayers to export

On Wed, Jan 20, 2016 at 7:13 PM, Yetta1 notifications@github.com wrote:

@BielBdeLuna https://github.com/BielBdeLuna Which map exporter? Does it support Blender 2.7? The idea of UV map support sound great and would by perfect for people who want to use this kind of workflow.

Will it support terrains as well. I know people use the particle system for terrains to populate it with rocks, trees, grass etc. Maybe instead of the models in the particle system, it could create basic/empty objects with ID's assigned, then those ID's can be used in the engine to find the correct objects to populate the terrain.

@kortemik I still need to finish the texture and animations before I can test the export. I did get an error however about multiple bone parents on the palm bones when I tried a quick export test. The armature is Blenders Meta-Rig, I did not use the rigify option as it may likely not export the data with it. The Meta-Rig contains more bones than what Doom 3 uses. Also I think the bones need to be renamed. I'll keep you updated.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-173278038 .

BielBdeLuna commented 8 years ago

@kortemik I've been working out a python script to allow *.map exporting from Blender to idTechX

here is my code (at the moment not the last code) https://github.com/BielBdeLuna/Blender_IDtech4_GPL_map at the moment following the version conversion in my own readme I'm at 0.0.3 but instead of scaling the problem is rotation today I'll try to push my improvements ATM

kortemik commented 8 years ago

I'd first suggest to define the format like here:

https://github.com/OpenTechEngine/ModelingTools/blob/master/MD5/Blender/io_export_md5/io_export_md5.py#L67

And after that we can proceed to the actual problem of extraction. Just because the way of just writing it line by line and not assembling it all first in a logical whole object and then just flushing it in one go makes it way harder to read and design.

I know it's bit of an exercise to define the format like that but it helps quite a lot after, and defining is just pedantic easy work after all.

I wonder if I am asking too much?

On Wed, Jan 20, 2016 at 7:25 PM, Biel Bestué de Luna < notifications@github.com> wrote:

@kortemik https://github.com/kortemik I've been working out a python script to allow *.map exporting from Blender to idTechX

here is my code (at the moment not the last code) https://github.com/BielBdeLuna/Blender_IDtech4_GPL_map at the moment following the version conversion in my own readme I'm at 0.0.3 but instead of scaling the problem is rotation

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-173288468 .

ghost commented 8 years ago

@kortemik Agreed, I think most users that will use Blender will use the Meta-rig and rigify, as it really speeds up the process instead of manually creating the armatures. However what is the limit of bones, could someone make a centipede with hundreds of bones?

@BielBdeLuna Nice, going to test it. I've got a semi-complex map I made for Unity which I was planning on moving over to OTE.

kortemik commented 8 years ago

I think it's quite low amount, even the default rigify with all the bones exceeds it

On Wed, Jan 20, 2016 at 7:34 PM, Yetta1 notifications@github.com wrote:

@kortemik https://github.com/kortemik Agreed, I think most users that will use Blender will use the Meta-rig and rigify, as it really speeds up the process instead of manually creating the armatures. However what is the limit of bones, could someone make a centipede with hundreds of bones?

@BielBdeLuna https://github.com/BielBdeLuna Nice, going to test it. I've got a semi-complex map I made for Unity which I was planning on moving over to OTE.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-173296507 .

ghost commented 8 years ago

@kortemik I remember it being very basic, however when I imported the player mocap file from Doom 3, I noticed they used loads of bones to control the facial animations, however I think the import was somewhat broken as all the bones where sticking out on Blenders Y axis.

Maybe a predefined armature specific to OTE can be added into the add-on can be implemented in the future. Then users can simply parent and move the bones according to their models and will have no issue exporting to the engine.

kortemik commented 8 years ago

The importer you are using is a bit dodgy, and that's why it does the wild magick with the bones.

I am not saying my script is any better on that side as it doesn't do import but still it could be improved a litte to support import with some effort.

However I don't see importing as an issue as blender is for content creation?

How do you see it as an artists?

On Wed, Jan 20, 2016 at 7:45 PM, Yetta1 notifications@github.com wrote:

@kortemik https://github.com/kortemik I remember it being very basic, however when I imported the player mocap file from Doom 3, I noticed they used loads of bones to control the facial animations, however I think the import was somewhat broken as all the bones where sticking out on Blenders Y axis.

Maybe a predefined armature specific to OTE can be added into the add-on can be implemented in the future. Then users can simply parent and move the bones according to their models and will have no issue exporting to the engine.

— Reply to this email directly or view it on GitHub https://github.com/OpenTechEngine/Discussions/issues/25#issuecomment-173300621 .

ghost commented 8 years ago

@kortemik Exporting is the most valuable and needs the most attention, importing will only really be needed for people modding assets. The only reason I imported was to check out the armatures, which in the end proved useless.

Many artists I feel would want more bones and control with Blenders shape keys included and also taking into considerations what's in the dope sheet and graph editor. This will allow them to create more animated and life-like characters. The hands and facial animation is important, then lastly shape keys to rectify any problems with vertexes and create more realistic muscle movement.

But that can come in time, for now we just need to test with the player, weapon and enemy models using the traditional Id tech setup.

BielBdeLuna commented 8 years ago

the map exporter last pushes are here: https://github.com/OpenTechEngine/Discussions/issues/29

I'll add the objects like @kortemik suggested, for entities, brushes, and patches

ghost commented 8 years ago

@kortemik The md5 exporter works. I still need to get the animation set up, currently the model is using a fake idle animation.

@BielBdeLuna I can't seem to get the map exporter to run in Blender.

ghost commented 8 years ago

A nice export/import script for md5mesh and anim by nemyax from the darmod forums. It works on the latest Blender 2.77a.

https://sourceforge.net/projects/blenderbitsbobs/

BielBdeLuna commented 8 years ago

yes. it works great