I’m proud to announce the release of Ducks on the Unreal Marketplace.
These Ducks will walk to random Ground Targets taking breaks to feed. They will run then fly away from any Actor with an Enemy Tag. Once in the air they will fly to random Sky Targets (for an adjustable amount of time) after which they will return to the ground. The Ducks also come with Perching behavior and water interaction. Easy setup, just drag some Sky Targets, Perch Targets, Water Targets, and Ground Targets into your level and watch the show. You can also play as a Duck with walking and flying functionality.
Ducks v1.0 Includes:
- (1) Rigged and Animated Duck Skeletal Mesh (Mallard Duck)
- (30) Animations
- (2) Animation Blueprints
- (3) NPC Character Blueprints with 1 Parent Class (Brown, Green, and White Ducks)
- (2) Game Modes (Play as the Enemy character and/or play as a Duck)
- High resolution Textures (4K) and Materials
- Physics Asset
- Single trace obstacle avoidance while flying and Enemy avoidance while on the ground.
- Water interaction
- Behavior Tree and AI Controller
- Ragdoll on hit
- Sounds (Duck calls, Splashes, and wing flaps)
I buyed the Ducks yesterday but this pack is to heavy, takes forever to only load, then i copied the folder direct into my project and now my project is loading 10 times slower. (basic fresh project with only a landscape in it)
Till now i only got it to be up and running once. after a long time waiting.
So at this point i can not use this pack as it just crashes my projects and my pc CPU goes 100% by only trying to load a new project.
Processor: AMD FX™-8320 Eight-Core Processor (8 CPUs), ~3.5GHz
Memory: 16384MB RAM
Available OS Memory: 16284MB RAM
i’m timing: start fresh project 9:18 min end initializing 9:46 min.
The test run once loaded looks and runs ok just the loading gets heavely put down and not just the first time but all the time you load that project.
Sorry for the issues you are having. the issue is that the demo level contains assets from the Kite Demo, very resource hungry assets, I’ll get those swapped out, they look nice but take forever to load.
**UPDATE **I have replaced all the Kite Demo assets and everything is loading much faster now. Let me know if you run into any further issues.
Now it load very quick, i have a small question about the water where the ducks land, i’m using the trueSky water and sky in my project.
By using this water that has no direct way in changing the components on it, only true the details panel i need to find a way to let the ducks land on the water.
What is needed to keep them on there as for now they sink into the water. (If not posible i will use a other water asset for the small rivers and lakes)
I have not used the TrueSky water but after some searching i can see it’s not a still water but a undulating water. I can see why you are having issues. the Ducks work with buoyancy (settings in Character Movement) and a water volume, the same as any other swimming Character. You can also use a blocking volume with a custom collision channel so it only blocks the Ducks. As for the TrueSky water, does it have buoyancy settings? or can it be set to block all? I’m not sure. but these are the kind of things your looking for. In the Ducks demo level I use the Unreal Lakes water with a water volume. Hope that helps.
Hi friend, you did a great job thank you very much!
I am a hunter and want to create AI wild ducks for my game.
- How can I make ducks not look for “BP_Duck_Ground_TargetPoint”? (Ducks need to land only on water)
- How can I make ducks not rotate in flight 360 ° vertically?
- Where to turn on the visual display of line trace and change the distance to a collision with an obstacle?
1- To adjust the Ducks to limit their behavior to only sky and water interactions you need to make the following changes to the “BP_BTTask_Duck_RandomBehaviorSelector” (found here- Ducks > AI > Tasks folder)
Find this section-
Make These Changes- Don’t miss that random int node (Important)
2- I think you are referring to the pitch adjustment here- open the “BP_BTService_Duck_ObstacleAvoidance” (found here- Ducks > AI > Services folder) and adjust the following section
3- You can draw the avoidance lines by opening the “BP_BTService_Duck_ObstacleAvoidance” (found here- Ducks > AI > Services folder) and edit the following section
You can also define how long you want the obstacle avoidance trace lines to be in the “BP_NPC_Duck_Base” (found here- Ducks > ParentClassBlueprints folder) change the “down trace distance” variable to whatever you like.
I hope that was helpful
Just purchase ducks, How do create the “Water_ PhysicsVolume”, can’t find this item, thanks dennis
Thanks for supporting Ducks!
So to add a water volume you just need to drag a plain “Physics Volume” into your level, then in the details panel under “Character Movement” check the “Water Volume” Bool.
Thanks for the fast reply, worked great
I bought the Ducks asset and it all works really nicely out of the box - I dragged in some sky and water targets and a few ducks and they all randomly do their stuff. Really nice!
I want to control the ducks somehow - at night I want them all to ‘go home’ and then come back when the sun comes up.
I could move all the duck targets off the map at night and put them back in the morning, but thought I would see if there is a better way to do this.
I bought the product, and I’m facing a small issue. Could you help me please?
I placed 15 ducks over a lake so they can swim. It works pretty well and stuff but it happens that they start flying one after the other 10-20 seconds after playing the game. I don’t really mind them flying BUT everytime one is flying, I’m loosing like 5-10 FPS. So, with 15 ducks, it’s really an issue. Is there a solution on that? If there isn’t any solution, how can I make them not fly at all ? I tried to untick the box “Can This Bird Fly?” but they are still flying after 10-20 seconds. I even tried to force this with blueprint but it seems like they still want to fly.
EDIT: here are some errors that can lead you to the right direction…
Your getting those errors and FPS hits because of an incomplete setup. you need to add Sky Targets, Ground Targets, Perch Targets, and Water Targets to your level. Also ensure a navmesh volume is in place and build paths. That should get rid of the errors.
And if you would like the Ducks to stay in the water and not fly away open the behavior tree and disconnect the following nodes (see image) Now the ducks will keep going to random points on the water forever.
Hope that helped, also that “Can This Bird Fly?” bool is used when beginning the level walking on the ground - not swimming. I will address this and upload a new update this week. Thanks for pointing it out.
Thank you very much !!
I already added Water target points but once I added the sky and ground target points, it started to work.
Thank you a lot!!
Hi i just got this and i really like it the only issue i am having is i cant get the ducks to hear my gun shot
The Ducks are currently only configured to see the enemy. However you are right, they should fly away when they hear a gunshot. I will add this next week and submit it, thanks for the request.
I’ll update this post after the submission goes through.
OK, the Ducks will now fly away when they hear a gunshot. The new update is now available
In the Demo level- in the Shooting ThirdPerson Blueprint, after the projectile is spawned, a sound is played and after the sound node there is an announce node. This announce node is necessary to let the Ducks know that this is a sound that they should react to. Also note the max range and tag section of the announce node.
You can also adjust the Hearing range of the Ducks. open the Duck AI Controller and select AIPerception. in the Sense section for Hearing you can adjust the Ducks Hearing range.
Thank you this has helped me so much. I have one more thing to ask and i promise i am done lol. Now that they have hearing how hard would it be for me to set up a way to call them so they would come to closest water. Would that be done in the behavior tree. Just wondering if u had a idea where i could start thanks again for all the help. The reason I ask i am making a hunting game and i need to be able to call and if they are close enough to hear it they come the general area.
This would be relatively easy to do. First take a look at the Service (BP_BTService_Duck_FlyToARandomWaterTarget)
That will get you mostly there. That service has the duck fly to a random water target.
What you want is the duck to fly to a specific water target. So this means a new entry (Vector) for the Blackboard.
Next there are many ways to to pass a vector location to the Blackboard. One Idea is to create a task that fills that variable. Like a get all water targets- measure distance- and the closest target sets that Blackboard variable.
Next we need a Bool for the Blackboard- (I heard a whistle) this will be set to true when the Duck hears the sound with maybe the Whistle tag. (in the AI Controller)
Now in the Behavior tree add a new selector with a “I heard a whistle” Decorator- If true go to the nearest water target Service.
I’m sure this sounds like a lot of nonsense but it is a pretty good thumbnail to start from. The important thing to know is that there is a 3 way communication happening here. The AI Controller, The Blackboard, and the Behavior Tree.
That’s a very rough way to start thinking about this and breaking down behavior into steps. There are so many ways to do the exact same thing in Unreal, which can be confusing at first, but is amazing once you get the thought process down because you have so much flexibility.
Anyways, I hope that was helpful,
Keep me posted on your project.
Hello thanks for the reply I have played with it a little and sadly i am not so familiar with behavior tree and what not. IDK if you would be willing to help me with this i would like them to land near say a decoy i put out or come to the area of a call. I would be wiling to pay you for your time if u wouldn’t mind helping me with this. Its the only thing i have left to make the Ducks and Geese perfect for my game. I have a discord if you wouldn’t mind to help here is the link if that would make it easier for u i am always here lol Ghost gaming