Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model formats and tools #25

Open
ghost opened this issue Dec 24, 2015 · 27 comments
Open

Model formats and tools #25

ghost opened this issue Dec 24, 2015 · 27 comments

Comments

@ghost
Copy link

ghost commented Dec 24, 2015

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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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
Copy link
Author

ghost commented Jan 17, 2016

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
Copy link
Member

@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
Copy link
Author

ghost commented Jan 17, 2016

@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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 18, 2016

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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 18, 2016

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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 18, 2016

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
Copy link
Member

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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 20, 2016

@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
Copy link
Member

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
#25 (comment)
.

@BielBdeLuna
Copy link
Member

@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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 20, 2016

@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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 20, 2016

@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
Copy link
Member

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
#25 (comment)
.

@ghost
Copy link
Author

ghost commented Jan 20, 2016

@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
Copy link
Member

the map exporter last pushes are here: #29

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

@ghost
Copy link
Author

ghost commented Feb 14, 2016

@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
Copy link
Author

ghost commented Apr 13, 2016

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
Copy link
Member

yes. it works great

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants