eq2k

  • 2014年11月20日
  • 注册于 2013年7月31日
  • FYI link now appears dead...

  • Hi,

    Was thinking to myself it would be cool if spine had some kind of image loading plugin. That way for example vector images could be loaded in and rasterized via the plugin. Then this allows for vector images to be used in game with the existing editor and runtimes can be updated to use resolution based rasterized images.

  • Thanks, updated and working again 🙂

  • Spine Launcher 2.0.11-full
    Mac OS X x86_64 10.10.1
    Java 1.7.0_51 Oracle Corporation
    Java HotSpot(TM) 64-Bit Server VM
    Up to date: 2.1.02
    Licensed to: xxxxxxx
    Spine 2.1.02 Professional, JGLFW
    NVIDIA Corporation
    NVIDIA GeForce GT 750M OpenGL Engine
    2.1 NVIDIA-10.0.43 310.41.05f01
    Started.
    java.lang.NullPointerException
    at java.io.File.<init>(File.java:277)
    at aw.<init>(SourceFile:76)
    at ak.<init>(SourceFile:29)
    at al.c(SourceFile:47)
    at com.esotericsoftware.spine.editor.Editor.a(SourceFile:406)
    at ac.d(SourceFile:182)
    at lw.d(SourceFile:79)
    at ac.a(SourceFile:177)
    at ad.run(SourceFile:87)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

  • justifun :

    I'm a professional animator with over 13 years experience. I'm seeking out a javascript programmer to develop a spine runtime plugin for the Construct 2 Game engine. Hopefully we can find a solution that will mutually benefit both of us.

    The SDK for construct is here
    https://www.scirra.com/manual/15/sdk

    If you don't require any animation work to be done, but wish to work out a paid deal for the programming work, please also contact me.

    If your stuck, I maybe able to help, I have 34 years of programming experience and from what I can tell is just case of porting the existing javascript runtime to be Construct 2 compatible..., although i will also have to find out if the Plugin api will allow a rendering type plugin.

  • Was UK but recently moved to Vancouver, Canada

  • Hi,

    Wondering if anyone can help, started creating a IDE using LibGDX and want to create a Actor that has zooming identical to Spines, zoom to cursor / zoom away from cursor. Was wondering if anyone would be able to shed light on the algo used, Ive done the usual googling and the current algo's I've seen aren't quite right.

    So far I'm using the following in the draw method, where mousePos.x,y is coords relevant to the centre of container and pointer ...

    Matrix4 transformMatrix = camera.combined.cpy();
    transformMatrix.translate(-mousePos.x, mousePos.y, -1);
    transformMatrix.scale(scale, scale, scale);
    transformMatrix.translate(mousePos.x, -mousePos.y, 0);
    shapeRenderer.setProjectionMatrix(transformMatrix);
    

    Any help greatly appreciated.....

  • Hi,

    Been doing some work with kinect recently and guessing wouldn't be too hard to record the bone data in a timeline based json format. I could create a tool to record and export or create a tool to convert something like nui-captures output into something more useable.

    If it is of interest to people and spine could eventually use that data then i might go ahead and create whats needed.

  • Thanks great stuff 😃

  • Yay 🙂 i just seen you've fixed bug thanks Nate 🙂

    btw since cocos 3.1 is final you could update the Matrix/Vector2 to the Mat4/Vec2.

    You could also add the following to SkeletonRenderer.cpp to remove warning that is missing.

            case SP_ATTACHMENT_BOUNDING_BOX: {
                break;
            }

    Thanks again 🙂

  • Nate :

    The example switches between the spineboy and goblins scenes without issue, not sure why your skeleton would be different. What makes you sat the code you posted is the problem?

    Removing it = no crash, adding back in = crash 🙂. In polygon batch i saw the texture size was 256x128, and thus was able to pinpoint to that anim as was only one that used that texture size 🙂

    Update: seems to be same problem in other parts of my app also.

  • Nate :

    triangles is assigned in initWithCapacity and then never changed. How did you get it to be 0? :wonder:

    Sorry just dbl checked Xcode mis-lead me triangles has a address with a value of 0 at its location, not triangles = nil.

    If it helps the problem is occurring on a scene transition, so maybe the polygon batch flush is happening on something that has become deallocated?

    Update: found the code thats causing problem (being run on init scene)....

        this->angelActivityAnim = SkeletonAnimation::createWithFile("spine/angel-activity.json", "spine/angel-activity.atlas", 1);
        this->angelActivityAnim->setAnimation(0, "flying", true);
       this->angelActivityAnim->setPosition(Vec2(visibleSize.width / 2, visibleSize.height - 40));
        spSkeleton_setSkinByName(this->angelActivityAnim->skeleton, "off");
        spSkeleton_setSlotsToSetupPose(this->angelActivityAnim->skeleton);
        this->angelActivityAnim->setScale(Director::getInstance()->getContentScaleFactor() * 0.25);
       this->addChild(this->angelActivityAnim);

    Ive added anim file as attachment if helps...

  • Hi,

    Seem to be experiencing a crash in the PolygonBatch::flush method (I've just done a pull on spine runtimes so am using latest version)...

    Crashes on the line (EXC_BAD_ACCESS)...

       glDrawElements(GL_TRIANGLES, trianglesCount, GL_UNSIGNED_SHORT, triangles);

    if it helps a quick watch shows trianglesCount = 24 and triangles = 0/nil

    Let me know if I can help with any other additional info...

    Thanks

  • Its a tough choice as 3.1 is currently at rc0 stage, and at rate they have been doing things means release version will be out in a few weeks. For my project I took the decision of doing my game with then 3.0 beta and have been tracking changes from there. I knew by time i finished project version 3.0 would be final, now I'm still doing game and 3.1 is almost final 🙂. At least upgrading my project as i go saves me from doing lots and lots of updates 🙂

  • Well i found out what was causing the blank textures, as to it happening I'm not sure if it should..

    A bit of background story, i have a large app with a lot of spine assets on each page, i noticed memory use each page kept going up and up despite me doing things correctly. It turned out the texture cache was just getting to big. So i added the following line to clear the cache at key points.

    Director::getInstance()->getTextureCache()->removeUnusedTextures();

    Previously this would de-allocate any textures that where unused even things like old background images (non spine) etc...

    What is happening now is the textures are being removed despite spine currently using them. So appears to me to indicate the textures used in spine are not incrementing the reference count now.

    I took your advice and being lazy and a programer i knocked up a quick tool to check all my png's where pre-multiplied alpha or not and batch convert them all to pre-multiplied. Saved me a lot of time 🙂. Now everything looks and works perfect apart from above.

    Update: think i found reason... spine-cococs2dx.h needs to be updated as follows...

    void _spAtlasPage_createTexture (spAtlasPage* self, const char* path) {
    Texture2D* texture = Director::getInstance()->getTextureCache()->addImage(path);
    texture->retain();
    self->rendererObject = texture;
    self->width = texture->getPixelsWide();
    self->height = texture->getPixelsHigh();
    }

    void _spAtlasPage_disposeTexture (spAtlasPage* self) {
    ((Texture2D*)self->rendererObject)->release();
    }

  • Just had the same problem, was due to fact I needed to now pre-multiply all my textures. for best quality. Just wrote a quick tool to run thru all my spine assets and premultiply all the png's that have not already been pre-multiplied. Saved me a lot of time.

    Btw i also noticed the spine runtime with v3.1 rc0 (direct from github at mo) needs updating as various structures in cocos have been renamed + other tweaks. Working towards getting a updated version for Nate to be able to pull.