Bryant

  • 6 juin 2016
  • Inscrit 3 nov. 2015
  • I'm trying to achieve the same effect as hitnoodle in the Spine/Skeleton shader, but I'm running into the same troubles 🙁 I tried commenting out everything in the fragment function and just returning my overlay colour, but it has no effect on what gets rendered.

    I don't know enough about shaders to fully understand everything in the default one 🙁 I'm assuming I can't just edit the fragment function because of all the shadow caster logic in there? Is there a simple way to render a skeleton in a solid colour like in hitnoodle's example above? 🙁


    05 Jun 2016, 14:59


    Hmm... I just noticed the SkeletonGhost shader, and I think that does exactly what I need if I set the Texture Fade Out value to 1.0 🙂 Modifying Unity's built in Unlit/Transparent shader slightly also does the trick 🙂

  • Hi bali & Pharan,

    Have you guys found a workaround for this? I have exactly the same issue right now with my asset bundle setup 🙁

    All of my art assets are in one bundle, which variants for each target resolution (e.g., art.sd, art.hd). The art asset bundles also include my Spine assets, since each variant has a different atlas and Skeleton scale. I have my scenes in separate asset bundles, and those scenes have dependencies on the art bundles.

    When I load a scene and its dependencies with the default (HD) variant, everything works fine. But when I load a scene with the non-default variant (SD), all of my Spine objects lose their references to their Skeleton Data Assets.

    All of my non-Spine objects work just fine. What this suggests to me is that the Skeleton Data Assets in my variant bundles are somehow being assigned a different GUID than the assets in my default bundle.

    This is a huge blocking issue for me right now 🙁 Any ideas? 🙁


    08 Apr 2016, 15:19


    I found a clue! 🙂

    My suspicion now is that there's a bug in Unity's scene loading behaviour when a scene contains references to a ScriptableObject data type that needs to be loaded from a variant asset bundle.

    I created a test scene that displays an HD Spine animation. It also loads a dummy ScriptableObject data file that has nothing to do with Spine. I placed all of my HD Spine assets + my dummy data asset into an art.hd asset bundle. I then created an art.sd asset bundle variant that has clones of all of the HD + dummy data assets. Lastly, I placed my test scene in its own asset bundle.

    After building the bundles, I load the test scene and all of its dependencies using the .hd variant. Everything works as it should 🙂 I then load the test scene and all of its dependencies using the .sd variant. Now, any component in the scene with a reference to a ScriptableObject asset (like the Skeleton asset and my dummy data asset) loses its reference, and everything is broken.

    So, it's not a problem that's specific to Spine.

    I did discover a workaround for the issue, though! If I manually call assetBundle.LoadAllAssets() on my dependency bundles before loading the test scene, the ScriptableObject assets get loaded correctly and everything works! 🙂 That makes me think that Unity's scene loading isn't properly calling assetBundle.LoadAsset() on the ScriptableObject types when using a variant bundle.

    I hope that helps! I'm going to test this in the 5.4 beta, and if it's still an issue, I'll report a bug to Unity.

  • I'm learning as I go! 😃 Thank you for the help. The artist is tweaking the meshes right now, so hopefully that does the trick 🙂

  • I think this is what you guys are asking to see? 🙂 I didn't even know you could edit meshes within Spine... I thought it just used quads for everything 😃 But it seems like my artist has meshes setup for some (not all?) of the images:

     Loading Image

    We'll try adding some padding to the meshes! I'll report back after giving it a try. Thank you for the recommendation 🙂

  • Unfortunately, I think we're too far along with the rigging and animating to revisit the source images 🙁 But all of our source images do already have a fair bit of padding around the edges already. The umbrella piece that I've been showing above, for example, has between 50-80px of padding depending on the side. How more much padding do you think we would need to add to get around those export artifacts?

    Here's one of our rigs:

     Loading Image

    We should have tested the PNG export a lot sooner, but we only started thinking about abandoning the Spine runtime pretty late in our process 🙁

  • I have no idea how much work this is on your end, but defaulting to OpenGL 2.x while giving us the option to use 3.0 sounds pretty reasonable 🙂 I'm sure I'm in the minority already for needing the PNG export functionality 😃

  • That's unfortunate 🙁

    Do you know if this problem occurs in Windows, as well? I tried exporting via a Windows virtual machine (through Parallels), and I think it uses DirectX 10, but MSAA wasn't even supported in the editor, let alone the PNG exporter 🙁

  • I'm pretty sure! Here's a screenshot of my settings menu:

     Loading Image

    I restarted Spine after setting it to 8x (the asterisk won't go away though... I'm just guessing that means I changed it from the default setting?).

    And here's a screenshot of my character in the editor. It doesn't have any of the artifacts present in the PNG export (I'm still seeing the same artifacts that I showed in my initial post):

     Loading Image

    Are there any other steps I may be missing? :-/


    Edit: One more thing that might be relevant... I'm running Spine on OS X El Capitan on a Late 2012 iMac with a dedicated graphics card, and an Early 2011 MacBook Pro with an integrated Intel card. Both exhibit the same behaviour.


    Edit again: I also tried exporting with just 2x anti-aliasing, but that didn't help 🙁


    Oh! And just in case it's helpful, here's the contents of my spine.log file when running on my iMac:

    Spine Launcher 1.8.14-full
    Mac OS X x86_64 10.11.1
    Java 1.7.0_51 Oracle Corporation
    Java HotSpot(TM) 64-Bit Server VM
    Up to date: 2.1.27
    Licensed to: *****, *****
    Spine 2.1.27 Professional, JGLFW
    NVIDIA Corporation
    NVIDIA GeForce GTX 680MX OpenGL Engine
    2.1 NVIDIA-10.6.47 310.42.05f01
    Started.

  • Oh! I didn't even notice that option in there. Sorry! 🙂 That did the trick! Thanks so much! 😃


    Hi Nate 🙂

    Sorry, I spoke too soon! Enabling MSAA in the settings clears up the artifacts in the editor, but doesn't have any effect on the PNG sequence export. I also tried exporting the animation as a movie, and the artifacts are still present.

    Is there a separate setting for enabling MSAA on the exported images?

    Cheers! 🙂

    Bryant

    • Modifié
  • We're authoring all of our animations in high resolution at the 4K standard, but when the art assets are that high res, Spine introduces some graphical artifacts both inside the editor and in the PNG export.

    Here's a portion of a couple frames from one export:

     Loading Image

     Loading Image

    Is there any workaround for this? The artifacts aren't in the source assets, and it's very noticeable in the export 🙁

    Cheers! 🙂

    Bryant