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

GD4 Errors & Other issues #20

Open
TokisanGames opened this issue Nov 30, 2022 · 22 comments
Open

GD4 Errors & Other issues #20

TokisanGames opened this issue Nov 30, 2022 · 22 comments

Comments

@TokisanGames
Copy link

TokisanGames commented Nov 30, 2022

Describe the bug
I'm setting up Waterways in gd4 on Out of the Ashes. I noticed error spam on the console, which slows down the engine and several other usage bugs.

It does work (for water) even across scene reloading.

To Reproduce
1.I opened the test scene, then receive the following errors on repeat:

ERROR: Condition "rb.is_null()" is true.
   at: _render_buffers_copy_screen_texture (servers/rendering/renderer_rd/renderer_scene_render_rd.cpp:402)
ERROR: Condition "rb.is_null()" is true.
   at: _render_buffers_copy_depth_texture (servers/rendering/renderer_rd/renderer_scene_render_rd.cpp:441)

If I hide UpperRiver and LowerRiver the errors stop. No errors in the debugger.

  1. In my own project, I tried creating a new River node. I got these errors on my console:
_edited_node set to null
ERROR: Cannot get class 'Buoyant'.
   at: (core/object/class_db.cpp:382)
ERROR: Cannot get class 'River'.
   at: (core/object/class_db.cpp:382)
ERROR: Cannot get class 'WaterSystem'.
   at: (core/object/class_db.cpp:382)

Once added, more debug messages:

update_property in editor_property.gd
update_property in editor_property.gd

The river worked. No error spam as in 1. Upon closing and reopening the scene I do get the rb.is_null a few times, then it stops.

Generating the flowmap dumped a bunch of debug messages on the console.

  1. Mat_edge_fade doesn't do anything

  2. Shader parameters could use defaults to reset back to. And the default settings are wrong in the inspector. That is, when you make a new river node, roughness, normal scale, uv scale are all 0. But the values on screen are not that. I don't know what they are, and if you change them, then manually reset the values back to zero, the display is weird.

  3. Switched to Lava material and got this on the console, and a grey material:

SCRIPT ERROR: Invalid get index 'mat_emission_color' (on base: 'Node3D ()').
          at: _update_property (res://addons/waterways/editor_property.gd:28)
  1. Adding a new river into my scene and moving it around with the gizmo (not adding the path yet), I suddenly got this error message 7x in snap to colliders mode:
SCRIPT ERROR: Invalid call. Nonexistent function 'reset_all_colliders' in base 'GDScript'.
          at: _on_option_change (res://addons/waterways/plugin.gd:137)

I'm using a clipmesh terrain with a small heightmap collision shape that follows the player (and editor camera) around. If it's looking for collision that shape will move away whenever the camera moves away.

  1. I changed to PlaneXZ and got this message on the console trying to move a node:
SCRIPT ERROR: Trying to assign value of type 'float' to a variable of type 'Vector3'.
          at: _set_handle (res://addons/waterways/river_gizmo.gd:266)
  1. I tried making a new point w/ snap to colliders on, near the ground where my camera and collision is. I got this error message:
SCRIPT ERROR: Invalid call. Nonexistent function 'reset_all_colliders' in base 'GDScript'.
          at: _on_option_change (res://addons/waterways/plugin.gd:137)
SCRIPT ERROR: Invalid call to function 'intersect_ray' in base 'GodotPhysicsDirectSpaceState3D'. Expected 1 arguments.
          at: _forward_3d_gui_input (res://addons/waterways/plugin.gd:220)
  1. I made a river with 8 nodes. Clicking and dragging a node is quite slow after this. It takes 1-4 seconds to acknowledge that you've grabbed a widget, then updating it goes about 1fps.

Environment
Win11/64 Vulkan RTX3070
Godot 4 Beta 6
c47c44a

@Arnklit
Copy link
Owner

Arnklit commented Nov 30, 2022

Sorry, yeah it's still not ready for prime time, even if I have a lot of it working. I'll do a release when all of it is sorted. I'm surprised about the edge fade though, I thought I fixed that yesterday. The lacking of reverting values is a bug in Godot 4.0 that is getting fixed.

I'll look through all this and be sure it's covered, but yeah until I do a release and update docs, consider the Godot 4.0 branch very experimental.

@TokisanGames
Copy link
Author

After upgrading to beta 7, edge fade works, and modifying the curve w/ 8 points is a normal speed again. Applied strike through to those points.

@TokisanGames TokisanGames changed the title Error spam & Other issues Errors & Other issues Dec 10, 2022
@TokisanGames
Copy link
Author

When Use physical lights are enabled, the water transparency turns black:

image

image

@TokisanGames TokisanGames changed the title Errors & Other issues GD4 Errors & Other issues Dec 10, 2022
@Arnklit
Copy link
Owner

Arnklit commented Dec 10, 2022

huh, that is weird. Thanks I'll investigate.

@Arnklit
Copy link
Owner

Arnklit commented Dec 10, 2022

OK, so refraction basically just doesn't work. The screentexture is simply black when physical light units is enabled. I'll log a bug.

Bug: godotengine/godot#69847

@TokisanGames
Copy link
Author

Now that 4.0-stable has been released, do you have a plan to update waterways? I get tons of error spam on opening, switching, and closing scenes. Lava doesn't work. Water works alright but the flow map is a bit wonky. Etc.

@Arnklit
Copy link
Owner

Arnklit commented Mar 12, 2023

Hiya, yes I do plan to get back to it now. simply just been swamped with other work. I don't actually think it's a lot of work to fix what remains. I'll see if I can find a day next week to do some serious work on it.

@tailsc
Copy link

tailsc commented May 23, 2023

When do you expect it to be ready for godot? thanks for your work.

@Arnklit
Copy link
Owner

Arnklit commented May 23, 2023

Hi @tailsc. I've put it on hold until there is some proper terrain solution to use in Godot 4.0. It's simply not fun to work with when you don't have a terrain solution, so I have no enthusiasm for it at all at the moment. It sounds like some terrain plugins will soon be available and I'll pick it back up.

@TokisanGames
Copy link
Author

I've also been wondering. Ok, well we're working on terrain. This gives me more motivation for terrain so you can finish water. 💪

@CrimsonDemon001
Copy link

@TokisanGames how you get it to work I get 6 errors.
res://addons/waterways/river_manager.gd:446 - Parse Error: Cannot infer the type of "new_dir" variable because the value doesn't have a set type.
res://addons/waterways/river_manager.gd:451 - Parse Error: Cannot infer the type of "new_dir" variable because the value doesn't have a set type.
res://addons/waterways/inspector_plugin.gd:13 - Parse Error: The function signature doesn't match the parent. Parent signature is "_parse_property(Object, Variant.Type, String, PropertyHint, String, PropertyUsageFlags, bool) -> bool".
res://addons/waterways/plugin.gd:15 - Invalid call. Nonexistent function 'new' in base 'GDScript'.
editor/editor_plugin.cpp:763 - Condition "!p_plugin.is_valid()" is true.
res://addons/waterways/plugin.gd:35 - Invalid call. Nonexistent function 'connect' in base 'Nil'.
been racking my brain on it for the past few days.

oh @Arnklit take your time man your addon is amazing quality gives a lot of us new devs with many big game plans to work with to make better games for everyone so thank you.

@TokisanGames
Copy link
Author

TokisanGames commented Jun 3, 2023

I patched the code to get it functional. This allows us to have our water work in Out of the Ashes in 4.0.2. However, it's not polished. I get a lot of error spam sometimes when switching scenes, and Lava doesn't work right (it's grey and won't display on top of our terrain).

diff.txt

@TokisanGames
Copy link
Author

Hi @tailsc. I've put it on hold until there is some proper terrain solution to use in Godot 4.0. It's simply not fun to work with when you don't have a terrain solution, so I have no enthusiasm for it at all at the moment. It sounds like some terrain plugins will soon be available and I'll pick it back up.

Ok sir, we made terrain for you.
https://github.com/outobugi/Terrain3D

Also mentioned you in the promotional video:
https://www.youtube.com/watch?v=Aj9vWIEaFXg

@Arnklit
Copy link
Owner

Arnklit commented Jul 18, 2023

Looks amazing @TokisanGames. As I mentioned in another bug, I'll try and get a small update out to get WW back to working in 4.x first thing in August.

@TokisanGames
Copy link
Author

@Arnklit Hey how's it going? Any updates to your schedule?

@Arnklit
Copy link
Owner

Arnklit commented Sep 19, 2023

lol, yeah deadlines got pushed and then I was on vacation and then I was sick. I'm actually finally back in business this week, so things should start happening :D.

@bnjmntmm
Copy link

@Arnklit just a small ping. upppss

@tehKaiN
Copy link

tehKaiN commented Jan 20, 2024

I just tried to integrate this plugin into my ongoing project, with mixed results - some stuff kinda works on godot4 branch, some doesn't. Some stuff I managed to fix instantly, some needs more careful reading of the project sources.

@Arnklit would you accept PRs with fixes if I create one, or do you want to fix it yourself?

@Arnklit
Copy link
Owner

Arnklit commented Jan 20, 2024

I'd accecpt PRs. I feel like I fixed most of the remaining stuff last I looked at it, but I still don't have a proper solution for the watersystem because of the lack of 3D HDR and keep linear in viewport rendering for Godot 4.x, so I can't really finish it up.

@TokisanGames
Copy link
Author

We have it working fine in Out of the Ashes. The lava shader was broken and I got it kinda working but it needs some cosmetic love. I don't see any real technical problems with GD4 preventing this plugin from supporting it.

image

image

@tehKaiN
Copy link

tehKaiN commented Jan 20, 2024

Ditto. I don't need lava, but I saw that there's version error in its shader when trying switching to it. Haven't tackled that in my PR.

the lack of 3D HDR and keep linear in viewport rendering for Godot 4.x

Regarding rendering, I'm a coder so I only distinguish coder-colors - what's particularly wrong with its current state? Do you perhaps have some pictures illustrating it?

@Arnklit
Copy link
Owner

Arnklit commented Jan 20, 2024

the viewport rendering is used for the watersystem. it's to render out the textures for the physics and the sRGB conversions and low bit rate cases the problems.

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

No branches or pull requests

6 participants