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

  • Modificato

Nate
Thanks!

But we still have to save PSD file from other softwares right? Or Spine does it behind the scenes for us?
Yesterday I finished recording a video for SPine course, about how to import from PSD using a Script, I need to rewrite it now 😃

  • Nate ha risposto a questo messaggio
    Related Discussions
    ...
    • Modificato

    warmanw we still have to save PSD file from other softwares right?

    Yes, but most image editing software can write a PSD. The cool part is ALL of those image editors now have all the tags and other features of the PhotoshopToSpine script. You are no longer tied Photoshop to get all the features. Also there's no longer a need to have script for each image editor. Even image editors like Clip Studio Paint that don't have scripting are supported now, just save a PSD file.

    warmanw Yesterday I finished recording a video for SPine course, about how to import from PSD using a Script, I need to rewrite it now 😃

    Ahhh, sorry. It's much better now though!

    Does this contain some kind of method for setting the Photoshop origin for root position? If not, I suggest re-implementing this somehow with reference to the canvas position (ex: x = 500, y = 800 on a 1000x1000 canvas). I think the origin doesn't actually stay activated in PSD files when you close them, too.

    • Nate ha risposto a questo messaggio

      skarasuko Does this contain some kind of method for setting the Photoshop origin for root position?

      Yes! Photoshop is really bad at keeping the origin. We have a solution already, in 4.2.10-beta+: the first X and first Y guides in the PSD we use to define the world origin in Spine. This way you can setup guides early in your project, you'll never lose the origin, and you can still use other guides for other things since only the first 2 are special.

      We have also considered an [origin] tag in the near future: it sets the world origin in Spine using the center of the layer with [origin] in its name. Using a layer is easier to hide, a little less magical than using guides, and maybe some image editing software doesn't save guides to the PSD. You could just draw an X on a layer named [origin] and the center of the X is the origin. We'll likely do this in 4.2.

      Hi,
      All of these new features in Spine 4.2 look mightily impressive!
      When are you targetting the full release of 4.2? I'd like to have a rough timeline for when it's out of beta to make a decision on using 4.1 vs 4.2 in production.

      It's feature complete now! From here we only need to prove stability, then 4.2 will move to non-beta. The changes needed for slot and constraint folders were extensive -- it was a whooole lot more work than it looks! 🤕 We've tested it of course but no one breaks things quite like real users, so it needs some time for beta users to try out every weird corner case. In the meantime we'll keep an eye on it and fix issues quickly. We've already done 4 releases today to minimize the number of people who encounter a bug or crash. All that is to say that I can't say when it will be stable enough, but it's our top priority and I want it to be very soon!

      The last feature we snuck in (today) was Auto scale for the texture packer:
      https://esotericsoftware.com/forum/d/25609-automatically-adjust-the-size-value-when-exporting/6

      There are lots of features we want to add (like a limiter for physics to cap the response from large movements), but we really need to hold off on doing more so we can stabilize and move to non-beta sooner.

      Thank you for the quick response as always!
      Happy to hear that stability and getting out of beta is top priority right now, that means I might be able to use all of that 4.2 awesomeness in production, keeping my fingers crossed here.
      Wishing you all the best with that quick release schedule!

      • Nate ha messo mi piace.

      Great news! I can finally stop renewing Adobe sub.

      • Modificato

      I wanted to try it on Mac M1

      Spine Launcher 4.2.03
      Esoteric Software LLC (C) 2013-2023 | http://esotericsoftware.com
      Mac OS X aarch64 14.3.1
      Apple, Apple M1, 2.1 Metal - 88
      Downloading: Spine 4.2.13-beta Professional
      Starting: Spine 4.2.13-beta Professional
      Spine 4.2.13-beta Professional
      Licensed to: <removed>
      New hotkeys are available:
      Highlight Pixels: <not mapped>
      Pixel Snapping: <not mapped>
      Dopesheet Rows: <not mapped>
      Using customized hotkeys: hotkeys-1.txt
      ERROR: Audio disabled, OpenAL could not be loaded:
      [UnsatisfiedLinkError] /private/var/folders/4m/t1ln6cbn5331rxpbfh3p3fj80000gn/T/.spine/pinguin/openal.dylib: dlopen(/private/var/folders/4m/t1ln6cbn5331rxpbfh3p3fj80000gn/T/.spine/pinguin/openal.dylib, 0x0001): tried: '/private/var/folders/4m/t1ln6cbn5331rxpbfh3p3fj80000gn/T/.spine/pinguin/openal.dylib' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/4m/t1ln6cbn5331rxpbfh3p3fj80000gn/T/.spine/pinguin/openal.dylib' (no such file), '/private/var/folders/4m/t1ln6cbn5331rxpbfh3p3fj80000gn/T/.spine/pinguin/openal.dylib' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64'))
         at jdk.internal.loader.NativeLibraries.load(Native Method)
         at jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
         at jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
         at jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
         at java.lang.ClassLoader.loadLibrary(Unknown Source)
         at java.lang.Runtime.load0(Unknown Source)
         at java.lang.System.load(Unknown Source)
         at com.esotericsoftware.spine.editor.audio.Audio.<init>(_:101)
         at s.OAe._(_:174)
         at s.NxS._(_:180)
         at s.NAj._(_:124)
         at s.NxS._(_:175)
         at s.NxS.I(_:90)
         <events>
      Started.
      ERROR: Error processing PSD: /Users/YYYY/workspace/Bla.psd
      [arg] key cannot be null.
         at s.MuJ.I(_:128)
         at s.MuJ._(_:177)
         at s.opx.C(_:132)
         at s.opx._(_:88)
         at s.yOY._(_:38)
         at s.UwA._(_:500)
         at s.UwA.I(_:460)
         at s.UwA._(_:475)
         at s.vnx.D(_:1058)
         at s.qHV.I(_:403)
         at s.Owp._(_:91)
         at s.MJZ._(_:28)
         at s.bUt._(_:188)
         at s.bUt._(_:158)
         at com.badlogic.gdx.scenes.scene2d.ui.Button.I(_:125)
         at s.WiQ._(_:93)
         at s.pgM._(_:88)
         at s.gIn._(_:71)
         at s.wsr.I(_:354)
         at s.nul.I(_:124)
         at s.JhS.I(_:80)
         at s.cod._(_:75)
         at s.ylb._(_:126)
         at s.NxS.I(_:216)
         at s.NAj.I(_:137)
         at s.rbv.run(_:186)
         <events>
      • Nate ha risposto a questo messaggio

        pinguin It appears your PSD has something unexpected in it (a layer is treated like a group). Could you send us the PSD? contact@esotericsoftware.com

        We'll also look into that OpenAL error.

        I don't think we're realising how AWESOME these new features are.
        I'm not sensing the necessary EXCITEMENT here.

        Let me fix that:
        🥳

          Fabiano
          You are Right!
          I'm actually more excited for the release of 4.2 because of this feature than I was when physics was introduced!

          pinguin Thanks for sending the project! We have fixed processing it.

          I agree, the PSD processing is super cool. Maaaybe not as cool as physics, but it's pretty great! 😉 BTW, all the credit for PSD processing goes to Davide, who has been working hard on it for months. We should see more of Davide on the forum soon! Right Davide!? 😆

          • Modificato

          Here I am 🙂
          I agree physics is way more cooler, even though importing PSD directly into Spine is cool too!
          Super excited to see this feature used by everyone! 😃

          • Modificato

          我试了下用Affinity Photo导出psd文件,但是导入spine后丢失了内部图层。顺便问一下怎样上传本地图片,论坛的上传功能似乎没法使用。

          • Davide ha risposto a questo messaggio

            habahu

            This is supposed to be working with PSD generated by Affinity Photo.
            No layer should be lost.
            Could you send us the PSD? contact@esotericsoftware.com

            • habahu ha risposto a questo messaggio

              Davide 我刚把截图和文件发到了你的邮箱

              • Davide ha risposto a questo messaggio
                • Modificato

                habahu

                Thanks habahu for sending us the PSD.

                Currently clipping masks are applied to the underlying layer only if the involved layers are contained into a [merge] group.

                To obtain the desired result you have to do like in the image below:

                • habahu ha risposto a questo messaggio

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

                  • Davide ha risposto a questo messaggio

                    habahu

                    Sure, we're trying to match the PSD script as much as possible.
                    Thanks again for reporting this 🙂