[New Release] Full Sail - Animated ships sail and other cloth objects

AssetStore Link - Documentation

Have you ever needed animating Ship Sails or similar cloth type objects in your project. Full Sail makes it very easy to add fully animating cloth effects to your ship sails or banners.

Full Sail is a shader based system that will add great looking wind effects to your ship sails, castle banners or other cloth type objects. All the animation and deformation is done via a shader making it super fast in any project. Easily have 100’s of full animated sails in your scene.

Full Sail offers a wide variety of options to control the look of your sails. Sails can taper in or out, be sheared. The sides can be arched or even be told to arch only when the sail is full of wind. You have complete control over how the sail is fixed to any object and also how the sail moves when the wind blows. How much the sails ripple and the type of ripple is also controlable.

Another advanced feature especially for ships is the ability to have the sails furl themselves away. Again you have complete control over how this happens via simple textures.

You can apply emblems to the sails, and you can control if that emblem appears on the back of the sail easily as well. Also you can add color the emblem easily and add emissive color to have the emblems glow if you wish.

If your project means sails can get damaged then we have that supported as well, each sail can have its own damage settings and textures, so holes can appear, or sails can look shredded.

The shader also supports bump mapping and translucency so your sails can look great with the sun behind them.

Full Sail comes with some sail meshes included to get you started or you can add your own. Also included is a set of sail textures, damaged sail textures and various controlling textures for attaching the sail and for the furling effects.

Also included are systems to build the various textures used by the shader to control the sail movement and furling.

Full Sail can also be used for other simple cloth type objects such as banners, washing hanging on a lines and so on.

Full Sail has versions of the shaders for Builtin, HDRP and URP pipelines. Shader graphs for HDRP and URP are also include along with all source code. Also included are some helper scripts to show how you can control the sails in your game project.

If you check the images of the Sailing ship above all the sails on the ship are the same mesh and material, all the different shapes, colors, styles, effects are controlled by shader overrides and material property blocks.
Full Sail is a shader based system, hence there is no support for collisions to the sails.

Note: The ship models in the screenshots are not included in the asset.

Full Sail Features

  • Super fast shader sails and basic cloth
  • Sails can be Furled
  • Sails can be Damaged
  • Full control over attachment points
  • Helper scripts to control sails
  • Helper tool to make controlling textures
  • Shader Based Cloth
  • Builtin Pipeline Support
  • HDRP Pipeline Support
  • URP Pipeline Support
  • Includes Shader Graphs
  • All Source included
  • Dozens of shader options
  • Works with Lods
  • Tools to build the various control textures included

Shader Options:

  • Color
  • Texture
  • Emblem texture
  • Emblem Color
  • Emblem Emissive
  • Emblem Backface visibility
  • Damage
  • Damage Textures
  • Bump Map
  • Specular Color
  • Smoothness
  • Alpha Cutoff
  • Speed of wind
  • Wind Direction
  • Sail Forward Direction
  • Attachment Map
  • Sail Wind Fill
  • Sail Lift
  • Sail Lift Arch
  • Sail Lift Side Arch
  • Sail Reverse
  • Sail Taper
  • Sail Shear
  • Sail Arch
  • Sail Arch Start
  • Full Ripple Reduce
  • Furl
  • Furl Order
  • Furl Map
  • Furled Map
  • Furled Radius
  • Ripple Strength
  • Ripple Speed
  • Ripple Offset
  • Ripple Smoothness
  • Thickness
  • Translucency values
1 Like

After some feedback we have added a couple of new features to the system. Added a tilt option for the bottom of the sail to help with those tricky sail shapes. Also added a top arch value so you can add some sag to your cloth items. Some triangular sail objects have also been added which makes a life a little easier for some ship types.
The Sail Group helper script has a new option to set the ripple animation offset automatically to each sail in the group which saves having to add an override to each sail
Sail component now supports multi object editing again making it easire and quicker to rig up a lot of sails at the same time. And the translucent lighting got a couple of tweaks.

Changes in Version 1.02

  • MultiEdit support added to the Sail component so you can edit multiple sails at the same time
  • Fixed sails not updating when play mode entered
  • Add a Sail Tilt option to allow you to angle the bottom of the sail relative to the top
  • Add a Top arch option to the shader
  • Add triangular sails objects
  • Added option of edges curves for Move Map maker to make more complex move maps in Unity
  • Docs updated
  • Added a Standard version of the Sail Shader for builtin
  • Improved the Translucency effect

Another quick update. I have swapped out the Voronoi based ripple animation code in the shader with a noise based system, this gives a much nicer look and feel to the ripple and stops the artifacts the voronoi could add and also the animation does not repeat using the noise based system.

Also fixed an issue with the SailWind and FillPercent values not working the way they should, SailWind not correctly controls how much the sail captures to the wind so can be used as a way to control the amount the sail moves based on the wind direction relative to the sail direction. The docs have been updated to explain the params better and a Wind Control section has been added to explain how to set the wind direction.

Version 1.03

  • Swapped the Voronoi ripple code for Noise based for nicer looking ripples
  • Some adjustment to how the FillPercent and SailWind params work, check the docs for new descriptions of the values

Another small update, this fixes an issue with the wind direction not working quite right, all works correctly now, and added a SailSideways value to allo you to control how much the sail moves as the wind goes more across it. Also made the Sail Furl helper script update in edit mode for easier set up or ful orders, no longer have to play the scene to test it. Sails can now be selected via a sail icon, this can be handy if the sails have been moved a lot by the shader.

Also added a new feature to have blocking objects in the move map when the wind is against the sail, this is ideal to stop sails going through masts, or other objects behind the sail.

And the Move map editor has had some new features added.

Version 1.04

  • Fixed an issue with the wind direction and sail movement
  • Added a SailSideways param to control how much the sail moves when the wind is edge on
  • The Sail Furl will work in edit mode now for quicker testing of furl order setups
  • Added new feature of reverse Mask Map for movement for when wind is against, useful for when a sail would hit a mask it can now look like it wraps around any obstacle
  • Move Map builder now has support for vertical gradient as well as horizontal
  • Move Map builder now has support for adding a bulge blob area
  • Move Map builder now has option to use a base map as a starting point, so can copy exisiting move maps and add new features to them
  • Sail script now has a scene gizmo making it easier to select sails that are deformed
  • Docs updated

Another interesting looking asset, can this do banners and other cloth type things or is it just sails?

Another small update. This adds sorting to the Enum popups for the Sail Params making it much easier to find the param you want when adding overrides to Sails or Groups. Also fixed an issue with the multi editing of params on sails where some values were not being applied correctly. And added some SetValue(ParamID, value) helper methods to the Sail and SailGroup components to be used if you are updating the params from script.

Version 1.05

  • Sail param id enum popups are now sorted to make it easier to find the param
  • Fixed an issue with the multi edit of sails not updating all the values, works correctly now
  • Added helper SetValue methods to the Sail component to be used if updating param values from script SetValue(SailParamID, value);
  • Added helper SetValue methods to the SailGroup component to be used if updating param values from script SetValue(SailParamID, value);

@MikeUpchat It could certainly be used for doing large banners, castle type drpes, tapestries, hanging flags, washing on lines, bunting, anything like that it would work for, it wont do clothing though.

If anyone has any features they think need to be added please do shout and I will do what I can to add them in.

A new update adds a quite cool new feature in Sail Impacts. This allows you to have objects make holes in the sails and make them ripple with the impact.There is a new demo scene in the asset that shows the sail impact system, and there are a couple of example scripts showing how to add impacts and ripples to the sails. The docs have also been updated with an Impacts section. Note the impacts only work with the Built In pipeline at this time, this is because Unitys Shader Graph system does not yet support Vector4 arrays as params, when they add support for that I will update the HDRP and URP versions.

Version 1.06

  • Fixed the help icon on the component inspector bars not having the right link for help
  • Added Sail Impacts system for doing damage to your sails. Note Impacts are currently only supported for the Built In Shader as Unity has not added Vector3 array support to ShaderGraphs
  • Added a new demo scene to show sail impacts. Use mouse and click to fire at sail.

Docs have been updated to include section on the Sail Impacts, also the Reverse movement map, and a start of a Tips section to help get the most out of the asset.

Sneak Peek of a new Shader based asset doing to complement Full Sail but can be used for a lot of other things as well.

There is an update in the Asset Store. It fixes a couple fo small issues and also we have changed the Shader param update over to using ID’s instead of strings so squeezed some extra performance out of it if you have a lot of sails in a scene. Also added support for not updating sails that are not visible.

Changes in Version 1.08

  • Sails will no longer update if they are not visible.
  • Sail shader param setting now uses ID’s instead of strings for faster updating
  • Made the various map builders make the generated textures readable so you dont have to change them in the improt settings.
  • Fixed an error in the SailPos component when the Sail param was empty

Small update, standard version of the shaders now use the same noise system as the main sail shader so the Sail Pos system will work across all shaders.

Version 1.09

  • Standard and optimize shaders updated to use the new ripple noise texture system so will work correctly with the SailPos system
  • Small change to the shader after a report of an error on some versions of Unity about missing _VorSeed param.

A new update is in the Asset Store. This adds some improvements to the way the ripple works, a fix for furled sails looking odd when the sail has scaling, and some other fixes and improvements.

Changes since Version 1.09

  • Shaders updated to keep a furled sail from being deformed due to sail scaling.
  • Changed the way ripples are applied in the shader, the ripples now happen in the sailforward direction which looks better than the old way.
  • Moved some common shader functions to a cginc file for reduced shader sizes
  • Sail Pos script updated to work correctly with the new ripples
  • HDRP and URP shader graphs also updated to use new ripple
  • Fixed the various create texture helper windows causing an error on Unity 2021+
  • Added an Unlit shader for builtin pipeline which will run faster on mobile.

I have just been working on a workaround and I think its working fine now, just need to do some proper testing, but should be an update with URP impacts very soon.

1 Like

Had a few requests about support for Impacts in HDRP and URP, so I have submitted an update to the store which has ‘experimental’ support for impacts in the URP and HDRP pipeline, let me know if you have any issues with it, I will be doing some more testing and work on it next week.

A small update in the store, the impacts seem to be working fine for HDRP and URP. I have updated the docs to include a section on Attaching Objects to Sails and the demo scene as such an object in it now. Sail Pos is very useful for adding rigging to your sails that move as the sail moves. The docs are included in the asset or can be found at Here

Changes since Version 1.11

  • Added an object attached to the sail in the demo scene to show how it is used.
  • Updated docs with Sail Pos section
  • Experimental Support added to HDRP shader for impacts, please report any issuesExperimental Support added to URP shader for impacts, please repoort any issues
  • Update URP and HDRP Shader Inspector so you can click the section headers and not just the arrow to expand the params

Was asked if I could do a video tutorial on the Sail Pos system, so here you got, a very short guide to the simple Sail Pos system to attach objects to the Sail Surface.

And another quick update. This fixes some issues with the Sail Pos, and also a major issue it had in URP and HDRP due to some internal Unity changes in orders. And added the missing Custom UI for the URP Optimized Shader.

Version 1.14

  • Sail Pos system now correctly takes into account if a param is disabled in a group or on a sail
  • Added missing _FurlMap to URP optimized shadergraph.
  • Added missing _FurlMap to HDRP optimized shadergraph.
  • Fixed the missing custom UI for the URP Shaders
  • Fixed small bug in the sail pos where a param was labelled wrong which could lead to a wrong position
  • Fixed an issue in URP and HDRP with the Sails not updating in the first frame due to OnBecameVisible executing in a different order to Builtin

Fixed some issues with the Sail Pos system with URP and HDRP versions of the Sail Shaders.

Version 1.16

  • Fixed small issue in the Sail Pos system if no Reverse Mask Map was being used.
  • URP Optimized Shader now has a Ripple Noise selector
  • HDRP Optimized Shader now has a Ripple Noise selector
  • Fixed some subtle differences in the various versions of the shader which led to Sail Pos being a little out of position in HDRP and URP
  • Small change to shader maths for Wind direction transforms.

New version in the Asset store this fixes some warnings about Obsolete methods when installed in 2021 and newer and more importantly fixes an iussues with the URP versions of the shaders where the Alpha clipping was not working correctly in some pipeline configurations, all fixed now.

Version 1.17

  • Update to the URP shader graphs to fix an issue with the Alpha Clipping not working correctly in some pipeline configurations.
  • Fixed Obsolete methods in Sail Editor scripts.