Hi @
thanks for your amazing work! Almost everything seems to be fine!
Just one little thing: I’m trying to use waveworks example project and it happens to crash both when I open the little example scene (the little tub, not the ocean one) and when I drag the WaterPlane_Blueprint onto an empty scene, or just opening that BP.
The problem seems to be confined to that BP. Since I’m starting a project with wavework, I need to know if it’s safe enough to use 4.21 version rather than 4.19 official release.
That being said, could you confirm that is just some broken shader of that BP and nothing more to worry about?
I’ve only tested with the default WaveWorks scene, it’s possible there’s some breaking changes for some existing BPs (in my experience BPs can be super fragile if the underlying c++ class changes, I’ve had my share of corrupted BPs due to that). I can’t promise when I have time to look at but can check it out next time I update the repo. Thanks for the report.
@ I’m using your 4.21.2 Gameworks branch it is big thanks for your contribution. But I’m having trouble about getting overlap events of waveworks component it is just not working. In Bp I tried some line trace too and It is still not overlapping. Can you have a look what can do for ? I think it is a necessary to make a swim system. And also waterplane component causes the crash while opening the level that include waterplane and when I assign a material on it.
It seems the problem is more serious than I’ve thought.
It’s the WaveWorksStaticMeshComponent that is not usable with the example materials (both OceanMaterial and WaterPlanMaterial), something related to tessellation and waveworks functions invoked inside their shaders. The only usable comp is the WaveWorksComponent, which is giving me some headache for doing some basic stuff like resize and move the water plane like I was able to do with static mesh component. After a day of struggling I’m going back to the 4.19.
Any help is welcome!
Thanks in advance
edit: I’ve discovered how to move and customize also in way (just tweaking waveworks asset), hope to not find other issues!
I have the same error with the BP_WaterPlane, the ocean BP works fine so far, started to make a transparent forward rendering material and a buoyancy C++ component and encountered no severe problems so far with that branch. (thx a lot mr. ****
But the BP_WaterPlane was def. working in the original /tree/WaveWorks_4_19?
only thing is the water is not rendering, had no time to further invetigate that so far.
But I think the reason why works in my project without a crash is that I needed to add RHI to my public dependency modules to the MyProjectName.Build.cs file.
Hi Massive,
as stated there is no overlap event you can use in BP or so. There is the WaveWorksFloating component which has functionality and it is a C++ class in the WaveworksTester project, and is working fine .21 branch.
There is also RayCast demo (also C++ class) showing how to ghet the wave height for bullet impact effect or like on the water surface.
You can do your own C++ classes implementing the UCLASS macro too use waveheight sampling in blueprints.
I did the update of Waveworks from 4.19 to 4.21 then worked with to merge it into his branch. I didn’t realize the BP_WaterPlane isn’t working since I don’t use that, and didn’t test that blueprint. I don’t have time right now to dig into it, but I’ll take a look at it for the next update.
From the errors posted previously (BufferRHI was nullptr), it looks like the WaterPlane BP uses a different uniform buffer that needs to be updated to follow the changes in the rendering engine that happened between 4.19 and 4.21. If someone wants to look into it, I’d suggest starting by looking at the changes I made in TranslucentRendering.cpp in the function void FDeferredShadingSceneRenderer::RenderWaveWorks. Then see if you can determine from the stack trace debugging in VS what function is getting called that needs to be updated.
You can use the 4.19 version of Waveworks to save the BP_WaterPlane with visibility of the waterplane turned off. Then use that for debugging the 4.21 branch. That makes it easier for debugging in VS, since the project will load correctly, and you can trigger the error simply by checking the visibility checkbox.
Hey cool thanks!
I dont know if I will have the time to look into soon. Also I am not very used to C++, quite familiar with C# tho. And I do not need the WaterPlane BP as well for my project.
Having kinda hard time getting used to the more precise syntax haha!
But I would have a question, do you know if it is possible to access the wave height data on the GPU to calculate the buoyancy with CUDA, and be able to switch of the readback?
Well need to readback the buoyancy triangles later, so I dont know if approach a better solution at all, but would be good to know.
I think to do something like that you would need to change the binary that Nvidia distributes with the Waveworks GitHub project. If I’m not mistaken, all the CUDA calculation is done in the closed source binary.
You need to have your UE4 account linked to your github account to be able to access any UE4 source code repository. See instructions : https://www.unrealengine/en-US/ue4-on-github
hmm nvidia is having the waveworks source on github as well. But sounds too much effort for me working into that too, was hoping to be able to access it via the engine.
Thank you!