Weeping Angels effect

I’m trying to make a weeping angels effect for a character. It’s supposed to execute a blueprint when the player isn’t looking at it and stop when the player is looking at it, but just pausing so it will continue the blueprint when the player isn’t looking at it instead of re-executing the blueprint.

It is not necessary (not sure if possible) to pause the blueprint.

If you need the “Weeping Angels effect” just store the Target in another variable and do 2 events:

Event 1 will run if the player is not looking and move the actor towards the Target.
Event 2 will run if the player is looking and will tell it to stop without messing with the Target.

Do you think you could post a picture of the blueprints for this?

You can’t really “pause” a blueprint, but you can set Time dilation for it. If you set it to 0 it will be equivalent to a pause.

Alternatively, you can pause a Timeline.

Maybe it’s not about pausing anything at all per se. Perhaps it’s just about gating the statue’s Tick so it does not execute a part of its script. This simple approach seems to work well enough.

Statues follow player:

Until the player looks at them:

Image from Gyazo

There might be a more elegant solution, though.

1 Like

Or you use Mr. Conehead:

To stop more than one in place:

Image from Gyazo

I like that. Those snowmen are scary. But I believe simple line trace is not enough. You should get the vector from the player to the angel, get the angle between the said vector and the player’s forward vector, and stop the angel’s movement if that angle is less than a half of the player’s field of view angle so that you would never see them move.

Yes, that’s a grown up approach! With math and all. Not until I’ve finished second coffee.

You either stop one target or many. That’s the difference here. It simply depends on what you want the end result to be.

Or use what Tuerer suggested - it’s the most flexible approach. Gives you the extra option of stopping precisely everything on the screen that the player can see… Scary.

To you it would seem that nothing is moving, indeed :expressionless:

Okay, thanks for the help! I’ll try this.

Is there any advantage using one over the other or are they pretty much equal?

One more question… How do you make the CanMove boolean to make them stop or is it all there and I’m just missing something? (I’m using the second example)

For some reason it doesn’t print out the text. Should I post a picture of my blueprints so you can see if something is wrong with them?

The bool is the statue’s variable, you need to add it yourself.

Sure, go ahead.

It still doesn’t print out. Is there something missing?

another way to do this via math would be to use the inverse transform node and then every actor thats in the -x would be behind the player.

Nice and clean. I might have gone over the top with my suggestion but I was just under the impression OP wanted a single target usage.

Plug in Test Base Actor on the Debug node, otherwise you’re printing everything at 0,0,0 in the World Coords.

Why do I never get to see World Context Object? x)
edit: Ah, you get it by using the context sensitive wire drag. Last time I checked it does nothing.