Announcement

Collapse
No announcement yet.

[Community Project] WIP Weather & Ocean Water Shader

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    I fully support this plugin to be in the marketplace - a paid support and development are always needed for this to be feature-rich and production-ready!

    Comment


      I'm all in to support the plugin, But I don't think marketplace is the best place for something that will be constantly getting updates, its really a painful and slow process to get a much needed update, maybe gumroad? something where updates are more instant.
      Attached Files
      Last edited by kkhaial; 01-04-2017, 07:00 AM.

      Comment


        Count me in for support as well!

        Comment


          i am in, too !
          i copy the point with the marketplace for updates ... its really slow ..
          www.ofpawnsandkings.de

          Comment


            I am going to branch off Zoc's latest and clean out all the content that isn't required for the Ocean to work, including the TOD items, art content, audio, etc. Good to finally get an update on the progress and that the progress will be sold on the Market. I hope Epic buys this from you and makes it apart of the engine would be great if Nvidia and Epic could get a great fluids system into the engine. Thank you for all the great work TK-Master!
            Victor "Vexar" Mercieca
            Twitch Channel
            Artstation
            Youtube Channel

            Comment


              Originally posted by TK-Master View Post
              Hey people, and happy new year

              I know there has been a lack of updates but I can assure you that progress is being done behind the scenes (slowly but surely).
              Thanks to everyone who is sharing their updated branch for 4.14 and helping with thread questions by the way.

              I'm trying to find more time to work on the project but it keeps getting more difficult.. which is why I'm thinking it might be a good idea to release my upcoming FFT ocean as a new plugin in the marketplace.

              You can think of the new marketplace plugin as an early access to "kickstart" the project, that way I will be able to put much more time to it, update it more rapidly and add more features.
              Then later down the line I will open source it to the community. What do you guys think?
              I'd support this

              Comment


                Hi! This is really amazing work I would like to echo along with everyone else.

                I'm trying to make a simple AI based boat game to practice with UE4 but I'm having a hard time implementing the AI. In a similar Tank game that is based on land my AI works fine. I'm feel like almost there too but there's one odd behavior I can't figure out. Although my behavior tree shows that the AI is able to find the patrol points and sense me as an enemy, it's not moving towards the patrol points rather just failing the move to call and cycling through the patrol points rapidly as each time it fails the move portion. My instinct tells me that it thinks it can't reach the patrol points but I've been at this for 9 hours now and only making it worse. I can't figure it out

                Has anyone experienced something similar and can give me some pointers regarding how they got their AI to work the the ocean plugin? I'm not really sure what from my code, or what screenshots specifically to post so let me know if my question is lacking in detail.

                Click image for larger version

Name:	Capture.JPG
Views:	1
Size:	143.6 KB
ID:	1121002

                BoatAIController.h

                BoatMovementComponent.h:

                Code:
                UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
                class SPACEPIRATES_API UBoatMovementComponent : public UNavMovementComponent
                {
                	GENERATED_BODY()
                	
                public:
                
                	UFUNCTION(BlueprintCallable, Category = "Setup")
                	void Initialize(UBoatThruster* LeftThrusterToSet, UBoatThruster* RightThrusterToSet);
                
                	UFUNCTION(BlueprintCallable, Category = "Input")
                	void IntendMoveForward(float Throw);
                
                	UFUNCTION(BlueprintCallable, Category = "Input")
                	void IntendTurnRight(float Throw);
                
                
                private:
                	// TODO check best protection of this method
                	/** path following: request new velocity
                	Called from the pathfinding logic by the AI controller */
                	virtual void RequestDirectMove(const FVector& MoveVelocity, bool bForceMaxSpeed);
                
                	UBoatThruster* ForwardThruster = nullptr;
                	UBoatThruster* LeftThruster = nullptr;
                	UBoatThruster* RightThruster = nullptr;
                
                };
                BoatMovementComponent.cpp: Please excuse the super long comments, it was for my own understanding of the subject matter.

                Code:
                /** path following: request new velocity */
                void UBoatMovementComponent::RequestDirectMove(const FVector& MoveVelocity, bool bForceMaxSpeed)
                {
                	/* Get the current forward direction */
                	auto BoatForward = GetOwner()->GetActorForwardVector().GetSafeNormal();
                
                	/* Get the intended move direction we want the tank to go in next. */
                	auto AIForwardIntention = MoveVelocity.GetSafeNormal();
                
                	/* Set the forward movement to the dot product of the tanks current vector
                	and the intended vector. */
                	auto ForwardThrow = FVector::DotProduct(BoatForward, AIForwardIntention);
                	IntendMoveForward(ForwardThrow);
                
                
                	auto RightThrow = FVector::CrossProduct(BoatForward, AIForwardIntention).Z;
                	IntendTurnRight(RightThrow);
                
                	UE_LOG(LogTemp, Warning, TEXT("ForwardThrow: %f RightThrow: %f"), ForwardThrow, RightThrow);
                }
                
                /* Initialization is done in blueprint where track assets are assigned to tracks being initialized. */
                void UBoatMovementComponent::Initialize(UBoatThruster* LeftThrusterToSet, UBoatThruster* RightThrusterToSet)
                {
                	LeftThruster = LeftThrusterToSet;
                	RightThruster = RightThrusterToSet;
                
                }
                
                void UBoatMovementComponent::IntendMoveForward(float Throw)
                {
                	/*Ensure that we have a left and right track assigned in BP and initialized. */
                	if (!ensure(LeftThruster && RightThruster)) { return; }
                	/* Throttle is clamped to -1, 1 so players can't overdrive. */
                	LeftThruster->SetThrottle(Throw);
                	RightThruster->SetThrottle(Throw);
                }
                
                void UBoatMovementComponent::IntendTurnRight(float Throw)
                {
                	/*Ensure that we have a left and right track assigned in BP and initialized. */
                	if (!ensure(LeftThruster && RightThruster)) { return; }
                	/* Throttle is clamped to -1, 1 so players can't overdrive. */
                	LeftThruster->SetThrottle(-Throw);
                	RightThruster->SetThrottle(Throw);
                }
                I don't want to post too much code for brevity, if anyone has any ideas please help.

                Comment


                  I will definetly buy this if you put it up on the marketplace, or support it in some other way if you choose a different approach.

                  BTW, is there any way to increase the quality in the SSR reflections for the ocean? they are pretty lowres and flickery, especially near the horizon. Post process settings seem to have no effect on it, its like its baked into the shader somewhere.
                  Last edited by BendikSlyngstad; 01-06-2017, 05:14 AM.

                  Comment


                    Is there ANY way I can use this shader on Unreal 4.13 or revert a project I created there to 4.12???

                    Please, Im desperate.

                    Comment


                      Great to hear it's heading to the market!
                      I've dreamt of this for a while since sourceforge is very confusing to me and from now on the market will handle the updates

                      Comment


                        The ocean really looks fantastic! Also supporting for marketplace

                        Comment


                          Originally posted by TK-Master View Post
                          Hey people, and happy new year

                          I know there has been a lack of updates but I can assure you that progress is being done behind the scenes (slowly but surely).
                          Thanks to everyone who is sharing their updated branch for 4.14 and helping with thread questions by the way.

                          I'm trying to find more time to work on the project but it keeps getting more difficult.. which is why I'm thinking it might be a good idea to release my upcoming FFT ocean as a new plugin in the marketplace.

                          You can think of the new marketplace plugin as an early access to "kickstart" the project, that way I will be able to put much more time to it, update it more rapidly and add more features.
                          Then later down the line I will open source it to the community. What do you guys think?

                          Here is a list with the core features I'm aiming at for the first released version of the plugin:

                          -Ocean based on Tessendorf's FFT paper.

                          -Multiple ocean spectra to choose from with many tweakable parameters (amplitude, choppy, wind velocity, direction, fetch etc.).
                          Phillips and Unified Directional spectrum currently implemented.

                          -Foam generation based on the ocean spectrum.
                          Tweakable parameters: foam amount, coverage, decay rate, dissipation.

                          -Infinite ocean system using Quadtrees (video).
                          Dynamically subdivides the ocean patches for efficient usage of vertices.
                          Expands to the horizon (or up to given distance).
                          Frustum culling (removes patches outside the camera view).

                          -Custom BRDF shading based on Eric Bruneton's paper.
                          BRDF model suited for ocean rendering.
                          Added custom SSS (subsurface scattering).
                          Planar reflections (custom component) which can be tweaked in the shader.

                          -Interactive water heightfield.
                          Allows for dynamic interaction with the ocean surface (as in watch dogs).
                          Can be layered on top of the FFT waves (square around the camera will be simulated) or used as stand alone for lakes and puddles.
                          Boats leave natural looking wakes.
                          Multiple propagation algorithms to choose (MuellerGDC, Tessendorf iWave and more).

                          -Underwater post process effects.
                          Waterline (camera-ocean intersection).
                          Light absorption / fog (new method).
                          Volumetric Godrays.

                          Many more features planned for later updates.


                          I don't have an ETA yet but hopefully early this year.


                          And as always, a screenshot

                          http://www.mediafire.com/convkey/d1eb/rfxdytke61kbxx8zg.jpg?size_id=7
                          (Click for larger image)
                          This is how the custom BRDF currently looks like (shader still far from final, wip).
                          Hey [MENTION=1127]TK-Master[/MENTION]

                          Thanks for the update. The screenshot looks great!

                          May I suggest you to add the marketplace plugin AND keep the project open source?
                          From many posts I found here, it seems there are a bunch of users eager to get a ready-made package for user (target customers for a marketplace plugin) and a bunch of us who like to hack away at the plugin.
                          For example, I'll probably need to make it "simpler" on lower end configurations, because my target audience probably won't have all the processing power required to have the ocean shader and a bunch of other effects going on. (This is something I'm still considering, though)

                          Since you don't have much time to work on the project, it might aid people brave enough to dive on the code to fix the project in case of a (necessary) engine upgrade.

                          Talking about code fixes, can you take a look at this Pull Request ? There are more fixes at my GitHub fork that I can submit if you want

                          Btw, I'm willing to help with the plugin if you need a hand

                          Originally posted by Vexar View Post
                          I am going to branch off Zoc's latest and clean out all the content that isn't required for the Ocean to work, including the TOD items, art content, audio, etc. Good to finally get an update on the progress and that the progress will be sold on the Market. I hope Epic buys this from you and makes it apart of the engine would be great if Nvidia and Epic could get a great fluids system into the engine. Thank you for all the great work TK-Master!
                          You just need the Plugins folder to make it work, the rest are examples of use

                          Comment


                            Originally posted by Zoc View Post
                            Hey [MENTION=1127]TK-Master[/MENTION]

                            May I suggest you to add the marketplace plugin AND keep the project open source?
                            This, I will not buy nor support without the source. It's just a liability in my opinion...being dependent on a non open source plugin and having to wait/hope for an update when a new engine version is released possibly losing the entire investment...with the source at least we have a choice to port it ourselfes. Also I think marketplace is a better option than other solutions, it's just a more convinent way to download/maintain.

                            Comment


                              Originally posted by Zoc View Post
                              Hey [MENTION=1127]TK-Master[/MENTION]

                              Thanks for the update. The screenshot looks great!

                              May I suggest you to add the marketplace plugin AND keep the project open source?
                              From many posts I found here, it seems there are a bunch of users eager to get a ready-made package for user (target customers for a marketplace plugin) and a bunch of us who like to hack away at the plugin.
                              Originally posted by DavidNSilva View Post
                              This, I will not buy nor support without the source. It's just a liability in my opinion...being dependent on a non open source plugin and having to wait/hope for an update when a new engine version is released possibly losing the entire investment...with the source at least we have a choice to port it ourselfes. Also I think marketplace is a better option than other solutions, it's just a more convinent way to download/maintain.
                              Perhaps I miswrote it a little bit.. I did not meant that the marketplace version will be binary-only (without the source code)! that would be ridiculous indeed xD
                              If you pay for a plugin then it should absolutely include the source code so you can modify it as you like.

                              What I was trying to say is that after a period of time I will release the plugin (for free) on github or otherwise.


                              Originally posted by Zoc View Post
                              Talking about code fixes, can you take a look at this Pull Request ? There are more fixes at my GitHub fork that I can submit if you want
                              I will try to merge it in the main repo when I find some time

                              4.10 Update! -> [Community Project] WIP Weather & Ocean Water Shader
                              WIP Interactive Water Shader, WIP 2D Water Sim
                              WIP FFT Ocean w/ Foam, Quad-tree Infinite Ocean LOD

                              Comment


                                The plugin idea sounds great, as I have no idea how to implement the shader at the moment, even tho I have been follow this post for a long time I have no clue to what file is need and where to put it
                                so a plugin from the experts sound brill.
                                I have bought all the water shaders and blueprints that can be used in UE4 and all of them have no crashing waves, and no beach/shallow waves if that makes sense/
                                And would love to see this option.

                                screen shot looks amazing,
                                And thank you to all that is supporting this project, great work..

                                Comment

                                Working...
                                X