vavius

  • 2016年8月3日
  • 2013年8月22日に参加

    Thanks for a great reply.

    We've found another workaround for our case (disable inherit scale for one more bone up in the hierarchy).

    I think that everything can be left in its current state, as you point out this is a very rare case.
    I believe the right way is to trying to avoid negative scale as much as you can. Like prefer flipping the attachments in setup pose, not bones.

    Transform constraint is a great tool!

  • Bug can be reproduced with simple 3 bone setup.

    I disable scale inheritance on the last bone and the first bone has key on x or y scale to some negative value. Then if I rotate middle bone, the last one rotates in the wrong direction.

    Test project is in attachment.
    Go to animation mode and try rotating bone2.

    • 編集済み
  • We've ran into the same problem recently. I consider this as a bug.

  • スレッド:MOAI C++ runtime
    • 編集済み
  • スレッド:MOAI C++ runtime

    This is my second attempt to make high-performant Spine runtime for MOAI.

    My first runtime was written Lua and used native Moai classes for animation. The performance was awesome, something about 5-10x faster than official Lua runtime (since all the heavy math was done in C++ by Moai internals). But it was really hard to keep features in sync with Spine editor, so I decided to write a C++ Spine bindings.

    Features:

    1. Bindings for official C-runtime. Native performance without overhead

    2. Convenient MOAISpineSkeleton class (subclass of MOAIProp) with animation helpers

    3. Procedural animation support - you can get instance of MOAIBone (inherited from MOAITransform) by name and link attributes, apply ease driver animations, etc.

    4. Same applies to slots - animate visibility and color

    5. Custom texture loader callback in MOAISpine to implement texture cache

    This is a Moai plugin that works with plugin system from v1.5:
    https://github.com/Vavius/plugin-moai-spine

    Thanks for help!

    • 編集済み

    I want to paste some key data into currently selected key. Is there some way to select a key but don't change the current frame, so I don't loose focus.
    I found that I can make this by dragging selection rect around needed key, but it can be error-prone if I have other keys nearby. Maybe there's a hotkey for the task?

  • スレッド:MOAI custom runtime

    New update is ready:

    • Atlas support. Multipage, rotation, whitespace stripping and texture filters are all impemented. Currently there is no support for WrapX/Y (I may add this if somebody needs it)

    • Skins support

    • Many small bug fixes and some API change

    Roadmap:

    • Animation blending system. This one requires some Moai SDK core modification.

    • Animation management, maybe something like AnimState in official runtime. Or something more complex like behavior trees or blend trees from UDK. I'm not currently making a game with this runtime, so it's hard to say what approach would fit the best.

    • Physics (box2d) integration. This will come with bounding boxes in editor

  • スレッド:MOAI custom runtime
    • 編集済み
  • スレッド:MOAI custom runtime
    • 編集済み

    I'm implementing a custom runtime for MOAI SDK. Generic lua runtime performs all the math in lua, which is obviously a bit heavy, so I've decided to make a specialized MOAI version - it is also written in lua.
    Another option could be integrating generic C runtime into Moai core as is, but it won't fit into Moai architecture nicely.

    MOAI itself have pretty good feature set for animating things: there are already animation curves with different easing types (but no bezier, so I've just create 10 more keys with linear interpolation between them), action tree and dependency graph.

    So, my runtime just creates a skeleton, where Bones are MOAITransform objects that are properly parented. Slots are MOAIProps (sprites), they are bound to corresponding bones. Texture info and rect is stored in Attachment which is just a lua table. Animation object is subclassed from MOAIAnim, all curves and keys gets created at load time.

    Currently it is implemented as flower-extension (single file): https://github.com/Vavius/Hanappe/blob/ ... /spine.lua

    It's a rough prototype, a lot of work to be done - skins, animation blending, some samples.
    Performance increased dramatically. On my iPhone5 generic lua runtime can show 8 dragons at 60 fps and 12 dragons cause drops to 30-50 fps. Custom runtime renders 40 dragons at 60 fps.