Weeping Angels effect

This tick is in the player character, right? And the cone is set to Overlapping collision? So what’s happening? Everything is working apart from debug text? Or nothing is working at all?

The blueprints are in the Player Character, the cone is set to overlap all, the code just seems to not be running at all. I’ll check in a bit to make sure it’s a tick event. Are there any blueprints I need in the angel? (I guess that’s what you’d call it)

Are there any blueprints I need in the
angel?

Well, yes! It’s the first pic I ever posted here - it controls the movement of the Statues. As you can see my angels are a wee bit chubby.

edit: Instead of Player you can use Get Player Character node

Haha, I though that was just for the first example (I’m still not amazing with the engine). I’ll try that!

One more thing, My angel character moves in stages. (ex. One position, 10 seconds later…, Second Position, etc…), how would I incorporate this into the blueprints or should I do it a different way?

So not directly towards the player, right? So each statue has a list of predetermined locations it will move to?

Have the desired locations in the array, use indexes to mark which one is next, vInterp between them or even better, use a Timeline, you’ll have more control over the movement curve.

You can also use “Was recently rendered” node. If the actor was recently rendered, it should not move, else it can move towards the player. I don’t know how expensive it might be, you can try and experiment.

That’s actually brilliant, I had no idea such a node even exists. It also works great in cases where you don’t turn away, but only hide around the corner or behind something. You can recreate ninja cat effects like this: Funny Stalking Cat Video Compilation - YouTube

Well sure, it should be done on tick or timer, but as I understand that’s a property of an actor that’s being set for each actor no matter if you use this node or not. So maybe that’s wouldn’t be very expensive?..

Not sure though.

Edit: since you won’t see the movement anyway, it doesn’t have be smooth. A timer that ticks, e.g. 5 times a second, should suffice.

haha yeah! If you implement it, do tell me about the performance. I have a feeling that you might have to call this node on tick and that might be expensive.

You are right! Set timer by function or event should work here.

That’s perfect!

Another built-in, and perhaps even more dynamic way to do this, is via the AI Perception Component and corresponding Perception Nodes. Your Weeping Angels pawns would have a Perception Component added to them, and be possessed by an AI Controller. This would also enable Navigation System tools, so your AI could easily make use of pathfinding nodes like Simple Move To Actor and Stop Movement. You could even utilize Get Move Status to do something when the AI reaches the player.

A much simpler solution is to check if an object is in the field of view of the camera
you can find the blueprint here.
https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/8933-is-there-a-way-to-check-if-the-player-can-see-an-object

If I were to use Mr.Conehead, how to make the cone to just overlap AI only? I have collectable items far from player, but when the conehead overlaps with them, the items just got collected. I want only the player mesh to overlap with the items to collect them.

Been there…
I made a Rocking Chair that would only Rock when not in the view of the player. So when the player looked at it, they would just see it settling (thanks to physics).

What you are looking for is the ‘was recently rendered’ function.
It returns a Bool which basically says “False” if the object isnt being rendered (off canera), and True if it is (on camera).

Throw that in the Actors ‘Tick’ piepline and thats literally all you need.

Hey there @JsonYeo! Welcome to the community! (most of this is assuming you have a default character set up) So if the cone is a child of the player character at all, it will inherit it’s collision rules. However, a way to get around it counting as the player would be to check for the component overlap instead of actor overlap. So if you change you’re on actor overlaps in your character to say, on capsule component overlap, it will only affect the items when the capsule makes contact.

Thanks. However, I solved it by opening a new channel and adjusted the collision settings between the cone, AI and the collectable item.