Fish A.I - Fish School System V2
https://www.unrealengine.com/marketplace/en-US/product/fish-school-system-v2-niagara-a-i
Fish system.
The Fish School System V2 takes the popular original to the next level, now fully leveraging Unreal Engine's cutting-edge Niagara particle system. We've moved away from spline-based animations to rely solely on Niagara A.I. This update brings enhanced features like smart object and player avoidance, on-the-fly speed changes, area confinement, and much more!
Customize a wide range of school behavioral settings directly within the blueprint, including size, speed, and color. Experience up to a 10x boost in efficiency, allowing you to populate your levels with thousands of fish, far exceeding the limitations of the previous version!
Avoidance
The School System V.2 features object and player avoidance, which can be set in the details panel of each individual fish school. This is useful for having your fish swim away from the camera, or from a specific actor in your level such as a shark during a cinematic. Each fish school is paired with their own "Swimming Area Box". The fish will try to avoid crossing over the edges of this box, which can help you customize which areas you want each fish school to swim in.
Collision
Aside from having Niagara particle collisions with static and dynamic objects, the System utilizes the "Destructible" collision channel to allow the player to pass through meshes without your fish passing throug them. Simply make sure your static meshes have the "Destructible" channel ticked, and your fish will collide with that object.
Fish Animations
The system provides two options for animating your fish.
The Auto-Animation material nodes allow you to to effortlessly animate your fish Static Meshes—eliminating the need for manually animating your fish in external software. However, if you want to increase the quality of your animations, the system provides Vertex Animation support, which is a must-have for non-traditional aquatic creatures like stingrays or eels.
Spline Guidance
The package further contains a spline blueprint that instructs the A.I. to follow a predetermined path along the created spline. While guiding the A.I. school, this spline blueprint animates a target for them to follow but retains the object and player avoidance functionalities, ensuring dynamic and interactive movement.
Optimization
When the fish are not rendered on screen, they still move, but their affect on performance is reduced down to 1% of what it was!
IMPORTANT NOTES:
The Fish School System V2 is primarily designed for larger areas of play such as the Ocean, or large lakes. It may have some issues with small or shallow waters.
IMPORTANT NOTE - Collision:
Although the collision support stops your fish from swimming past invisible or visible boundaries, Niagara still cannot operate with custom collision channels, so I have set the collision channel to the "Destructible" profile.
This may not be suitable for all projects, especially ones that require the destructible channel for gameplay.
Furthermore, you may encounter issues if your objects are less than 10cm thick.
IMPORTANT NOTE - Shallow Water:
The shallow water feature allows the fish to initially swim horizontally without travelling vertically, which is great for shallow waters. However, this feature has strong limitation: It must not have slanted collisions within the path of the particle - otherwise the bounce trajectory of the particle will not remain horizontal.
Technical Details
Features:
- Fish School A.I Blueprint
- Fish School A.I Blueprint with Vertex Animation
- Fish School Spline Blueprint
- Fish School Spline Blueprint with Vertex Animation
- Fish School A.I Niagara System
- Fish School A.I Niagara System with Vertex Animation
- Fish School Spline Niagara System
- Fish School Spline Niagara System with Vertex Animation
- Blueprints allow adjustment of Scale, Color, Animation Speed, Animation frequency, Toggle Auto-Animation or Vertex Animation, Toggle standard speed or Dynamic Speed, Minimum and Maximum Speeds & Animation Speeds, Number of Fish, numerous Particle School Settings, School Enumeration Presets, Custom object to Swim away from & Swimming Area Box.
- Fish Material with Changable colors & Patterns controlled by Particle Color
- High Poly Fish Static Mesh, Low Poly Fish Particle Static Mesh & Vertex Animated Fish Static Mesh
- Caustic Lighting Light Function Material
- Swimming Spectator Player Pawn
Number of Static Meshes: 3 (1 fish with 3 static mesh types)
LODS: 3
Vertices: 721 for Highpoly Fish, 334 for lowpoly Fish
Number of Blueprints: 4
Input: Keyboard, Mouse
Network Replicated: Assumably no, but currently unknown
Supported Development Platforms: Windows, Mac
Documentation: Hover over Variables for documentation on what they do