란다무디사 계량기와 PC 게임의 차량 조작

7842 단어 제어 공학Unity

개요


안녕하세요.나는 PC 게임을 매우 좋아하지만, 어쨌든'WASD가 운전하는 차'사고가 많이 발생하기 때문에 개방 세계 도보와 FT도 이동하고 있을 뿐이다.
이 문제는 대표적인 양적 제어 문제로, 어드벤트 캘린더가 2017년 16일째 되는 날 랜다 무디사 양적기를 간단히 시행한 결과를 기고할 예정이다.

문제 설정


WASD 차량의 조작이 어려운 이유는 아래 그림에서 보듯이 피드백 회로에 키보드가 존재하고 차량에 대한 회전 입력은 왼쪽, 중립, 오른쪽에서 3가지 선택 방식만 할 수 있기 때문이다.

유저가 지시한 핸들은 $d\in[1,1]로 키보드를 통해 실제 방향을 바꾸어 입력하는 것이
\delta = \lfloor d\rceil_{Q}
.여기는 $\lflowor\cdot\rceil입니다.{Q} 달러는 정량화된 입력 공간
Q=\left\{-1,0,1\right\}
최근 이웃집1의 반사, 이런 양적 방법은 단순 양적이라고 불린다.

이번에는 이 단순한 계량기 대신 더 좋은 계량화 방법을 시도해 보자.

란다임 떨림량화기


'더 좋은'계량기의 한 예로 란다무디사 계량기를 도입했다.란다무디사 계량기는 단순 계량기의 입력에 '떨림' 이라고 불리는 소음을 붙이려는 의도였다.즉
\delta = \lceil d + w\rfloor_Q
양적 방법.상기 방정식에서 달러 w$는 떨림이고 $w\in[-\Delta/2,\Delta/2)는 균일 랜덤수입니다. 그러나 $\Delta=2/3달러는 양적 간격을 나타냅니다.
외부 간섭이 가해졌음에도 불구하고 더 좋은 결과를 얻은 이유는 각종 문헌을 참조하십시오. 자주 하는 정성설명은 아래 그림의 톱니바퀴입니다.위에는 란다 무디사 계량기, 아래는 단순 계량기의 동력 전달 상황.톱니바퀴의 회전 주기보다 빠른 속도로 녹색 톱니바퀴를 진동시키면 톱니바퀴의'게임'즉 양적 영향이 낮아진 것을 알 수 있다.

이루어지다


워낙 다양한 게임을 시도하는 데 신경을 많이 썼지만 게임 앱에서 키보드 활동을 중계하는 앱을 만드는 것은 시간이 없어서(현재 16일 3:46) 유니티의 스탠더드 어세츠 포장에서 차체 운동 모형을 빌려 썼다.그리고 전향 처리된 부분만 양적화한다.
public void Move(...
{
  // ...(略)...

  // 量子化なしならば[-1,1]へのクランプのみ
  if (isWoQuantize) {
    steering = Mathf.Clamp (steering, -1, 1);
  // 単純量子化処理
  } else if (isSimpleQuantize) {
    steering = SimpleQuantization (steering);
  // ランダムディザ量子化処理
  } else if (isRandomQuantize) {
    steering = RandomDitherQuantization (steering);
  }

  // ...(略)...
}

private float SimpleQuantization(float str){
  float outvar;
  if (str < -1/3.0f) {
    outvar = -1;
  } else if (str > 1/3.0f) {
    outvar = 1;
  }
  else {
    outvar = 0;
  }

  return outvar;
}
private float RandomDitherQuantization(float str){
  // Random.valueが[0,1]なのを忘れていたことに今気づいた
  float outvar = str + 2.0f * (UnityEngine.Random.value - 0.5f) / 3.0f;
  if (outvar < -1/3.0f) {
    outvar = -1;
  } else if (outvar > 1/3.0f) {
    outvar = 1;
  }
  else {
    outvar = 0;
  }

  return outvar;
}
완제품은 여기에 두어라.
https://unityroom.com/games/rdq
화면에서 마우스 커서의 위치에 따라 $d\in[1,1]달러를 왼쪽에서 오른쪽으로 입력할 수 있습니다.W키로 계량화하고 Q키로 간단하게 계량화하며 R키로 테스트하여 합량화할 수 있다.

끝말


어때요?나는 란다무디사 계량기가 다소 쉽게 작동할 수 있다고 생각했지만 정량 평가와 란다무디사 계량기를 사용할 때의 행동이 너무 노골적2이어서 결론을 내지 못했다.
안녕히 주무세요.
게임에 따라 가장 가까운 이웃(불균등)의 양적 간격이 없을 수 있음
뜨거운 술과 찬 술의 차이를 구별하기 어렵다

좋은 웹페이지 즐겨찾기