[Community Project] WIP Weather & Water Shader

Jamie - the project comes with a few maps. The setup is pretty straight forward on the setup, you can even copy/pate the volumes and such to make it work exact. You can pick apart the BPs from in there as well. There is a map, i think its like the 2nd or 3rd on from the left (inside the editor) that works flawless. Check it out!

Hello, I faced with such a problem. In version 4.14 I have ~ 35 FPS, but in version 4.10 ~ 95 FPS. How so? (settings identical, fps in editor view)

your settings maybe identical, but, i can assure you, the project is not.
There has been a ton of changes since 4.10 in the project. Planer Reflections will kill your FPS if you have ā€œlow-endā€ hardware … Shaders, etc etc … I would say that there is a lot more going on then just the project. With improper settings, you will lose ~40FPS from just adding the plane. Settings will 100% be different between 4.10 and 4.14.X

I see, thank you)

Yes is project still active, i would also like to know

um yes. very active.
is it being dev by the original ppl? no
is the community picking up the versioning fixes? yes

Hey guys,

I’m working on a yacht simulation in UE4 for the HTC Vive, and I’m having issues with baked lighting. Whenever I try to build the lighting, it completes without doing anything, I never see the Swarm booting up. I’ve tried to set the skylights to static, but it didn’t change anything. Any tips? Might there be a setting in the skybox blueprint that’s holding me back to build lighting?

Thanks, .

Uncheck ā€œForce no precomputed lightā€ Under lightmass settings in the world settings tab. if you can’t see world settings Go to Window -> World Settings.

Hey people, and happy new year :slight_smile:

I know there has been a lack of updates but I can assure you that progress is being done behind the scenes :stuck_out_tongue: (slowly but surely).
Thanks to 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 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? :slight_smile:

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

  • based on Tessendorf’s FFT paper.

-Multiple 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 spectrum.
Tweakable parameters: foam amount, coverage, decay rate, dissipation.

-Infinite system using Quadtrees (video)](watch?v=l6TZvTculb0).
Dynamically subdivides the 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 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 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 .
Waterline (camera- 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 year.

And as always, a screenshot :stuck_out_tongue:

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

I think most people expected to be marketplace plugin at first glance anyway :wink:
If it helps with the development then I have no supporting the project :slight_smile:

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

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.

Count me in for support as well!

i am in, too !
i copy the point with the marketplace for updates … its really slow …

I am going to branch off 's latest and clean out all the content that isn’t required for the 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 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 !

I’d support

Hi! is really amazing work I would like to echo along with 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 for 9 hours now and only making it worse. I can’t figure it out :frowning:

Has anyone experienced something similar and can give me some pointers regarding how they got their AI to work the the 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.

BoatAIController.h

BoatMovementComponent.h:


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 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.


/** 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  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.

I will definetly buy 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 ? 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.

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

Please, Im desperate.

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