undead_ooze

  • 27 mai 2020
  • Inscrit 25 oct. 2019
  • I have not had the time yet to try a custom node, since the current conversion is at least acceptable for now I am currently working on higher priority tasks. I might have a go at it next week, will definitely post the results here when I do.

    Thank you for all your help so far!

  • That node is another one that is supposed to do that conversion but does not - it's a Linear to Color node that has optional sRGB conversion (that's the bool at the bottom). Visually the node does nothing when connected directly to the output color node, regardless of the state of the bool.

    As for the UI color from the icons that has been tested and confirmed both before and after the color conversion issues.

  • That was precisely the first thing I tried when I first created the SetSlotColor node, with undesirable results. I created the Slate to Linear function to try and fix the issue with the colors that resulted from doing the most obvious solution first, as you will see in the following screenshots.


    As you can see, I am skipping both the Unreal gamma correction node and the white lerp.
    Here are the results:


    What I want is for the color in the doll to match the color of the color selection UI. What I need is a linear color equivalent of the color displayed in the UI, which is what I expected of the Linear Color Set from Pow 22 node, but not what I got from it - in fact I believe this node does the opposite of what I had initially thought. Which is why I then added the white lerp node. Which helps getting the color closer in brightness level, but does not help with hue or saturation.

    Visually the linear color you get from the Break Slate Color node is the color you see when you turn off the sRGB preview in the Unreal color picker window. I need a linear color that looks like the sRGB enabled preview.


    @Harald after seeing your observation I decided to make the math conversion instead of relying on Unreal's conversion node. The results are far better but because the math node in Unreal only takes a float I can't get enough precision to make it better. Perhaps I should make the conversion in C++ and make a blueprint node for it for greater precision. Colors are very close, not exactly the same, though most people might not notice a difference.
    That said this is the closest I have managed so far.
    Here are the screenshots of the new conversion and results:


  • @Harald: for all the other tests i simply used a slate color and connected it to my Slate to Linear function. For the last doll of the test I bypassed that function entirely and simply put the linear color directly to the Set Slot Color node I created. Here's a screenshot - the Gray variable node there is a Linear Color variable, and in that last doll of the test it was connected directly to the return node, bypassing the conversion entirely, for testing purposes. The other dolls were tested with Slate Color variables that were put through the conversion.



    That's the code for the blueprint node.

    @Mario I am using SpineWidget UI component, which is why I kinda expected the colors to behave like the rest of the slate UI - though I should have known since I did make the node a linear color node.

  • Hello, I have finally been able to do this test as you asked. Here are the results:

    The gray area was done in photoshop. The values applied in Unreal are at the top, the results are at the bottom and were checked in photoshop with the color picker.
    The last doll was applied a linear gray, the rest the values were slate colors that were then converted using my method, with and without the lerp for testing purposes.

  • Thank you for your reply!

    Without the lerp to make the colors brighter the difference between the UI slate color and the color on the doll is even more noticeable, I tried several different ways of making that color conversion and that was the closest I managed to get to the original UI colors. Even with the lerp the orange on the second image is very clearly darker and more saturated than the slate color, not to mention it has a different hue.

    Yes, the original image is white. Before adding spine we were using just the texture as an image in the widget and the colors matched perfectly then with just tinting the image.

    I will try and make the test you proposed and will post the results. In the case the problem is not my color conversion is there anything else that can be done?

  • Hello, I need to be able to change individual attachment colors, is this possible in C++? I am currently using Unreal 4.24.3 and spine 3.8 downloaded from github on February 4.

    I have seen a post that suggests this is already working for C#, here: Can I Change attachment color?


    I have managed to create a working SetSlotColor(slot name, color) blueprint node by modifying the plugin source, however I am using widgets and the colors look different because the color selection UI uses the gamma corrected sRGB and the Spine widget slots use linear color - any ideas how to get the proper colors?

    This is the closest I managed to get to the umg colors, but it's still very noticeably different on the colors that were originally more saturated, especially bright yellows and dark blues.

  • Any news on this issue? Is there an estimate of when this could be fixed? Our project is still relying on spine and we had to push back our release to wait for this, so any update would be appreciated.

  • Thank you!


    Hello, are there any updates on this issue? Our team bought Spine exclusively for this and we were relying on it to ship our game.

  • Hello, I'm trying to set skins and attachments on a character using Blueprints but I'm having issues with it, both in a blueprint with the skeleton and on a UI widget. Using Spine 3.8.75, UE 4.22.3 and the spine runtimes 3.8

    The character loads just fine, and on the blueprint with the skeleton I can see the different skins using the Preview Skin functionality on the SpineSkeletonAnimation component. On the UI widget the character loads fine with the default skin, but if I change the skin at runtime using the SetSkin node the skin is loaded wrong, as if pulling from the wrong part of the atlas or as if trying to fit a different size character.

    The attachment does not generate any errors on the output log in Unreal, but using the Set Attachment node always fails, I have tried several different names on the attachment. Not sure if this is an export option that I am missing, or if a naming issue, or if I'm somehow missing a step, but this does not work.

    Here's the blueprint setup

    Here's what I believe is the same attachment I'm trying to set in the blueprint on the .atlas file:

    Here's the character with a skin properly loaded with the Skin Preview:

    Here's the character with the default skin loaded in the widget:

    Here's the issue on the widget, loading the same skin that was previewed in the blueprint: