• Announcements
  • Spine 4.2 imports PSDs directly, no Photoshop scripts needed

Davide

Yes, that just im happy to report thing that doesnt work in my project.



    Related Discussions
    ...

    valahaha

    Ok, I see. It's folder in combinatino with skins.
    Currently the skin tag is always prepended, then folder is applied, regardless order in the PSD.
    While in the photoshop script this does respect the order.

    Thanks again and we'll try to fix this too in the next release 👍

    I have noticed when I export to psd using Krita the alpha inheritance (it acts like a mask) doesn't work. I tested it and this happens. Could this ever be fixed somehow without me needing to create a copy of the original file with all the layers merged? This isn't the best workflow because whenever I have to change something I need to create a new copy and re-merge everything. Or maybe is there a place in the roadmap to accept krita files as well?

    test.zip
    657kB

      eli_stergiouli
      Thanks for reporting this.

      Unfortunately Krita doesn't seem to export into the psd file the information about alpha inheritance.
      If you open the psd using Photoshop or Krita itself, you'll notice that the information about alpha inheritance is lost.

      We'll try to open an issue about that on kryta github since currently it's a problem on their side.
      Regarding supporting directly kryta files, that will be difficult, but we're thinking about other file formats like ora and tiff.
      Exporting in ora using Krita seems to preserve alpha inheritance.

        Davide Having open standards available would be amazing. Really not a fan of import being based only on a proprietary standard, which FOSS software has to reverse engineer so there always will be issues around that.

          T.Fly()
          Like importing TIFFs as well?
          Are there any open formats that support the same features that PSD does?

          There's not really such a thing as "features PSD supports". PSD supports ALL features of Photoshop. There are things Photoshop does that are unreasonable for other software reading a PSD to do, like linked PSDs, rasterizing vector, applying fancy filters, etc. Only a subset can reasonably be supported, and even then it's nasty because it's proprietary. Most apps just write pixel data to PSD and ignore everything else. PSD is popular, but it isn't good.

          Yes, TIFF and/or ORA could be better interchange formats.

          Davide a few days ago when I tried to export another project of mine to .ora and open it with gimp the alpha inheritance was lost. Maybe it was gimp's fault? Did you test it with another software? If Spine where to accept .ora files I would be very happy! Do you think this will be implemented in the future?

            • Düzenlendi

            eli_stergiouli
            Gimp seems to have limited support for .ora unfortunately.

            We're focusing on stabilizing physics, skin folders and PSD processing, and currently we have no particular plan on supporting new file formats. We just had a thought about it.

            Regarding alpha inheritance not exported in PSD as a clipping mask I saw on Krita issue tracker that there are issues opened since 2015/2016 and they are silent. That's not good news. Maybe you can try to give a +1 on those issues.

            I can understand how frustrating it can be to copy and merge everything. Maybe we can add a [clip] tag to treat the layer as a clipping mask, but that would be very specific to Krita.

            We'll think about it and see what we can do. If something reasonable can be done to support your use case, we'll let you know. 👍

              你好,关于原点,我想说说我的想法。
              希望原点图层除了包括[origin]的命名规则外,我认为以这个图层的左上角第一个像素作为原点会好一些,原因是:
              1)无需手动去寻找中心在哪。
              2)我可以画一个方框,这个方框的左上角为原点,右下角为画布的角落,用绘图软件中的Ctrl + T 来检查这个如此是否被移动过,以此判断原点是否正确。如果是图层中心为原点,则不容易被检查出来

              关于直接导入PSD相关的功能,我还有一个小小的建议。希望能有一些命令可以让图层不会导入到spine中,例如带有“[no]” 命令的 图层 或 图层组 都不会被导入到spine,这样可以节省很多“删除不必要内容”的时间,同时又可以在PSD文件中留下这些内容。(这些内容可能是备用的,也可能有其他用途)

                toven

                You can already ignore layers or entire groups using the [ignore] tag.

                Currently, the origin is set using the first X and Y guides found in the PSD or in the center of the canvas if guides are missing. Unfortunately, not all software that exports in PSD format stores guides in the file.
                This is why we were considering adding support for an [origin] tag. When we implement it, we will take your suggestions into consideration.

                To use the center of a layer for the origin, I expected someone to draw an X, so the center of the X is the origin.

                Davide It would be amazing if you could include a [clip] tag in the future! I hope someday you have some time to do that. thanks for trying to help!

                  habahu 我明白了,谢谢你的解答,能否改进一下psd导入功能,比如增加一个自动合并剪贴蒙版的选项。

                  This has been implemented v4-2-38-beta.
                  Now clipping masks are merged with the layer or group below as if they were contained into a [merge] tag.

                  eli_stergiouli

                  I did research on how alpha inheritance works in Krita and how it differs from Photoshop clipping masks. The main difference is that a clipping mask is bound to the layer or group below, while alpha inheritance will inherit the alpha of all layers below.

                  This implies that implementing a [clip] tag to make a level work as a clipping mask would only work in a single scenario where you have a group layer with two layers, the first with alpha inheritance. If the group layer had a third layer, the clipping mask would not be applied to the third one but only to the second.

                  So I'm sorry to say that it's not possible on our side to apply alpha inheritance as a clipping mask even with a [clip] tag.

                  However, during the research, I found on the latest Krita website news the following:

                  Various other aspects related to development
                  How to handle PS style clipping mask - Deif Lou has done an awesome job in researching and investigating the clipping mask, layer effects, and blending mode technicalities. The team intends to look into this and tackle this feature together.

                  There's definitely interest on Krita's side to support clipping masks. Let's hope they will implement it soon. Currently, the only thing we can do is wait.

                  Hey,
                  New day, new bug 🙂

                  When i import my psd, some element of a skin doesnt appear.

                  the "nose" doesnt appear until i mesh it then revert it to normal.

                  Thanks for all <3

                    valahaha
                    Hello again and thanks for your precious reporting 😃

                    Unfortunately, I wasn't able to reproduce the situation you reported based on your screenshots.
                    Could you attach a screenshot of the layers organization in Photoshop or at least a part of it that will result in the situation described above?
                    If you prefer, you can also send the PSD to contact@esotericsoftware.com.

                      Davide

                      Thanks for your answer



                      All of above doesnt work.
                      I have the same name structure in the other body part. like:

                      All my psd i structured the same way, there is only 4 part of my body that doesnt work.
                      The issue dont exist in 4.2.49 PRO

                      When i convert to mesh then revert it to region, it seem all the skin in the skinplaceholder are debugged, but not the one in other place holder.
                      With two slot in one skins, if i debug one i only have this slot debugged not the entire skin.

                      Have a nice day

                        valahaha

                        Thanks for your screenshots! I was able to reproduce the bug.

                        I confirm that in 4.4.40 we did an update to make attachments visibility more consistent with what is shown in the saved PSD.

                        However, there was a bug connected to the fact that if a slot has more than one attachment, like for the nose, if the first layer in the PSD is hidden, the slot is hidden in Spine.

                        Regarding the trick to show the attachment toggling the mesh checkbox, that is a side effect of making an attachment visible when the mesh checkbox is clicked and the attachment is hidden. You can achieve the same behavior just by clicking the paper clips in the tree on the left of the skin placeholder.

                        You'll find the fix in the next release 🙂