UnityTechnologies / open-project-1

Unity Open Project #1: Chop Chop
http://unity.com/open-projects
Apache License 2.0
5.75k stars 2.03k forks source link

'E' to talk does nothing in conversations #483

Open StenBone opened 3 years ago

StenBone commented 3 years ago

Short description After the player has initiated a conversation with an NPC by pressing the 'E' key, the prompt for the 'E' key remains on screen even though pressing 'E' does nothing to move the conversation forward. The player must press the 'Space' key to move the conversation forward. This leads to confusion for the player just starting the game without knowledge of the key bindings(experienced first-hand).

Expected behaviour A clear and concise description of what you expected to happen instead.

To Reproduce Steps to reproduce the behavior:

  1. Open TestingGround scene
  2. Click the Play button
  3. Move the player character over to the rabbit(BardHare (1)) close by the player spawn.
  4. Press 'E' to initiate NPC conversation.
  5. Notice that pressing 'E' again doesn't move the conversation forward, even though the 'E' key prompt is still displayed. The only way to move the conversation forward is by pressing 'Space', which isn't prompted by the UI on screen.

Notes

image

Haxsen commented 3 years ago

I say we should switch to "Space", "E" is a button for 'interact' action usually. Also need to change 'Talk' message into 'Skip' or 'Next'.

(Hi everyone, I am new in this community. I hope ya'll doing great.)

Haxsen commented 3 years ago

How about this?

https://user-images.githubusercontent.com/33906649/128328383-b4d0c292-7038-47b9-b6a9-1b502c3001a6.mp4

normyp commented 3 years ago

@Haxsen looks good to me. Are you going to submit a PR?

Haxsen commented 3 years ago

@normyp I am not sure yet since there's no response of the developers.

ciro-unity commented 3 years ago

We're taking a look at this. @uChema is doing a lot of work on the UI, so it might not end up being an issue. I've marked it as Important though, so we'll come back to it! No PR needed for now.

Thanks 🙏🏻

uChema commented 3 years ago

Hey everyone ! Thank you for opening this issue. The solution proposed looks good and we were discussing the issue in other systems as well such as Cutscenes. The problem here is that the interaction prompt "E" is independent from the DialogueSystem and is triggered each time a character is colliding with the player. I'll try to change the "E" button to "Space" as @Haxsen proposed . The GameState system that we implemented lately could help us in detecting if a character is in Dialogue, and change or hide the prompt.

Haxsen commented 3 years ago

Hi @uChema hope you're doing well. My solution was very simple, i.e. Enabling the skip button overlay whenever a conversation is started. I thought this simple solution will be fine in this case. But I would like to see your solution to this (please notify when resolved).