[TOOL] DAEnerys - DAE Ship Editor

(Christoph Timmermann) #462

Nice work. :slight_smile:
EDIT: I want to give DAEnerys an animation editor like that too sometime… but just editing the plain coordinate values of the tangents seems fiddly. Maybe a full-blown winforms control could be used as a curve display/editor?

I would also suggest using NumericUpDown controls for numeric values, it’s much nicer than standard text boxes. :wink:

Aww yeah, the group boxes suck so much using Windows 10…

(ajlsunrise) #463


Oh, but they’re not. :wink:

I’ve started something like that already, just as a thrown-together test:

This is {0, 0}, {1, 1}, {2, 0.5}, {5, 0} with In and Out tangents on all set to {1, 0}. I think I’m going to have to recalculate some points…

EDIT: Much better:

With CFHodEd’s tangent calculations:

(Christoph Timmermann) #464

Nice work with that curve editor. (once again :slight_smile: )

Why did CFHodEd have tangent calculations anyway? I thought it only supported linear interpolation?
EDIT: Also can you put some anti-aliasing on that? :joy:

(ajlsunrise) #465

CFHodEd’s tangent calcs turn it into, what amounts to, linear interpolation.

Wow… shows you how much I know about the WinForms graphics API. Just found out:

Graphics g = e.Graphics;
g.SmoothingMode = SmoothingMode.AntiAlias;

(ajlsunrise) #466

More work on the keyframe curve editing:

The keyframes are from the Hgn_Interceptor (slightly edited)… that last keyframe pair looks a bit odd still even after my manual edits to the tangent values… More experiments to come.

(Nathanius) #467

Gave this a test, the warp in played (it was a little jerky at the last couple of frames) and as before, the warp out refused to play.

As with my own attempt at from-scratch warp animations reversing the animations so warp out was played on warp in allowed for the other animation to play. Setting both animations to warp out or warp in had the animation play when the ship spawned but not on hyperspace after that. :confused:

@bitvenom, this is pretty much officially not something that I’ve done wrong :confounded:

(ajlsunrise) #468

How do you have your animations set up? Would you mind sending me a “working” example so I can play around with it?

(Herbyguitar) #469

I’m still believing it’s not the anim but the way the game handles it, which is why it doesn’t work no matter what you try…
What we have is two anims running for different situations One for warp out and another for warp in. To contrast this the stock HW anim is exactly the same anim for both “jump in” and “jump out”. The game is ignoring the second half of the anim…

(Nathanius) #470

Creating a working example would take a while, I can give you access to our SVN if you like? Or if you can decompile STCR.big everything is in there :thinking:

(ajlsunrise) #471

I’ll give the workshop item a download and see if I can piece together something I can play around with.

(Nathanius) #472

This is off topic now, lets continue this line of conversation in the bug thread

(ajlsunrise) #473

@Nathanius: Sounds good. I forgot about that thread. See you over there when I have something to share relating to that.

In other news:

There’s a lot of information in that picture. Let me see if I can break it down at all…

  • The yellow line connects each node/keyframe (this is a linear interpretation of the animation).
  • The red line is the “out tangent” direction of the node/keyframe.
  • The green line is the “in tangent” direction of the node/keyframe.
  • The blue squares are the plot of the curve (with unmodified tangents).
  • The black line is the plot of the curve, with modified tangents.

By modified tangents, I mean that I used the distance between each pair of nodes to alter the length of the tangent vector. Otherwise the curve looks like the blue curve. (That’s why the tangent lines are all different lengths.)

But maybe it doesn’t matter, because it’s just values it’s defining, not the time?

Okay, the orange values are all evenly spaced out on the x/time axis, and the y/value is defined by the value of the curve calculation. (I also scaled the tangents on the modified tangent lines by a factor of 0.5)

(With no tangent modifications:)

(Snake_B5) #474

Sorry for that, it was clearly not my intention to make you deviate from other / more important things. I just thought you were the best option to quickly confirm if there was indeed a difference between mad files (as it was a recurrent subject in the last few post).

(ajlsunrise) #475

During my experiments with STC’s warp animation issues, I’ve determined that the orange points are what the game uses for the values of the keyframe animations. What I haven’t yet determined is the effect non-normalized (i.e. not a length of 1) tangent vectors have in-game.

My next question for the community is this: How would you like all of this information presented? Just like it is presented in my last post (with the option of turning any of it on/off), eliminate some of it, or add more (although I’m not sure what more I could add…) ?

(Nathanius) #476

As a long time animator of things in HW2, I have to say none of your graphs make any sense to me. :sweat_smile:

CFHodEd taught me to animate in its own way, if this graphed information is important to animating in HWRM then I suggest some way to bridge the gap between the two conceptual worlds. No doubt this is something that’s also hidden in a sub-screen in 3Ds Max somewhere :thinking:

(ajlsunrise) #477

3ds Max:


(Christoph Timmermann) #478

CFHodEd and Homeworld 2 only had linear animation support. Back then you didn’t really need a graph view of your channels. You can still go with linear, but bezier curves are smoother, more dynamic and require less data.

(BitVenom) #479

CFHodEd was linear, yes - because they ‘cooked’ the anims on save using only linear tangents. HW2 itself (and RM) use Hermite splines - which aren’t the same thing as Bezier curves, FYI.

(ajlsunrise) #480

Well that is awesome information. Thanks!

(Christoph Timmermann) #481

Happy new year guys!
Here’s the new release: DAEnerys_b6746.zip

Added features

  • Added “Sect” parameters to navlights.
  • Added parsing of parameters under SUB_PARAMS nodes.
  • Engine glows can now be fully edited.
  • NavLights are now fully editable.
  • Updated DAEnerys badge.
  • Rewrote hierarchy/parenting system.
  • Joints can now be removed/added and are fully editable. (With drag & drop functionality in the tree view)
  • Added the option to change position/rotation increments in the settings window.
  • Markers are now displayed as arrows, representing their rotation.
  • Markers are now fully editable.
  • New ship mesh LODs now use the first material (if it exists) by default.
  • Added smooth zooming (with a checkbox in the settings).


  • Increased maximum value on NumericUpDown controls in the Animation tab.
  • Some GUI polishing.
  • Fixed the navlight timing.
  • Fixed that ship mesh names could not be changed.
  • Fixed some issues with LOD creation/removal.
  • Fixed scrolling of ship mesh material assign list.
  • Fixed lag on thruster strength slider.
  • The OBJ exporter now exports optimized meshes with correct normals.
  • Fixed hyperspace clipping plane.
  • Zoom and size levels are now at a better default when starting.

Transformation gizmos (like seen in the map editor) are coming too of course.
Have fun.