원 주위에 사용자 친화적 인 극좌표 이동을하려면 어떻게해야합니까?


23

나는 당신이 배를 가진 행성에 착륙하고 배를 나가서 걸어 다닐 수있는 2D 게임을하고 있습니다.

이 행성들은 매우 작으며 (때로는 ~ 350 픽셀 반경으로 생각) 측면에서 보입니다. 화면에서 지구 전체를 쉽게 볼 수 있습니다.

이것은 혼란 스러울 수 있으므로 여기에 사진이 있습니다. 우주 게임

A와 D 키를 사용하여 각각 시계 반대 방향과 시계 방향으로 움직입니다. 문제는 당신이 행성의 "상단"(상반부)에 있다면, 이것은 의미가 있습니다 : A는 왼쪽으로 움직이고 D는 오른쪽으로 움직입니다. 그러나 행성의 "하단"(하단)에 있으면 A가 오른쪽으로 이동하고 D가 왼쪽으로 이동합니다.

이것을보다 사용자 친화적으로 만드는 방법에 대한 아이디어가 있습니까?


21
사용자에게이 혼란스러운 점을 물었습니까? 나는 확실히 그렇지 않다-당신 은 당신의 캐릭터의 관점에서 당신의 캐릭터를 왼쪽으로 이동하려면 오른쪽을 누르 십시오 . 이것은 턴 중간에 버튼을 변경하는 것보다 훨씬 낫습니다 (당신이 그렇게 할 계획이라면).
Charanor

답변:


38

내 첫 번째 제안은 = 시계 반대 A방향 및 D= 시계 방향 운동으로 고정하는 것입니다. 이것은 매우 혼란스럽지 않으며 이와 같은 궤도 운동과 관련하여 거의 "표준"(즉 가장 일반적인) 선택입니다.

다른 방법은 게임이 움직이는 방식을 바꾸는 것입니다. 플레이어가 행성에있을 때 이동하는 대신 행성을 회전시킬 수 있습니다. 이것은 매우 일반적인 선택이지만 플레이어를 제외한 모든 것이 회전해야하기 때문에 화면에 여러 개의 행성이있는 경우 방향 이 바뀔 수 있습니다. 이 방법을 사용하기로 결정하면 지구의 일부만 표시하여 눈으로 추적해야하는 움직이는 물체의 양을 줄일 수 있습니다.

행성의 절반 만

마우스를 자유롭게 사용할 수 있으면 항상 마우스 클릭을 사용하여 이동할 수 있습니다. 위치를 클릭하면 플레이어가 해당 지점을 향해 이동하고 가장 짧은 방향을 자동으로 선택합니다. 원은 "클릭"이고 화살표는 가장 짧은 방향입니다.

클릭을위한 최단 방향

추가 보너스로 게임을 앱으로 게시하려는 경우 모바일 컨트롤로 변환하는 것도 매우 쉽습니다.


3
카메라 움직임으로 가려면 진행 방향과 속도를 강조하려면 약간 뒤쳐지는 것이 좋습니다. 움직이는 방향으로 캐릭터가 5도 또는 10도 기울어 져 나타납니다.
satibel

16

캐릭터가 우주선에서 나올 때 캐릭터가 지구의 맨 위에 오도록 뷰 방향을 조정 한 다음 캐릭터가 걸어 다니면서 뷰를 움직입니다. 이렇게하면 지구상에서 캐릭터가 항상 시야와 관련하여 맨 위에 있으므로 왼쪽 / 오른쪽 컨트롤은 어느 위치에 있더라도 일관성을 유지할 수 있습니다.


3
조심하지 않으면 이것은 매우 혼란 스러울 수 있습니다.
Beefster

11

(정적 카메라가 아닌 스틱 기반 움직임이있는 3 인칭 게임에서 종종 사용되는) 접근 방식 중 하나는 입력이 시작될 때마다 (키를 누를 때) 움직임 기준 프레임을 설정하고 유지하는 것입니다. 입력이 종료 될 때까지 해당 이동 프레임 (키에서 손을)니다). 즉, "A"키는 항상 문자를 "왼쪽으로", 원의 맨 아래에 있으면 시계 방향으로, 그렇지 않으면 시계 반대 방향으로 키를 놓을 때까지 문자를 움직입니다.

불행히도, 원으로 제한되어 있기 때문에 캐릭터가 원의 가장 왼쪽 또는 오른쪽 범위에 있거나 근처에 있으면이 기술은 여전히 ​​떨어져 있습니다. 어느 방향으로 갈지 임의로 선택하여 간단하게 작동시킬 수 있지만 사용자는 혼동 될 수 있습니다. 기존의 "A는 항상 반 시계 방향"접근 방식을 고수한다는 사실이 더 혼란 스러울 수 있습니다.


6
원의 오른쪽에있을 때 S는 시계 방향으로 움직여야합니다.
user253751

1
OP는 두 개의 키만 언급했기 때문에 생각하지 않았지만 좋은 생각입니다.
Josh

1
이 컨트롤 모델이 가장 좋은 아날로그 스틱 컨트롤도 고려해야합니다.
Beefster

10

비슷한 개념을 보시고 3D로 슈퍼 마리오 갤럭시를 보시기 바랍니다.

슈퍼 마리오 갤럭시 https://youtu.be/_8eJC4gIAm4?t=19m

짧은 이동에서 참조 프레임은 동일하게 유지되고, 유니버스는 움직이지 않으며, 특정 임계 값을 초과하여 유니버스가 따라 이동 / 이동하므로 참조 프레임이 가운데로 돌아갑니다.

이동할 때 유니버스를 "동작 흐림 효과"를 사용하여보다 자연스럽게 보이고 눈이 움직이는 부분 이동 위치에 초점을 맞추지 않도록 할 수 있습니다.

나는 Nintendo가 게임을 가능한 한 매끄럽게 만드는 데 약간의 연구를 투자했다고 가정하고 이것이 그들이 해결 한 것입니다. 저는 항상 더 큰 회사가 무엇을 알아 냈는지 알고 싶어합니다. 최대의 편안함과 연주 성을 위해 R & D에 무언가를 투자하기를 바랍니다.


7

A/ D을 사용 하여 캐릭터를 행성의 가장 왼쪽 / 가장 오른쪽 방향으로 이동 하고 W/ S를 사용하여 캐릭터를 맨 위 / 가장 낮은 지점으로 이동하십시오.

이런 식으로 플레이어는 항상 캐릭터의 위치와 상관없이 항상 입력 움직임과 같은 방향으로 캐릭터를 움직입니다. 예를 들어 D항상 오른쪽으로 S이동하고 항상 아래로 이동합니다.

키를 누르고있는 동안 게임은 같은 시계 방향으로 계속 진행하거나 제한점에서 캐릭터를 멈출 수 있습니다. 그것이 멈 추면 큰 문제는 아닌 것 같습니다. 플레이어는 같은 시계 방향으로 계속 가고 싶다면 입력을 변경할 수있는 완전한 사분면을 가지고 있습니다.

또한, 원형 W- A- S- D또는 W- D- S- A매우 직관적 보인다 행성의 일주에 입력 결과 패턴.

하나 이상의 키를 누르고 있으면 가장 최근에 누른 키가 우선하거나 8 개의 제한점을 갖는 것과 같은보다 복잡한 동작을 사용할 수 있습니다.


1
Super Mario Odyssey를 플레이 한 후에 제안한 내용 입니다. 그러나 제어 체계의 변경으로 인해 처음에는 직관적이지 않았습니다 . 이것이 주요 제어 체계라면 문제가되지 않을 것입니다
Kaiged

3

이것은 많은 게임에서 겪는 두 가지 고전적인 "멘탈 모델"문제 중 하나입니다.

모든 플레이어는 게임 컨트롤이 게임 액션에 매핑되는 방식에 대한 "멘탈 모델"을 개발합니다. 시간이 지남에 따라 게임의 제어가 점점 더 유사 해짐에 따라 사람들은 별도의 게임을위한 별도의 모델을 개발하는 대신 기존의 정신 모델이 새로운 게임에 적용되기를 기대하기 시작했습니다. 모든 플레이어가 컨트롤이 작동하는 방식에 대해 동일한 정신적 모델을 갖는 것은 아니라는 점을 제외하고는 괜찮을 것입니다.

예를 들어, 다른 고전적인 "멘탈 모델"문제는 조이스틱 (일반적으로 게임 패드의 오른쪽 아날로그 스틱)을 누르는 것이 위를 바라 보는 것인지 또는 앞으로 기울이는 것을 의미하는지 (즉, 아래를 보는 것 )입니다. 두 모델 모두 객관적으로 옳지 는 않지만 대부분의 플레이어는이 두 가지 가능한 매핑 중 하나만 머릿속에 유지하며 게임이 개인적으로 기대 한 것과 다른 일을하면 버려집니다.

당신의 질문은 정확히 같은 딜레마입니다. 여기서 "멘탈 모델"문제는 컨트롤 스틱을 오른쪽으로 밀면 "레지던트 이블에서와 같이 캐릭터의 오른쪽으로 이동"또는 "스크린의 오른쪽으로 이동"(마리오에서와 같이)을 의미하는지 여부입니다. 또는이 경우 "시계 방향으로 이동"(Tempest에서와 같이 패들에서 조이스틱 컨트롤로 기존 변환을 사용하는 경우).

모든 플레이어는 내장 모델을 사용하여 변경하기를 꺼리거나 변경하기가 어렵습니다. 이러한 "mental 모델"문제에는 문제를 처리하는 방법에 대한 세 가지 옵션이 있습니다.

  1. 개발자는 게임에 가장 적합한 모델을 선택하여 사용합니다. 선택한 모델에 문제가있는 사람들의 불만을 무시하십시오. 그들은 적응해야합니다. 그리고 당신의 게임이 충분히 매력적이라면 그들은 할 것입니다.
  2. 가능한 두 가지 모델을 모두 구현하고 플레이어가 원하는 모델을 선택할 수 있도록합니다.
  3. 어떤 정신 모델을 사용하든 컨트롤-> 게임 액션의 매핑이 동일하게 유지되도록 게임을 다시 디자인하십시오.

이 경우 옵션 3 ( "심리 모델이 서로 충돌하지 않도록 게임을 다시 디자인하십시오")은 플레이어와 함께 카메라를 회전시키는 것을 의미하므로 플레이어는 항상 화면에 똑바로 나타납니다. 이렇게하면 "오른쪽은 시계 방향으로 이동"과 "오른쪽은 화면 오른쪽으로 이동"이라는 의미가 항상 정렬됩니다. 더 이상 갈등이 없으며 컨트롤이 작동하는 방식에 대한 정신 모델에 따라 플레이어가 혼란스러워하지 않습니다.

옵션 2는 두 가지 제어 스타일을 모두 구현하는 것을 의미합니다. 오른쪽을 누르면 화면 오른쪽으로 이동하고, 오른쪽으로 누르면 시계 방향으로 이동하고, 옵션 화면에서 플레이어가 사용하려는 컨트롤 스타일을 선택할 수 있습니다.

여기의 모든 선택은 유효합니다. 다른 옵션은 다른 양의 작업이 필요하며 게임에 다른 제약을 부과합니다. 주제 또는 예술적인 이유로 플레이어가 행성의 "하단"측면에서 움직일 수있는 것이 정말로 중요하다면, 옵션 3을 사용하고 싶지 않으며 1 또는 2를 사용해야합니다. 그렇지 않으면 옵션 3이 이상적인 선택 일 것입니다.

"조이스틱을 오른쪽으로 밀면 화면 오른쪽으로 이동하는 것을 의미합니다."컨트롤 스타일에 대한 간단한 구현 참고 사항 :이 컨트롤 스타일을 구현할 때는 조이스틱 방향을 시계 방향 / 반 시계 방향으로 선택하여 수행해야합니다. 플레이어가 행성의 바닥으로 이동하더라도 조이스틱이 다시 움직일 때까지 시계 방향 / 반 시계 방향으로 동일한 결정을 유지하십시오. 즉, 행성 위에있는 동안 오른쪽으로 누르거나 행성의 오른쪽에있는 동안 아래로 누르면 캐릭터가 시계 방향으로 움직이기 시작하고 플레이어는 플레이어가 움직일 때까지 행성의 바닥 주위에서도 시계 방향으로 계속 움직입니다. 조이스틱 방향이 다른 방향으로 해석되는 행성의 일부로 이동하더라도 조이스틱이 다시 작동합니다.

이 기술은 종종 조이스틱 컨트롤을 "잠금"이라고하며 일반적으로 카메라가 갑자기 회전 할 때 (플레이어가 갑자기 방향을 바꾸고 싶지 않음) 3D 게임에서 사용되지만 여기서도 유용 할 수 있습니다. 카메라 움직임으로 인해 플레이어의 수정되지 않은 입력이 갑자기 이전과 다른 것을 의미하는 2D 게임.


1
두 손가락으로 랩탑의 터치 패드를 아래로 스 와이프하거나 위로 스크롤합니까? 휴대 기기를 사용하는 경우 손가락과 페이지가 '연결되어 있기 때문에'위로 올라갔지 만 마우스와 같은 방향으로 내려 갔을 때 ... Mac을 사용할 때마다 연결이 끊어진 느낌이 듭니다.
Draco18s

@ Draco18s 또 다른 좋은 예입니다! Windows에서는 아래쪽 스크롤 입력 수단 이 문서에서 더 아래로 보인다고 간주하지만 Apple은 아래쪽 스크롤 입력 수단 이 문서 자체를 아래쪽으로 이동 한다고 간주합니다 (문서 상단으로 더 많이 볼 수 있음). 그러나 데스크톱 OS에서 Apple은 많은 사람들이 스크롤 입력이 작동하는 방식에 대한 다른 정신 모델을 가지고 있다는 것을 알고 있었 으므로 두 가지를 모두 구현하고 각 사용자가 원하는 것을 선택할 수있게했습니다. .
Trevor Powell

예, 변경할 수 있습니다. 기본적으로 설정되어있는 많은 사람들이 알고 있습니다 ( "문서를 아래쪽으로 이동"). 도대체, 내가 한 달 전에 일한 Windows 랩톱 은 기본값으로 사용되었습니다. 나는 그것을 빨리 빨리 껐다 ( "가장자리 스크롤"기능을 대신 켰다. 그러나 너무 느리기 때문에 다시 껐을 것이다. 스크롤 영역의 전체 높이가 스크롤된다. ...)
Draco18s

2

입력에 W / S / A / D를 사용하십시오 (또는 위 / 아래 / 왼쪽 / 오른쪽). 입력을 8 방향 (대각선 포함)으로 취급하십시오.

그런 다음 유효한 방향 (시계 방향 또는 시계 반대 방향)이 누른 방향과 가장 가까운 방향으로 플레이어를 이동하십시오.


나는이 솔루션이 키보드보다 조이스틱에 더 잘 맞을 것이라고 생각하지만 여전히 가능한 해결책이지만, 원에서 손가락으로 원을 움직여야하는 것은 연주하는 경우 손에 너무 어려울 수 있기 때문에 선택 사항이 될 것입니다 한 시간 이상.
satibel

2

한 가지 옵션은 키와 이동 방향 간의 연관성을 정의하는 대신 다음을 갖습니다.

  • "앞으로"이동할 현재 키 (현재 선택 방향)
  • "돌아가는"하나의 키 (전환 방향)

이를 위해서는 캐릭터에 명확하게 보이는 "방향"이 있어야합니다.

이것이 실제로 다른 옵션보다 훨씬 더 의미가 있는지 확실하지 않지만 경우에 따라 ...


1

다운은 중력이있는 곳입니다. 따라서 플레이어 캐릭터가 행성에 있으면 플레이어 캐릭터의 움직임과 함께 카메라를 회전시켜 캐릭터가 항상 행성의 맨 위에 오도록합니다.

그러나 이로 인해 지구상에서의 탐색이 쉬워 지지만 다른 천체에 비해 플레이어가 방향을 바꿀 수 있습니다. 이것은 스스로 결정해야 할 절충안입니다.


1

시계 방향 / 반 시계 방향 이동을 선택하면 플레이어가 시스템을보다 쉽게 ​​사용할 수 있도록하기 위해 수행 할 수있는 많은 작업이 있습니다.

캐릭터가 눈에 잘 띄는 방향을 제시하십시오

캐릭터가 반 파랑과 반 파면 플레이어가 기억하기 쉬운 방향이됩니다. "시계 방향"또는 "반 시계 방향"을 식별하는 대신 플레이어는 파란색 방향 또는 빨간색 방향으로 움직입니다. 캐릭터가 항상 한 방향을 향하고 있다면 (바람직하게는 시계 방향으로 움직여서 직감하면서 가장 직관적으로 움직일 수 있음) 영어 사용자 (및 왼쪽에서 오른쪽 언어를 가진 다른 사람)는 자연스럽게 '오른쪽'을 '앞으로', 컨트롤과 이동 방향 사이의 연결을 강화합니다.

캐릭터의 움직임을 멈추지 마십시오

캐릭터를 움직이는 동안에는 컨트롤의 방향을 쉽게 유지할 수 있습니다. 결국, 움직이는 방향으로 계속 움직이더라도 아무런 조치를 취하지 않으며 움직임을 되돌릴 때 선택할 수있는 다른 키는 하나뿐입니다. 당신이 선택에 직면 한 것을 멈춘 후 다시 움직이기 시작할 때만입니다. 일시 중지가 길수록 이전에 수행 한 작업에 따라 다시 수신하기가 더 어려워집니다. 일시 정지 빈도와 일시 정지 길이를 줄이면 플레이어가 이동 방법을 잊어 버리지 않도록 할 수 있습니다.


0

이에 대한 여러 가지 접근 방식이 있습니다.

1) 내가 어떻게 접근 할 것인지는 행성의 부분을 차지할 것입니다 : 위, 왼쪽, 오른쪽, 아래쪽. 사용자가 방향을 누른 후에도 캐릭터는 해당 버튼을 놓을 때까지 계속 그 방향으로 이동합니다. 따라서 캐릭터가 왼쪽에 있고 사용자가 위로 밀면 캐릭터는 손을 till 때까지 시계 방향으로 이동합니다. 이 방법으로 캐릭터가 움직일 때 기준 프레임의 변경에 대해 걱정할 필요가 없습니다.

2) 또 다른 방법은 "위험한 시공간의 연인"이 접근하는 방법을 원합니다. 조이스틱을 사용하면 표면에 따라 기준 프레임이 아닌 조이스틱의 각도가 "캐릭터"가 멈추기 원하는 지점이됩니다. 따라서 그들의 참조 프레임은 "행성"의 중심에있었습니다. 나는 성격과 행성을 말하지만 외부에 모듈러 선박 부품이 있었는데, 어디로 가야하는지, 즉 스러 스터가 선박을 움직일 방향을 결정했습니다.

3) 지금 설계 한 방법. 약간의 사용도 가능하지만 플레이어는 전에 본 적이 없습니다. 행성이 회전하고있는 것처럼 보이도록 편집 할 수 있으므로 항상 "위에"있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.