FluidSurfaceInfo
A water-like surface. Actors can cause ripples by touching it. Unlike xProcMeshes, FluidSurfaceInfos do not deform when damaged.
Properties
FluidSurfaceInfo Group
- float AlphaCurveScale
- float AlphaHeightScale
- byte AlphaMax
does anyone know how to use the surface alpha property of fluidsurfaceinfo to blend a second material onto the peaks of the waves in a water surface? -jeeptrash
- bool bShowBoundingBox
- bool bUseNoRenderZ
- TerrainInfo ClampTerrain (edfindable)
- Terrain used for auto-clamping water verts if below terrain level.
- color FluidColor
- float FluidDamping
- between 0 and 1
- float FluidGridSpacing
- distance between grid points
- EFluidGridType FluidGridType
- float FluidHeightScale
- vertical scale factor
- float FluidNoiseFrequency
- range FluidNoiseStrength
- "Noise" or ripples that exist without a player interaction
- float FluidSpeed
- wave speed
- int FluidXSize
- num vertices in X direction
- int FluidYSize
- num vertices in Y direction
- float NoRenderZ
- bool OrientTouchEffect
- bool OrientShootEffect
- float RippleVelocityFactor
- How much to ripple the water when interacting with actors
- class<Actor> ShootEffect
- Class of effect spawned when water surface it shot or touched by an actor
- float ShootRadius
- How large a radius is affected when water is shot
- float ShootStrength
- How hard to ripple water when shot
- bool TestRipple
- float TestRippleSpeed
- float TestRippleStrength
- float TestRippleRadius
- Test ripple that shows only in editor.
- class<Actor> TouchEffect
- float TouchStrength
- float UOffset
- float UpdateRate
- Rate at which fluid sim will be updated.
- float UTiles
- float VOffset
- float VTiles
- float WarmUpTime
- Amount of time to simulate during postload before water is first displayed
UnrealScript-Only Properties
- array<int> ClampBitmap
- Bitmap indicating which water verts are 'clamped' ie. dont move
- array<float> Verts0 (transient, const)
- array<float> Verts1 (transient, const)
- array<byte> VertAlpha (transient, const)
- int LatestVerts (transient, const)
- box FluidBoundingBox (transient, const)
- Current world-space AABB
- vector FluidOrigin (transient, const)
- Current bottom-left corner
- float TimeRollover (transient, const)
- float TestRippleAng (transient, const)
- FluidSurfacePrimitive? Primitive (transient, const)
- array<FluidSurfaceOscillator?> Oscillators (transient, const)
- bool bHasWarmedUp (transient, const)
Enums
EFluidGridType
- FGT_Square
- FGT_Hexagonal
Quick HOWTO
Here is a quick way to get a fluid surface in a level.
- Add an Actor of class FluidSurfaceInfo to the level.
- Change the FluidXSize and FluidYSize along with the FluidGridSpacing to size it correctly for the level space you want to use it in.
- Find the Texture you want to use, and assign it to the first material in the Display → Skins array
- Tweak extra settings to suit your level.
- Go shoot it.
Related Topics
- Fluid Surfaces tutorial
- xProcMesh class
Comments
Highlander: It seems that the FluidSurface is unlit by default as well. BTW.. the Class Wikifier is pretty neat
Wormbo: Yeah, it's neat, but it still needs some work. I've redone the Properties section.
Jeeptrash: Anybody know what AlphaCurveScale and AlphaHeightScale do? The UDN tutorial implies that they change the alpha based on the height of a vertex but I can't seem to get this working to demo it. Does it change the alpha of an alpha map in the material? of the whole shader?
The Twiggman: Wow those things are neat. Lol I always wondered how some of the volumes were moving like that, so I decided to find out and I looked at curse3's little area. Now you can just replace that old sheet with one of these for good effects. But doesn't that make you think you can make neat effects like a big web or something and have it ripple as you fall through it.