How to create a lock spot when character enters a sphere

Hi all,

I am making a level that has spheres that have a texture material that is rendered through the media player to display a 360 film (captured by gopro fusion camera). The idea is that a character walks into a sphere to then be inside a 360 video. This will be happening on a desktop.

I am a beginner with UE4, and so maybe more experienced people know tools to modify to achieve my aim, but my specific question: How can I ensure that the avatar/user ‘locks’ in to the center of where the sphere touches the ground, so that they don’t keep moving and therefore the perspective is even as they look into the walls of the sphere? I don’t want them to be too close to any one edge.

Imagine you in real life walk into a life-sized bubble and are standing in the middle of it - that’s what I want. (Then I want the movie to cue at that point etc but I’ll ask more q’s later).

Thanks so much!

When they walk into the sphere, the player needs to meet an overlap volume. On overlap, you can turn off the player ability to move ( leaving just look ), and move the player to the centre with a interp.

336453-moveplayer.gif

Thank you for your help! I’m going to try this out. I began fiddling with other things and dropped this, but in meantime as I learned more I started to imagine manipulating controls like this. : ) Thanks

@clockworkOcean,

Thanks again.
How about when I want to enable movement again? Let’s say there’s a button that pops up after 5 seconds, should I build nodes “when clicked” → “set move player [uncheck]” and then will it allow me to go? Or do I need to make a statement at the “false” part of the branch after “event tick” as shown in your blueprint photo? If so, what’s the statement for re-instating movement?

Cheers!

Just reset the ‘move player’ bool :slight_smile:

Hi - long time no talk ; )

How would I do this from a different actor blueprint?

I want to free the player movement after the user clicks a button (static mesh pane). Thanks!

I made a BPI called “end walk move” and in the plane blueprint I set it to trigger that BPI - Then in the blueprint where I added your code I added “event End walk move triggered” and told it to reset the bool and I told it to “reset ignore move input” and it didn’t work.

@clockworkocean ^^Basically I have the same question that I did when I posted on May 31

Here are screenshots. The first is for ‘globe sphere’ blueprint, and if you compare with the blueprint example you gave above then you’ll see that I matched what you drew for me and it works. You’ll also notice how I started trial-and-erroring new nodes to reset the movement… I moved/plugged and re-plugged these in different combos but couldn’t get things to work. (ps it’s unplugged right now at the trigger, but that’s because I wanted to make game function a different way in the meantime.)

The second screenshot is the blueprint of a plane that I click on, at which point I want to re-enable movement/input. THANK YOU!

Well, that looks ok, but is it making it through? Sure way to know is put a print string at the other end.

Common problems with BPI setup are

  1. The globe sphere reference is not right ( getting any ‘none’ errors? )

  2. The other sphere BP doesn’t implement the BPI, but it looks like it does…

I haven’t used print strings before. Do you mind elaborating?

I don’t get any errors when I run it. I’ve tried simulating it and watching the blueprint light up, and I saw the plane/button light up the BPI to call the function, but I didn’t see it light up on the ‘globe sphere’ end.

I’ll add that ‘globe sphere’ is a parent actor, and I’ve made iterations of it, so in this case there’s a sphere I think called ‘intro’ . Does that have anything to do with it?

Like this:

346967-screenshot-1.jpg

I find it more reliable than the debugger, especially when it comes to inspecting values.

We have to get our terminology clear here. Is one actor ‘inside’ the other?

Or do you mean you made a blueprint and implemented the BPI in it, then right-clicked on it in the content browser and chose ‘make child blueprint’?

Ok, so I’m still not quite clear is the spheres you’re putting in the level are instances or child blueprints, but it doesn’t matter. Either way, if you implement the BPI in one of them, it will run.

You just have to get a reference to the sphere actor and give it the ‘end walk move’ message.

I see you doing that.

Also the ‘listening’ blueprint needs to implement the interface, which does, I can see that because you have the ‘letter’ icon on the event.

And you’re not getting errors, so the sphere reference must be pointing at something.

I think the only possibility is the reference IS assigned, but not pointing at the correct sphere?

Put a print string on the message event in the sphere, see if it prints anything…

Ok thanks. I’m not in front of my computer that runs UE4 right now, so bear with me (and I’ll be at the office in ~2 hours to get more precise and trial and error things).

What I can say is that I made my iterations of ‘globe sphere’ long before experimenting with this BPI. My game relies on a series of 360º videos projected onto spheres that you walk into, so I made a parent/universal/overarching actor ‘globe sphere’ that has a blueprint engineered with a trigger to open the sphere and some other basic things. I’ve modified that blueprint according to your advice on how to transport and lock movement, so when I enter a sphere my pawn goes to the center.

This iteration of ‘globe sphere,’ called ‘intro’, inherits code from ‘globe sphere’ blueprint, but has its own specifications as well - for instance, it has a trigger that opens a specific media player/movie to project onto the sphere.

There’s a separate actor ‘plane button’ that has a trigger component and a plane component, and it’s trigger is sitting in the same place at the center of the sphere - this way I can set a delay when the pawn spawns a sphere/movie and once the action/video occurs a specially designed plane mesh component will pop up and it’s clickable for more interactivity. In this case the plane opens text saying ‘move forward to learn more’ and I want my character to be freed up at that point.

Hope this makes sense. Thanks

I will attempt whatever advice you have in 2 hours and continue the conversation! :slight_smile:

**So, the iterations of globe sphere I do believe (in technical terms) are children blueprints? They inherit info, I know that much.

Thanks.

Ok, so I got ‘hello’ to print after numerous actions but not at end of the BPI message in ‘globe sphere’ hmmmm

So I can’t figure out for the life of me why the BPI isn’t passing onward

*** ! ***

Ok, I transferred everything from the ‘globe_sphere’ parent blueprint to the child actor blueprint of the sphere ‘intro’ and it works. :slight_smile:

Don’t really understand why it didn’t work the other way but anyway, good riddance.

THANK YOU FOR YOUR HELP!! :slight_smile:

You’re welcome :slight_smile: