Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
21
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@Somelu01

HeadLookControllerのパラメーターを調べてみた

HeadLookControllerのパラメーターを調べてみた

この記事はOculus Rift 2 AdventCallendar2014の21日目の記事です。
飛び入りです。すみません。

HeadLookControllerを使ってOculusでミクさんに見つめてもらおうと思って、HeadLookControllerのsegmentに設定する各パラメータの数値について、Unityのブログの
JUST LOOKING AROUNDを参照して調べてみました。
せっかくなので、まとめて残しておこうと思います。

英訳や専門知識やあやしいところがたくさんなので、ここ違うよ!とかこうだよ!とかありましたら、お手数ですが教えていただけると、すごくありがたいです。

以下英文はJUST LOOKING AROUNDからの引用です。
HeadLookControllerを設定したゲームオブジェクトのことをなんて書いたらいいのかわからず自分と書いてます。

Threshold Angle Difference

ターゲットと自分の角度がこの角度より大きくなったらターゲットの方に回転し始めるね、この角度より小さかったら動かないよ。という閾値になる角度

I have set the Threshold Angle Difference for the spine to 30 , >since the spine shouldn’t turn if the target angle is less than 30 >degrees.
「spine(背骨あたりのボーン)のThreshold Angle Differenceを30に設定しました。背骨は、ターゲットとの角度が30度より小さい時には、ターゲットの方を向くように動かないから。」
the target angle (the angle between the direction towards the target and the direction straight ahead)
「ターゲットと自分を結んだ直線と、自分の正面の方向の直線とがつくる角度」

SpineのThresholdAngleDifferenceを、0度→60度→180度と変えました。
0度だとターゲットのポイントライトにすぐ追従して体がターゲットを向き始めますが、60度だと少し離れてから体が向き始めます。

Bending Multiplier

ターゲットとの角度の大きさに対して何割くらいの大きく動くかという値

The Bending Multiplier control how much the segment bends or turns compared to how big the target angle is.
「Bending Multiplierは、ターゲットとの角度の大きさと比較してsegment(ここからここまでと動く場所を設定した範囲)がどのくらい大きく動くかを調整します」

SpineのBending Multiplierを1.0→0.3に変えました。
1.0だと動き方が大きく、0.3だと小さくなります。

Max Angle Difference / Max Bending Angle

Max Angle Differenceはターゲットとの角度がこの値より大きくならないように保とうとする(でも下記Max Bending Angle以上は動かない)
Max Bending Angleはターゲットとの角度の差がこれ以上大きくなったら動かないよという最大値

The segment will attempt to be no more than Max Angle Difference away from the target angle, though it won’t bend any further once it reaches the Max Bending Angle.
「segmentはMaxAngleDifferenceよりターゲットとの角度が大きくならないようにします。しかし、ターゲットとの角度がMax Bending Angleに達したらそれ以上動きません。」

・MaxAngleDifference


Responsivenessは1のまま、MaxAngleDiffernceを10→180に変えました。
10の時のほうが早くターゲットを追いかけてくれるようです。
MaxAngleDiffernceはResponsiveness(下記参照)が小さくて遅く反応するときにも、MaxAngleDiffernceの角度内に保とうとする動きが優先されるようです。
Responsivenessで調整したほうがやりやすい気もします…、巨人が全体としてゆっくりして欲しいけどプレイヤーが大きく動いた時だけは早めに追いかけて見つめてほしいなあなんて時にいいのかもしれません。

・Max Bending Angle


こちらはHeadもspineもMaxBendingAngleを50→180に変えました。
50だと寝違えて首が途中までしか動かない人。180だとエクソシストばりに体が動いちゃう人になります。背骨は小さめ、頭は大きめ。瞳だったら、目からはみ出ないくらいに設定するのが良いようです。

responsiveness

ターゲットを追いかける速さ

I set the responsiveness of the head segment higher than that of the upper body, since people tend to turn the head quicker. If segments had been specified for the eyes as well, they should have had an even higher responsiveness.
「上半身のresponsivenessより頭のresponsivenessを高く設定しました。人間は頭を体より速く向きたい方向に向ける傾向があるからです。瞳の場合は、頭よりさらに高いResponsivenessを設定するはずでした。(このおじさんの瞳は動かなかったので設定してない)」

Responsivenessを1→10に変えました。
1だとゆっくり。10だと機敏にターゲットを追いかけます。

おまけ

ミクさんに流し目してもらったり、見つめてもらったりしました。

Responsivenessを顔を3、瞳を1にして、瞳が後からゆっくり動いてます。


この作品はピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を描いたものです。
モデル:黒羽紫鴉(R-tenP)様

まとめ

今年もOculusアドベントカレンダーに参加できて嬉しいです。Qiitaは難しそうだなと思っていたのですが、隣にプレビューが見られて、思ったよりやりやすかったです。
明日の以降の方は…、まだ決まっていないようです^^;

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
21
Help us understand the problem. What are the problem?