godot-4-importality icon indicating copy to clipboard operation
godot-4-importality copied to clipboard

Adobe Photoshop support offer

Open fire opened this issue 4 months ago • 8 comments

Due to various issues Godot Engine was not able to support psd, however the code is still there and it can be salvaged to an addon.

See https://github.com/godotengine/godot-proposals/issues/6303 (psd proposal) and https://github.com/godotengine/godot/pull/73417 (psd pull request)

fire avatar Jul 16 '25 19:07 fire

If people are interested, I can investigate.

fire avatar Jul 16 '25 19:07 fire

Oh, that would be just great! Surely this code doesn't have any legal issues with the format being proprietary? Many game developers will be happy that they don't have to use intermediate formats to transfer their art!

I tried making importers for Krita, and they work, but not as well as I would like. The main problem there is that you can't run two instances of Krita under one user. Because Krita has exclusive use of the database in the user directory. So you had to make a script to run Krita under another user with credentials protection.

nklbdev avatar Jul 17 '25 15:07 nklbdev

In fact, it's hard for me to devote time to the plugin now, and I would like other developers to participate in it.

For example, I could make a description of the logic of my scripts. Change the code formatting, add documentation comments. Then anyone could write their own additional modules.

The most important thing in Importality is the common internal format to which all graphic sources are converted. After that, all output resource types are built from it.

nklbdev avatar Jul 17 '25 15:07 nklbdev

As far as I know since adobe did provide specs for psd/psb ~~it's legal to reimplement https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/~~

Edited:

We don't need to look at the specs if someone else did it and published it as bsd license.

fire avatar Jul 17 '25 15:07 fire

I've searched but couldn't find any full command line utilities that could read the PSD format and return all the content available in it.

To assemble the images correctly, we need to use rendering layers with effects etc., as well as vector data, masks and much more.

I'm afraid I can't do this as a plugin. But if there was a fast utility written in a compiled language, it could be used.

Do you know anything like that?

nklbdev avatar Jul 17 '25 15:07 nklbdev

https://github.com/MolecularMatters/psd_sdk (from the pull request)

fire avatar Jul 17 '25 15:07 fire

This is amazing! But I can learn this utility veeeery sloooowly (many other things and work). If you have any developments on using it from GDScript, I will be very grateful to you for code snippets and the like!

nklbdev avatar Jul 17 '25 16:07 nklbdev

I could try making the original godot engine pull request work on Godot Engine master but it'll take some time and effort. So no promises or estimates of when it'll be done.

fire avatar Jul 17 '25 16:07 fire