[TOOL] DAEnerys - DAE Ship Editor

Yeah pretty much.

And big picture I’d love to integrate this with a full blown project manager that keeps track of your races, your build and research lists, weapons, and effects.

A lot of files in HW reference each other, so being able to make a project manager that can just give a list of all the files referenced by the one you’re looking at and vice versa would be awesome for navigating all these directories.

2 Likes

I have an project that does a lot of this stuff, parsing a whole mod into a database to do things too. It’s never been quite complete though, and it’ll be pretty broken as of this week, aaaand it’s kinda fragile and hard to set up. https://bitbucket.org/EatThePath/homeworld-2-mod-companion

1 Like

As a very long-time tools author (I used to be NPherno and wrote a ton of tools for Quake model editing) - I just have to say… Ya’ll are crazy :wink:

I respect and admire the type of crazy you are, but still, ya’ll are crazy!

Keep it up though, that sort of crazy is what gets ish done…

4 Likes

Absolutely bonkers, make no mistake.

2 Likes

Definitely keeping an eye on this thread, if you guys can recreate the animation experience from HODed then you would make so many lives so much easier…

1 Like

Update!

I came far today.
Edited much, much internal stuff to make the future easier for me.
The editor loads textures, UV-maps, all meshes and their multimaterials now!


I tested it with simple shading too, it displays the GLOW(selfillum) maps correctly.
You can show and hide meshes with the little checkboxes at the left.

And I duplicated the Homeworld ingame camera behaviour for the editor, you can now look at the model from all angles and stuff.

All meshes are at the zero-position right now, so I can’t show you any engine-meshes etc. yet.

10 Likes

Oooooh :smiley:

That’s seriously cool stuff, I was always thinking the same thing too ever since modding invented the idea of a stupid number of steps :smiley:

You definitely need to get this on GitHub I’d love to help if i have the time, as im sure everyone else does!

My idea:
Import Ship .OBJ to Ship Editor
Import Turret OBJ (Blender style right click to choose location).
Import Engine Thurst .OBJ

Or, select Meshes and mark as hardpoints.
IMO, 3D tools would be best used only for 3D. All Homeworld related stuff through the tool.

Ideally a Homeworld render button that uses similar shaders or exports, throws out a level script, then starts the game windowed with your ship…would be the best finaly out come :smiley:

1 Like

Now this i like :smiley:

cannot wait to use it!

1 Like

@PayDay, Did this ever get to GitHub or BitBucket? :smile:

1 Like

Oh dear, I changed from XNA to OpenTK/Mono again, but faced more and more problems.
I worked on that editor some months ago, because I have to do much for school right now.

Sorry for that, I think I will get into this again soon. Maybe uploading it to BitBucket then.

2 Likes

Hello guys, I’m finally back!

I learned and developed much since my last try on this, especially regarding OpenGL and 3D-rendering in general. Due to my current holidays, I decided to work on this tool again.
I spent the whole last days (and nights) creating an engine that is capable of the things needed for this. It runs on OpenTK (a low level .NET wrapper for OpenGL) with a Windows Form around it.

Currently it loads every .dae (at least I hope so), it’s meshes and linked textures and joints with positions and rotations (still buggy on some).
I will continue on the viewing and testing features, after that the editing and exporting will be implemented.


Now guys, I would like you to download the tool and load some of your ships with it. Report any problems/crashes here please.
Windows x86/x64

@DKesserich
I have had some problems with the collada files exported by your addon.

In library_effects, there are missing alpha values for emission, diffuse and specular colors.
Furthermore the color parameter under the reflective node is missing sid=“reflective” aswell as an alpha value.

I implemented a little fix before importing the file using Assimp, but a fix for your exporter would be way better.
The files in the workshop examples contain these things, so it should not be a problem for HODOR at all.

3 Likes

My understanding of Homeworld:RM was that it didn’t actually use any of those values out of the DAE material, it just uses the initial texture reference to get the rest of the textures to drive those effects, with underlying colours for emission and spec being driven by the diffuse map.

Am I wrong?

1 Like

That’s true, but Assimp crashes without these values, and it would allow me to remove these ugly string manipulations.

Outstanding work!

2 Likes

This looks great! But you are right - it seems to open max-generated DAEs fine:

But it is struggling with blender-generated DAEs:

One thing I noticed was that it seems to keep getting the engine burn flames in the wrong place… They are actually correctly located behind the engine…

3 Likes

Thank you for testing :slight_smile:

It should load blender DAEs fine, I implemented a fix for that.
This looks like a missing texture, be sure that the texture is at the right place and correct in the .dae.
I will try to show a warning if it fails to load any texture next time.

About the engine flames, it does weird things with joints in the 3rd layer and below I think. Rotations of markers for example are messed up too, I still have to look into that problem.

1 Like

First and foremost, excellent work! If non-modelling work can be taken out of MAX that would make things so much easier for the less artistic/capable among us :stuck_out_tongue:

Here’s a DAE from MAX, the joints seem to be a bit weird. Would you like me to PM you the source file?

This ship was done in the currently available RODOH, the turret joint seems to be out a little bit here too (the joint is supposed to sit on the phaser strip)

And it didn’t seem to handle very large things yet :stuck_out_tongue:

2 Likes

The old version had an error in the rotation conversion.
I have to convert the 4x4 Matrix from the .DAE to translation, rotation and scale.
The rotation has to be converted from a quaternion to euler angles (Vector3).
For some reason the pitch and roll values had to be inversed, and the pitch valued negated. I fixed that last night.

@Nathanius
About your large ship (beautiful ships btw.), this is just the draw distance of my renderer, so nothing to worry about there. I will add a slider in the settings window.
The renderer has serious performance issues though, I only get around 50FPS when I should really have something like 1000.

The recursive positions of some joints (like the EngineBurns) are still problematic, I am looking into that right now. Thank you, I don’t need your DAE yet. ^^

EDIT: Nodes that are children of rotated nodes should get translated, this is not implemented yet. Of course it’s not working. Working on that now.

Dockpaths
They get parsed and displayed as a polygonal 3D line for now.
I need some help with the enumerations for dockpath and segment flags:
public enum DockpathFlags { EXIT = 1, LATCH = 2, ANIM = 3, AJAR = 4, }

public enum DockSegmentFlags { USEROT = 1, PLAYER = 2, QUEUE = 3, CLOSE = 4, CLEARRES = 5, CHECK = 6, UNFOCUS = 7, }
Did I miss some of them?
And if yes, what are their exact names?

2 Likes

There is another “DockSegmentFlags” entry called “clip”.

Did you update the download?

1 Like

Not yet, I will release a new version tomorrow. I added many features and fixed many bugs.

Thanks for that flag, I am working on parsing mesh metadata right now. There are ‘Tags’ on them, is there any other than “DoScar”?

1 Like