don't click here

Helix Project

Discussion in 'Technical Discussion' started by Mr Lange, Mar 8, 2012.

  1. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    I hope this is an appropriate place to bring this up. I'd like to have a real discussion about it here, not just advertise it.
    Helix is a new kind of open source animation software in development. It uses the Flash approach but in full 3d with more powerful features like you might see in Blender. Its difficult to explain, you would have to read about it on the site.
    I just finished a basic video introduction to announce it publicly. We are looking for anyone with ability in Java or OpenGL, or perhaps just good 3d math or graphics knowledge. You should at least find the articles interesting, and if anything you'll enjoy the short Sonic animation at the end of this video, the hypothetical I'll be using in future breakdowns of Helix vs other software.
    The site is currently:
    http://code.google.com/p/helixproject/
    Here's the vid:

    And for good measure, here is the hypothetical Sonic animation by itself:
    http://www.youtube.com/watch?v=G_98XNtI5p0

    Anyone care to discuss?
     
  2. Chilly Willy

    Chilly Willy

    Tech Member
    751
    11
    18
    Doom 32X
    Uh - I'd change the name. There's too much other software/companies with the name "helix" to avoid a lawsuit if your package every gained more than niche recognition. The Almighty IP rules the market these days... be very careful about stepping on toes as most companies are lawsuit happy.
     
  3. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    If that happens, chances are I'll just be told to change the name. It'd be insane to lay right to a single word. Maybe if I named it Blink 182 we could see a legitimate lawsuit. Besides, Helix is open source, not a commercial endeavor.

    So, can we discuss the program itself, ignoring the name?
     
  4. GWells

    GWells

    Member
    9
    0
    0
    Hm, Helix? You really chose a name used by a company whose toes you really don't want to step on.
    Helix Project by RealNetworks

    Change it before they hit you with a totally frivolous lawsuit. And RealNetwork really does sue. Just look at what happened in the Netherlands if you want to see what they dare to do.
     
  5. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    And honestly, the word helix is just so...boring :v:

    Why don't you talk some about the technical aspects of the program. I'm interested, especially since I'm teaching myself java now.
     
  6. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    I'll give thought to the name. Can we press on?

    What are you looking for in the way of technical description? The google code site has some thorough articles I've already written in the wiki, and the source code for what we have so far is freely available. I don't know what more I could say, unless you want me to elaborate on, or at least bullet point, some of Helix's key features. Actually I should do that anyway:

    Flash-method Timeline
    Keyframes hold objects and all of their properties. Thus a keyframe's contents can be different from one moment to the next, and even interpolate values across keyframes given the objects involved are consistent across keyframes. This reverse of the typical hierarchy in 3d animation software allows for much more intuitive and versatile animation. You can have unlimited objects in a single keyframe and every object is still individual with its own properties. The next keyframe can be entirely different.

    Clips
    Similar to symbols in Flash or compositions in After Effects, clips have their own timelines. You can have keyframes and tweens in these timelines just like the root stage. Thus you can create animations of infinite complexity in a clip and nest that entire animation as a single object onto the parent timeline, into a single keyframe. You can instantiate a clip into any amount of keyframes at any point in time. Given the way Helix works with its method of timeline and keyframes, this is more powerful than After Effects or any other software's similar implementations, which seldom exist.

    Frame-independent Animation
    Frames are only a reference. While keyframes align themselves to frames normally, you can place and move them freely, having animation between frames, or stretching/scaling animations. Clips can be set to decimal frame numbers or have slower playback rates with fully interpolated animation. While this is typical of software such as Blender, it isn't for Flash and some others like Anime Studio which are bound to integer frames, despite having interpolation.

    Expressions
    Every property can be given expressions in its value input instead of only just plain numbers. After Effects has this power and it is invaluable for animation as far as I'm concerned. Helix will have very simple functions and a sort of object oriented method that can reference the properties in other objects. The whole topic on expressions will get very complicated so I won't bother right now.

    Defaults
    Every library asset can be given preconfigured properties, so that they always instantiate with an initial set of properties. For example, for a clip's frame number you could write r(0_1) which will generate a number between 0 and 1. Thus every time the clip is instantiated it will have slightly variated animation offsets. The defaults given to a library asset will apply whenever the object is instantiated, be it manually from library to stage, or if generated from particle emitters or mods. This eliminates a huge amount of typical settings usually demanded by particle systems, especially because clip animation obsoletes "over life" things like color and alpha. The animation potentials are infinitely more complex and accessible.

    Mods
    If an object is a generic container for an asset, a mod is a generic container for an operation. Any mod can be applied to any object. The mod may modify the object's appearance (visual filters, geometry distoartion), the object's transforms (parenting, constraints), or other aspects such as sound effects. There is also the action mod, which allows specific things to be triggered based on simple conditions. For example, an object can be instantiated when a property is tested true, or an object can be removed or replaced upon a collision. Consider when objects are instantiated they use their defaults, which eliminates the need to set initial properties. The action mod can be greatly simplified given the way Helix works. You can reduce all actions to "Set Property", "Create Object", and "Remove Object". For example, playing a sound is nothing more than creating the sound object. Mods are part of object properties so they can belong in its defaults. Thus you could add a physics mod to an object's defaults and it will always spawn with running physics. This alone eliminates the need for the particle system to have physics settings and creates a more generalized connected system.

    3d Sounds
    I've noticed in pretty much all software, sound features are horribly poor or barely exist. Flash is the one exception but even it is pretty lousy. Helix will have 3d sound objects just like a game engine/wysiwyg editor would. The sounds can be completely 2d or utilize its 3d transforms for volume and panning. All of its properties can be animated just like anything else. Sounds can even participate in clip objects, particle emitters, mods, etc.

    Tile Mapper
    This is a special tool Helix will have. It will allow rapid and bulk instantiation of objects from the library. You can select a library item, and the tile mapper can draw it into the stage. Can be placed by clicking, dragging, drawing lines or rectangles, etc. and all snapped to a grid or based on their bounding boxes, what have you. All of these objects can exist in a single keyframe but still be individually editable once placed. If we complete the transform mapper mod, this tool will obsolete the need for things such as foliage painting tools and the like.


    So, these are the features that make Helix stand out. Helix will also be able to work with skeletal animation, vertex animation, handle materials and texturing, uv maps, lighting and shadows, all that stuff. The renderer will probably be hardware and have in-game graphics kind of quality, or a bit better at least. We are not shooting for advanced things such as raytracing and all it brings. Hopefully we can integrate with a third party renderer for that. The features I've described are all in theory right now of course but I do not see why it cannot work. That is why I'll continue to make videos to illustrate my point and Robert will continue to prototype these features in the program until they can be fully realized.
     
  7. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Are you aiming to be better than Flash? Because a lot of those features sound like they go above and beyond Flash's capabilities.
     
  8. dsrb

    dsrb

    Member
    3,149
    0
    16
    Sure, except >implying their one is literally called Helix Project, which it isn't; they don't use the latter word at all. I'm not saying they wouldn't sue, but this is inaccurate. Anyway! Something other than the name.
     
  9. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    Yes, in the way of animation Helix will go far beyond what Flash can do.

    Helix will NOT have:
    Drawing tools. Flash has vector drawing tools and can handle and manipulate vector graphics.
    Programming language. Helix will have expressions but Flash has a complete programming language, actionscript, which is far more advanced.
    Web/realtime player. This is one of the things that makes Flash stands out and makes it capable of interactive applications. Helix is for rendering animations.
     
  10. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Why won't Helix have drawing tools? Why won't Helix have a programming language? Are they not in consideration at all? A realtime player being missing is understandable, though.
     
  11. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    The first question was answered by the video, wasn't it? It doesn't need drawing tools, because there's already specialized software for creation of models and textures that can do a damn good job at it. As far as I can tell, this project aims to do what ISN'T already being done right, namely, the animation itself. Having all the parts integrated into a single interface can be nice, but it's honestly better to be good at one task than mediocre at many.

    As for the second question, I would assume that a programming language wouldn't be particularly useful for something non-interactive that doesn't run in real time. The whole "do things, things happen" paradigm isn't really what this is going for at all, nor would pretty much anybody expect it out of something touting itself as 3D animation software.

    I have a question of my own: what sort of usage scenarios are you targeting here? Creating animated films, creating animations for other things (such as character movement animations for games) or both?
     
  12. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    Exactly. Helix will make the animation process significantly more intuitive and efficient by taking focus away from programming content development tools and focusing on the animation process. As much as I would love to include drawing and modelling tools, this is an open source project with very few people involved. I want the prime of its utility at the forefront of development and nothing unnecessary to get in the way, strangling our motivations.

    Again, exactly. I see a lot of things game engines do, especialy IDEs like Unity, that would be insanely important for animation, yet are never considered. Helix is not for game development though and I do not believe an animator should have to learn programming. They are two very separate departments for good reasons. I want Helix to have similar capacities though to make some of these things possible, and that's why a psuedo-mini-language and "condition response" system is being made, half visual half lingual, kind of like Blender's programming blocks but more simplified.

    Both, in fact even more than films or sub-animations.
    Helix will be ideal for animating things like mockups of gameplay, getting a visual idea of what a game might be like before it exists. That's one of the big reasons I want this developed. On top of that we see it alternatively as a vital game development tool. Not for developing the games themselves but a sort of catalyst for assets. The clip object for example I imagine would be extremely useful if it could be adapted for use in a game engine. The movie clip in Flash brings a fantastic paradigm for making games, but of course it ONLY works in Flash. It should be accessible in more powerful forms.