-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
ViewportTexture set for Sprite2D in editor doesn't work #60350
Comments
Note that unlike Godot 3.x, you don't need to enable |
Updated main comment after further testing of the transparent_bg property |
I can confirm this bug, during editor no message appears, but at runtime the error appears: version: v4.0.alpha.mono.custom_build [947a1fa] |
Still occurs in 4.0.beta2 in case it needed confirmation. |
Interestingly you can fix 2 of those errors by placing the object that displays the ViewportTexture lower than the Viewport itself in the scene tree. I still have not managed to get rid off the 'Condition "proxy.is_valid()" is true.' error mesage. |
I get this error when I move the object below the viewport. |
I'm having the same problem in beta 8 - the console reports the "proxy,is_valid() is true" error for every viewport. I'm not using a sprite though, just UI (although I'm guessing the same issues is happening here). Everything appears to work fine in-game |
Is anybody having this issue on Windows? Or is it just Mac and Linux? |
I'm on Linux (Mint 21 Cinnamon) |
Can confirm, issue appears on Windows 10 and 11. |
Confirming (Win 11) as well. |
Having this issue as well with using a viewport containing a control node in a 3D environment. |
The strange thing is that I get this error in the debugger yet the texture is shown fine when running from the editor. But when exporting the game (release or debug) the viewport texture is black. I was able to remove all the errors and warnings by getting the texture through code, but the result is the same, just no errors. extends MeshInstance3D
func _ready():
var vpt := (%SubViewport as SubViewport).get_texture()
material_override.texture_albedo = vpt Note: doing the same from the editor results in the error and black texture when exported |
This is probably a separable issue, but the SubViewport's For extra fun, if your viewport changes via a Here's a fresh (4.0rc5) MRP with toggles to mess with the refresh mode, and otherwise as a working example of 2d in 3d (despite the |
This ... swaps error for a different one and reduces the verbosity of them slightly. godotengine/godot#60350 godotengine/godot#66247 etc
same problem in 4.0 release |
Thank you so much. Using the Godot 4.0 release, changing 'render_target_update_mode' to "Always" solved the issue, however, the issue without changing that attribute remains unsolved on my behalf. |
Trying in Godot 4.0 stable release today, I just ran into this same issue on Linux. Varying the render_target_update_mode did not help for me. I can still run successfully if I set the viewport texture in code rather than in the UI. |
Ran into this issue on 4.0.1 Mono Win10.
Setting it from code did help, although my viewport is still black, but I thin that's a me issue. |
I am also having this issue. @SlashScreen I don't think it is a "you" issue. I use vscode for debugging and when I run in the editor, the viewport texture is black but when I run from vscode the viewport texture is correct and I get no errors in the console. |
@matthew798 in my case, it was at least partially a me issue. setting the sub viewport update mode to always instead of when visible fixed it. |
Is this still reproducible in 4.1 beta 3 or later? |
Using 4.2 beta 6 I don't see any issues in the reproduction project. Every subviewport in the scene provides a working texture in the editor. Here's the updated project: godot-4.0-viewport-texture-on-sprite.zip Given that, the lack of responses since the last comment, and the fact that several viewport texture related issues have been fixed in 4.1 and 4.2, I think this can be closed. If you still can reproduce the issue, please provide an updated MRP and we can reopen it. |
Godot version
4.0-alpha6
System information
Ubuntu 20.04.3 LTS, Vulkan, NVIDIA GTX 1060 6GB, nvidia-driver-470 (proprietary, tested)
Issue description
ViewportTextures set in the editor for Sprite2Ds don't work. Instead, they result in this error:
As a workaround, setting the ViewportTexture programmatically works, albeit the resulting image is inverted on the Y axis and the transparent_bg property of the SubViewport making the background black if on, or gray if off:
This given the following structure, using the Godot 3 demo https://godotengine.org/asset-library/asset/128 as base.
Using a SubViewportContainer as a workaround is also possible, though this also results in the transparent_bg property of the SubViewport making the background black if on, or gray if off:
Steps to reproduce
The minimal reproduction project presents the issue using SubViewport1, as well as the workarounds using SubViewport2 and SubViewport3.
On running the project two more errors undocumented above are pushed:
At the time of writing I cannot be certain whether these were pushed because of a glitch or because of me making a mistake.
Minimal reproduction project
3d_in_2d.zip
The text was updated successfully, but these errors were encountered: