Jump to content

loodakrawa

Members
  • Posts

    161
  • Joined

  • Last visited

  • Days Won

    19

Posts posted by loodakrawa

  1. I will give this a go tonight.  Are there any known limitations on this implementation ?

     

    Not really. The only thing is that this is just a C# implementation and it needs a little bit of work to use with any framework. It's not strictly plug n' play. But from my point of view, that's a plus because it keeps a clean separation of concerns.

     

    Let me know how your testing goes.

     

    In other news, I added the Unity example as well. Had a bit of trouble with Unity and source control but I think I got it under control now.

  2. Good news! While waiting for Lucid to answer my questions I found enlightenment and I managed to make Quadratic, Cubic, Quartic and Quintic curves to work.

     

    Also, I polished the MonoGame example and added another SCML to test various scenarios.

     

    I pushed the code on GitHub and hopefully it's going to work on other people's machines.

     

    I'd like to hear any feedback/suggestions you guys have.

     

    Cheers

  3. I'm glad you guys are interested! :)

    The implementation is working fine with the exception of advanced curve types (Quadratic and Cubic) - I contacted lucid about it and currently waiting for clarification.

     

    In the meantime I'm polishing the MonoGame example.

     

    I'll give it a day or two, and if I don't get an answer / don't manage to solve the curves issue, I'll publish it with just the linear curves and update it later.

  4. Hi guys,

     

    I attempted a rather different approach and made a pure C# implementation of Spriter that can be used with basically any .Net based framework. I'm going to release it as an open source project in the next couple of weeks.

    Also, I'm going to provide examples in several frameworks (Unity, MonoGame and SDL.Net). And to provide that, I need actual .scml files.

     

    Are these the most up-to-date official .scml files? If not, where can I find the most recent ones?

    Also, how are they licensed? Or in other words, can I distribute them as examples in my library?

  5. SpriterDotNet
    A simple, fast and efficient Spriter implementation in pure C#. Feature complete.
     
    About
    The goal of SpriterDotNet is to be as fast as possible while keeping the code clean and readable. Being a pure C# implementation, SpriterDotNet doesn't depend on any external libraries / frameworks. It focuses on simple and efficient calculations of all transforms at a given point in time. This allows using it with any framework just by mapping calculated transforms to concrete objects.
     
    Supported Features
    • Basic animations
    • Bone animations
    • All curve types (Instant, Linear, Quadratic, Cubic, Quartic, Quintic, Bezier)
    • Points
    • Collision Rectangles
    • SubEntities
    • Events
    • Sounds
    • Variables
    • Tags
    • Character maps
    • Animation blending
     
    Plugins / Examples
     
    Source Code
     
  6. Hi, I found a scenario where some of the timeline keys get doubled. For example:
     

      <entity id="0" name="entity_000">        <obj_info name="bone_001" type="bone" w="718.421" h="10"/>        <animation id="0" name="Idle" length="1000" interval="100">            <mainline>                <key id="0">                    <bone_ref id="0" timeline="0" key="0"/>                    <object_ref id="0" parent="0" timeline="1" key="1" z_index="0"/>                </key>                <key id="1" time="500">                    <bone_ref id="0" timeline="0" key="0"/>                    <object_ref id="0" parent="0" timeline="1" key="3" z_index="0"/>                </key>            </mainline>            <timeline id="0" obj="0" name="bone_001" object_type="bone">                <key id="0" spin="0">                    <bone x="363.157895" y="5.263158" angle="180"/>                </key>            </timeline>            <timeline id="1" name="torso-armor">                <key id="0" spin="0">                    <object folder="0" file="2" x="388.164529" y="7.931817" angle="180"/>                </key>                <key id="1" spin="0">                    <object folder="0" file="2" x="-57.894737" y="-67.105263" angle="180"/>                </key>                <key id="2" time="500" spin="0">                    <object folder="0" file="2" x="-57.895" y="-67.105144" pivot_x="0.947577" pivot_y="0.701754" angle="180"/>                </key>                <key id="3" time="500" spin="0">                    <object folder="0" file="2" x="388.164266" y="7.931936" pivot_x="0.506371" pivot_y="0.537199" angle="180"/>                </key>            </timeline>        </animation>    </entity>

    The object_ref references the keys 1 and 3 only but the timeline actually has 4 keys, two at 0 time and two at 500 time. Is this a bug or did I miss something in the documentation? If this is not a bug, how to handle it in the implementation?

    Steps to reproduce:
    1. Create a bone

    2. Add a sprite and attach it to the bone

    3. Create a new keyframe

    4. Move the pivot point of the sprite in the new keyframe

  7. (I'm posting here because I have a bone related question and most other similar questions refer to this thread)

    Because it is my first post, I have to say that Spriter is an amazing program and believe it has a great future. Keep up the good work! :D

    I'm trying to do a haxe/nme implementation. I managed to do the rendering (with tweening) of simple animations. Now, I'm struggling with the bone implementation.

    I read this thread several times and I'm pretty sure I understand how to apply parent/child transformations (in one pass). However, I'm not sure how to combine this with tweening. Do I have to:

    - tween each bone's/object's transformations and then calculate the hierarchy

    or

    - calculate the hierarchy and then do the tweening on the final result

    or

    - something else I'm missing

    I guess the first approach is correct because the second one can be reduced to baking transformations to objects, but I just want to make sure I'm doing the right thing from the beginning.

×
×
  • Create New...