Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot headless export does not include a png texture that is part of a shader #55711

Open
guysoft opened this issue Dec 8, 2021 · 3 comments

Comments

@guysoft
Copy link

guysoft commented Dec 8, 2021

Godot version

3.4 stable

System information

windows, linux,html5

Issue description

I have a reproduction project, that when exported via the editor it creates a .import asset for grid.ong and its visible in the exported binary.
however, when using the godot headless binary to export it misses that asset and the texture is missing.
The issue also happends in the github action in the project which uses the headless build.

I suspect its because its part of a shader.

I have made a repo, that reproduces the issue:

guysoft/godot_import_action_reproduce#1

Steps to reproduce

See: guysoft/godot_import_action_reproduce#1

Use the github action or the command lised in the example project issue

Minimal reproduction project

https://github.com/guysoft/godot_import_action_reproduce

Images and more description:
guysoft/godot_import_action_reproduce#1
Pasting here so you can see too:
When using the godot editor and running/exporting the scene looks like this.
This is the expected result:
expected

When using the gihub actions the grid.png is not imported and the scene looks like this.
This is the actual result.

How to reproduce in commandline:

Godot_v3.4-stable_linux_headless.64 --export Linux/X11 builds/LinuxX11/Energy-source-linux.x86_64 --verbose

(there is also a windows export that gives the same issue)

This also happens if you export this project using the godot headless script which this github action uses:
actual

Binaries are available in the release page from the action:
https://github.com/guysoft/godot_import_action_reproduce/releases

@rainerweston
Copy link

rainerweston commented Dec 8, 2021

I've had a bit of a poke around and it seems Godot headless fails to correctly detect imported textures for use as 3D VRAM textures. All textures will have metadata={ "vram_texture": false } and none of the correct import flags are enabled. In the instance above, the texture has been loaded using the standard 2D settings with repeat disabled.

Opening the project once in editor solves the issue. Obviously unideal if you're automating builds through github actions.

godot project.godot --editor --quit seems unreliable and I didn't have much luck with it.

I also tried the solution listed here too but couldn't seem to get it to work: Kersoph/open-sequential-logic-simulation#4

The work around I've found is overriding the texture import options to import everything for 3D. In our instance this is okay as the project is VR but perhaps not a solution for all.

@fire
Copy link
Member

fire commented Jan 4, 2022

Is this fixed by #56048?

@guysoft
Copy link
Author

guysoft commented Jan 5, 2022

@fire Is there a way to test it on 3.x? Or is there a way to import the test project in to 4?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants