MH+ PHV Systemではハンドルの動作は左右のステアリング操作に同調してハンドル部分も動かしています。このとき、車輪の操舵角度を、そのままハンドルの回転角度として使用しています。
■ハンドルの定義
ハンドルは乗り物に1つしか自動車の場合はありえないものですが、SecondLifeのプリム的にはホーンボタンと兼用となる場合が殆どだと考えられるため、別途にハンドル部分のプリム名を config_sub のノートカードに記す事で区別しています。
設定する項目は1つです
STEERING_PRIM = ハンドルとするプリム名
■ハンドルの設定
ハンドルのプリムのDescriptionの部分(説明の部分)は次の書式となります
ステアリングの回転軸指定 ; (オフセット量) ; (傾き補正)
◆ステアリングの回転軸指定
ホイールの設定と同様で
まずは回転0の状態で
どちらに回せば正しく回転するかで
回転軸を決定します
左の画像のハンドルの場合はY軸ですから
回転軸指定は
<0,1,0> とします
こちらのハンドルの場合はX軸なので
回転軸指定は
<1,0,0> となります
逆回転させる場合は
数値をマイナス指定としてください
ホイールと同じで、こちらも数値に1以外を指定する事で回転量の加減ができます
◆傾き補正
しかしながら
回転0の状態で
既に傾いている
というハンドルが少なくありません
この場合に傾き補正の数値を指定します
傾き補正値を得るには
何か垂直な物体(箱プリムなど)に近づけて
ハンドルが垂直となる角度を
手作業で微調整し、探ります。
このハンドルの場合は
Y軸の傾きが333.0ですから
傾き補正値に
<0,333.0,0> と指定します
具体的には
このように指定します
傾き補正を指定する場合には
オフセットの指定も必須です
オフセットを省略する場合であっても
<0,0,0> と指定してください
◆オフセット量
さきの傾き補正で登場したハンドルは
傾いてはいるものの
回転軸はハンドルの中心にあるため
オフセット量の必要はありませんでした
しかし、こちらのハンドルは
あきらかに中心位置が上方にズレています
回転はX軸ですが
X軸がハンドルの中心に無い状態です
(さらに、このハンドルはY軸に傾いています)
このような場合にオフセット指定が必要です
バイクのようなハンドルの逆の状況ですね。本来の回転軸とすべき位置にオフセットを逆に与え正しく回転させます。
手順はかなりアナログです
中心が分かるプリムをハンドルにあてがい
ハンドルの中心とすべき位置に置いて
プリムの座標を測定します
私は丸い穴あき箱プリムを半分にパスカットして当ててみました
そしてハンドルの座標との差分を
オフセットとします。
このハンドルの場合は
Z軸方向にズレているので
その数値分をZ軸に設定します
最終的にこのハンドルの場合は
オフセットと
傾き補正を付けて
このような設定としました
目測なので、クルクルと一周させると
微妙にずれている!
という状態で微調整が必要ですが
左右にステアリングを切る
という程度なら殆どズレを意識する事はないでしょう
そんなところで、v180518の筐体でのハンドルも実のところ微妙にズレが残っている状態ですw
ハンドルの設定情報もホイールと同様にメモリー上で処理しているため、設定を変更した場合はスクリプトをリセットしてください。なおハンドルの設定値だけの変更であれば、ノートカード(config_sub)を適当に更新して再読込させればハンドルの設定値も反映されます。(ノートカードを読み込まないとハンドルのプリム名が確定しないためホイールとは違うタイミングで情報取得しています)
0 件のコメント:
コメントを投稿