med-material / Whack_A_Mole_VR

Whack-A-Mole in VR
MIT License
3 stars 15 forks source link

Motorspace indication: indicate on wall instead of motorspace #213

Closed bastianilso closed 1 year ago

bastianilso commented 1 year ago

People keep track of the cursor on the wall when playing, rather than their hand. For this reason, weep the signifier arrow graphics on the wall . So we could e.g. just have an arrow pointing on the wall itself.

A signifier should be on the wall, because that is what they are tracking.

related issue: #167

bastianilso commented 1 year ago

Could be e.g.

image

bastianilso commented 1 year ago

Alternative: tile wall. So cursor can never exceed boundaries. Going left means cursor appears right.

lucasmnt commented 1 year ago

I've been working on this issue, and right know I have two version of the work, one with only one arrow, and the other with three arrows. I also managed to make the arrows appear when we are going out of vertical boundaries (not only horizontal one).

See with only one arrow :

ArrowBoundaries

See with three arrows :

ArrowBoundaries2

In any cases, these arrows are 2D sprites, and they can appear simultaneously if you are out of vertical and horizontal boundaries at the same time. Theses "arrow boundaries" are triggered by the fact that the player cursor is going too far from the left, right, top, or bottom of the wall.

lucasmnt commented 1 year ago

I want to add that right now, all the code that manages the appearing of the different arrows is situated inside the WallManager.cs script, since it's the only place (that I found) where we have access to the wall dimensions, and positions. Is it ok to leave it here or should I try to get the logic somewhere else ?

bastianilso commented 1 year ago
lucasmnt commented 1 year ago

I was wondering if, in the same fashion as the mole prefab, we should move the logic to the BoundaryArrow prefab and not to the target (there is also the fact that there are two Targets, one for left and one for right controller). Wall Manager will stay clean, and the only "problem" would be getting cursors positions.

Right now i'm putting the logic to the Target, but we will still need to create like a BoundaryArrow.cs am I right ?

bastianilso commented 1 year ago

@lucasmnt maybe we should take a look at what you have here later in the afternoon today, let me know.

bastianilso commented 1 year ago

Some ways to handle the infinite cursor challenge when going beyond the wall:

As for attaching the arrows to the person's field of view, our normal approach is to attach it to an invisible game object placed on the head. However, please make it possible to switch between using FOV arrows and having them attached to the wall, since we don't quiet know what is the appropriate choice yet.

bastianilso commented 1 year ago

current WIP branch holds the latest work in this area: https://github.com/med-material/Whack_A_Mole_VR/tree/wip/arrow-boundaries

bastianilso commented 1 year ago

Further ideas:

bastianilso commented 1 year ago

Implemented with commit d3b2482c5ecc3395c64f8eb654babfea7ff2d85b