slallee

  • 2016년 7월 20일
  • 2015년 11월 9일에 가입함
  • Hi Pharan,

    I just tried your script and the behavior is still the same. I'm now updating Unity in case...

    EDIT:
    After updating Unity to the latest version (and keeping your script too) the problem is fixed. Thanks a lot ! If you want to me test some more stuff I'd be happy to :-)

  • Yes it looks similar. Although in my case it completely scrambles the whole skeleton, while in your it seems to use de wrong texture in the wrong place...

    Was just reading your post... In your case do you have any mesh separator in your skeleton? Are you spawning particules in the scene?

  • Yes, I confirm all your questions :-)
    I just tested again to build for windows and run outside of the editor and I have no problem. Only when deployed to an android device.

    I'm using Unity 5.3.0f4 and Mono2x as the scripting backend, so no IL2CPP...

  • Hi !

    I am encoutering a bug when I try to combine a Skeleton Render Separator with a particule system in Unity 5.

    If I have only the particule system the display is fine. If I have only the render separator the display is fine too. But if I try to have both at the same time here is the kind of bugs I am getting:

    Basically the menu with the blue tube on the right has some particule system, and the yellow character is using a spine skeleton with a separator for the arms.

    Note that the graphic bugs only appears when I deploy on an Android device, on my PC in the editor it looks fine...

    Any idea or suggestion is welcome.

    Cheers,
    Stephane

  • Hi,

    I am trying to play an animation reversed (from the end to the begining) from Unity.
    I'm pretty sure it is possible, as I read this part of the doc:

    http://esotericsoftware.com/spine-using-runtimes#Applying-animations
    Applying animations

    Animation apply overwrites the current pose of a Skeleton with the pose from the animation at a specific time:

    Skeleton skeleton = new Skeleton(skeletonData);
    Animation walkAnimation = skeletonData.findAnimation("walk");
    float animationTime = 0;
    ...
    function render (float delta) {
        animationTime += delta;
        walkAnimation.apply(skeleton, animationTime, true); * true is for loop
        skeleton.updateWorldTransform();
        renderSkeleton(skeleton);
    }
    

    In this example, the animationTime is incremented by the delta time since the last render. Next, apply is called which changes the bones and slots that have keyframes in the animation. If bones are changed, only the local SRT is changed. Next, updateWorldTransform is called to compute the world SRT for each bone. Lastly, the skeleton can now be rendered, which uses the world SRT for each bone.

    The time passed to the apply method controls the speed of the animation. It can be decremented to play the animation backward. An animation is complete when the time is greater than the animation duration.

    Because the animation time is not stored inside the animation, the animation is stateless and can be used for any number of skeleton instances.

    However, so far I have been using the animation state, with setAnimation() and addAnimation() and I never worried about updating the time and calling apply() and updateWorldTransform(). Is it something that is required? Why does it seems to work without it?