Yeah, I was surprised too. Simple line traces are very cheap in Unreal, and Im only tracing to the "Active" NPCs, which limits it to around 100 traces every 0.5 seconds. I'm working on further improvements so we'll see where we end up :)
Coqui Games, hello! You're doing great job with your system! But what if I have RootMotion animations, so it can't be just disabled... is there any chances to optimize?
Hmm, I havent tried root motion, but I think it should work. There are options to enable or disable root motion on the animation montages, so I would think it will work :)
@@GaMeNik19 Hmm, my setup uses In-place animations for movement so I can control speed, stopping, etc. I'm not sure I will support root motion for locomotion on the first release, but if its a requested feature I will take a look :)
Aaaaand my wallet is gone again. By any chance have you thought if having them do certain things at certain "times" like a day and night routine, add fraction mechanics and make different movements for different NPC types?
Yup :) Already have the capability of loading different Profiles (lists of tasks) based on time of day. But the code is still really buggy so its not ready to show yet :P
If you use Metahumans, even without animation they are expensive. Add a paragraph, please. Texture replacement. That instead of Metahuman when the player does not see moves for example Mannequin.
Yeah for sure MHs are quite expensive! And thats a good suggestion - replace the skeletal mesh completely when they are far (more aggressive than LODs).
Hard to give an accurate number, but if I turn off all the optimizations my FPS tanks at around 100 NPCs in the scene. This system helps me push over 500 keeping FPS fairly high. You can add many more than that btw, as long as you adjust the cull distance :)
whats realy the probem, 41k polygons for the default Mannequin *500 = 20,500,000 Polygons That pretty much a hero Asset. lower polygons, low textures and possible more streamlined rigs. and the AI script do not need interaction over x distance. you can easy push 1000 +
Very nice, you've made something very similar to the Significance system they use in fortnite, although your is seems much more non-coder friendly. Any plans for releasing this?
Thanks Crown9! I do plan to release this, but no ETA yet, as I just started working on this. Still lots of ideas and features to add, so let me know if you have any suggestions on how to make this better :)
@@vegitoblue2187 It depends. I'm actually not using traces to determine the distance (I keep an array of all NPCs in the scene and calculate their distance that way). However, I'm using traces to determine visibility. This means that even if an NPC is close, but cannot be seen, you can make it partially disabled. For this I need a trace on the Visibility channel to make sure it detects any objects on the way :)
@@CoquiGames hmm well there are many ways of doing it so I guess ill explore as many options as I can before I fecide on one. Also, does Unreal take advantage of multihreading for ai? That can potentially be huge in performance