next up previous contents index
Next: TurnNeckモデル Up: アクションモデル Previous: Sayモデル   Contents   Index


Turnモデル

dashコマンドは,プレイヤをその体の方向へと加速させるために 用いられる. 一方,turnコマンドは,プレイヤの体の方向を変化させるために 用いられる. turnコマンドの引数はモーメントである. モーメントとして有効になるのは,minmomentmaxmoment の間の値である. プレイヤが移動していない場合(速度が0),モーメントはプレイヤがターン する角度に等しい. しかし,ターンには慣性の概念が導入されており,プレイヤが移動していると きには,ターンが行い難くなっている. プレイヤの実際のターン角度は次のようになる:


\begin{displaymath}
\mbox{actual\_angle} = \mbox{moment} / (1.0 + \mbox{inertia\_moment}
\cdot \mbox{player\_speed})
\end{displaymath} (22)

inertia_momentserver.conf内のパラメータで,デフォ ルト値は $5.0$である. inertia_momentが $5.0$で,プレイヤのスピードが $1.0$のとき, 可能となる最大のターン角度は,$\pm30$となる. しかしながら,同じサイクルでダッシュとターンを同時に実行することはでき ないため,プレイヤがturnを実行するときの最大スピードは, $\textbf{\textsl{player\_speed\_max\index{player\_speed\_max}}}~\cdot~\textbf{\textsl{player\_decay\index{player\_decay}}}$ となる. よって,デフォルトタイプのプレイヤが最大スピードでターンを実行する場合, その最大角度は$\pm60$となる.

ヘテロジニアスプレイヤに設定される慣性モーメントは,デフォルトの inertia_valueに, $\textbf{\textsl{player\_decay\_delta\_min\index{player\_decay\_delta\_min}}}~\c...
...{\textsl{inertia\_moment\_delta\_factor\index{inertia\_moment\_delta\_factor}}}$ $\textbf{\textsl{player\_decay\_delta\_max\index{player\_decay\_delta\_max}}}~\c...
...{\textsl{inertia\_moment\_delta\_factor\index{inertia\_moment\_delta\_factor}}}$ の間のランダムな値が加えられた値になる.


Table 4.9: ターンモデルパラメータ
基本パラメータ ヘテロジニアスプレイヤのパラメータ
server.conf player.conf
名前 名前 範囲
minmoment -180      
maxmoment 180      
inertia_moment 5.0 player_decay_delta_min 0.0  
    player_decay_delta_max 0.2 5.0
    inertia_moment_delta_factor 25.0 10.0




Hidehisa Akiyama 2004-11-21