[[analogmatic|English]] | [[analogmatic_ja|日本語]]
{{ :products:m30:snapshot_080.png?nolink&500|}}
====== AnalogMatic for M30 について ======
M30は、2017年5月の [[events/6threpublic]] イベントで発売予定のサイドカー付きバイクです(イベント期間 : 5/6 〜 5/20)。
現在、[[http://maps.secondlife.com/secondlife/Sociaria/120/100/34|anhelo 本店]] にてデモを公開し、テストを行っています。
本製品は、単体では運転スクリプトを含まない装飾用途のものですが、購入された方や他のクリエイターのみなさまが、後から追加で様々な機能を開発できるよう、[[devel_ja|VIAS]] ((**V**ehicles' **I**nteractive **A**dd-on **S**ystem)) を搭載しています。
この AnalogMatic for M30 は、VIAS を実際にどうやって導入するのかのデモンストレーションを兼ねて開発したもので、以下の簡単な手順で M30 にインストールすることが可能です。
==== インストール後に追加される機能 ====
* 3人乗りの乗用車となります
* 実際に運転可能です(運転はオーナーのみ)
* ライトの 点灯 / 消灯 が操作可能になります
===== インストール方法 =====
- M30 および AnalogMatic for M30 を REZ します。位置や向きは適当で構いません。
- AnalogMatic for M30 がルートプリム(親プリム)になるように、両者をリンクします。
以上でインストール完了です。
AnalogMatic for M30 をインストールした車体は **%%--ANHELO-V02AM-175GA :: sidecar motorcycle(AM-1.0)%%** にオブジェクト名が変わります。以下、インストールが完了した車体は **V02AM** と表記します。
===== V02AM の操作方法 =====
[ [[analogmatic#how_to_drivehow_to_operate|English]] | [[analogmatic_ja#v01am_の操作方法|日本語]] ]
V02AM は、カーソルキー、もしくは [W][A][S][D] 操作系で運転操作を行います。基本的に SecondLife のアバター操作や他の乗り物と似ていますが、大きく異なる点があります。
V02AM は、一般的な乗り物と異なり、キーを押している間はその効果が増加(減少)し続けます
* [←] や [→] を押し続けると、曲がる角度が徐々に増加(減少)します
* [↑] や [↓] を押し続けると、スピードが徐々に増加(減少)します
V02AM は、キーから指を離しても、直前の状態をキープし続けます
* [←] や [→] から指を離しても直進しません
* [↑] から指を離しても止まりません
操作の感覚をつかむまで、はじめはパーキングブレーキをかけたままキー入力を試し、フローティングテキストの数値の変化を確認してください
* フローティングテキストに **P-Brake : ON** と表示されている間は、キー操作を入力しても車は動きません
* しかし、フローティングテキストの表示が変化し、ハンドルが回転したり前輪が動いたりするのを確認することができます
==== キー操作 ====
; [←] : ハンドルを左にまわす
; [→] : ハンドルを右にまわす
; [←] + [Shift] : 左に急ハンドルを切る >> [[#急ハンドル操作について|ヒント]]
; [→] + [Shift] : 右に急ハンドルを切る >> [[#急ハンドル操作について|ヒント]]
; [←] + [→] : ハンドルを中央に戻す
; マウスクリック : ハンドルを中央に戻す
; [↑] : アクセルを踏み込む
; [↓] : ブレーキを踏み込む(スピードがゼロのときはバックします)
; [Page Up] : ギアをひとつ上げる
; [Page Down] : ギアをひとつ下げる
==== コマンド ====
コマンドは、運転者(オーナー)が運転席に座っている間のみ有効で、以下のコマンドをチャットで発言することで車の状態を変化させることができます。コマンドはすべて半角です。全角では反応しませんのでご注意ください。
; b : パーキングブレーキの ON / OFF >> [[#パーキングブレーキの注意事項|要注意]]
; l : ヘッドライトの ON / OFF
; c : カメラ(視点)の強制リセット
; t : フローティングテキストの 表示 / 非表示
; menu : ダイアログメニューの表示
==== ダイアログメニュー ====
{{ :products:m30:screenshot_from_2017-05-04_18-59-38.png?nolink|}}
乗車したとき、もしくは、パーキングブレーキを ON にした状態で「menu」と発言したときは、次のようなダイアログメニューが表示されます。
; R Pos : ライダーシートポジションの修正
; S Pos : サイドカーシートポジションの修正
; T Pos : タンデムシートポジションの修正
; Shallow : shallow mode の ON / OFF
; F Sus. : 地面の凹凸にあわせてフロントサスペンションを動かすかどうか
; Eg. : エンジンの ON / OFF
; Shadow : 影の ON / OFF
==== shallow mode(浅瀬モード)とは? ====
このモードを ON にすると、V02 はあらゆる水深を無視し「リンデンの水面はすべて浅瀬である」と解釈します。すなわち、水面を走ることが可能になります。
===== 特記事項 / 運転のヒント =====
==== アクセル / ブレーキ / ギアの関係について ====
V02AM では、アクセル操作をしても、ブレーキ操作をしても、ギアを操作しても、単にスピードが変化するだけです。
* アクセルを踏み続けるのが面倒ならば、シフトアップすればすぐ加速できる
* ブレーキを踏み続けるのが面倒ならば、シフトダウンすればすぐ減速できる
* アクセルを踏み続けていれば、ギアを変えなくても勝手にシフトアップする
* ブレーキを踏み続けていれば、ギアを変えなくても勝手にシフトダウンする
ただし、シフトダウンではブレーキランプは点灯しません。
==== 急ハンドル操作について ====
通常、[Shift] を押しながら [→] を押すイメージですが、押す順番は逆を想定してスクリプトを組んでいます。
[→] を押してハンドルを右にまわしてるんだけど間に合いそうにない!
こういう場合に、[→] を押したまま [Shift] を追加入力すると、約20%にあたる量のハンドル操作を即座に行います。この場合は
[Shift] は小刻みに!
がポイントです。[Shift] を押しっぱなしにするのでなく ((押しっぱなしにしている間は数値が変化しません)) 、トン、トン と、クリックの要領で軽く叩いてすぐ指を浮かすことがコツです。
==== 【裏】急ハンドル操作 ====
- [←] と [→] を押してハンドルを中央に戻す
- [Shift] を押しっぱなしにする
この状態でハンドルを切ると、0% / 20% / 40% / 60% / 80% / 100% だけ使うので、どうしても馴染めない方はこの状態で慣れるといいかもしれません。また、狭く入り組んだサーキットコースを走るときなどにも有効かもしれません。
ちなみに、[Shift] を押している間も、[←] と [→] の同時押しでハンドルは中央に戻ります。
==== パーキングブレーキの注意事項 ====
アクセルを踏み込んだ状態でパーキングブレーキを解除すると急発進し、場合によっては非常に危険です。が、逆にそういう楽しみ方もしていただけます。
==== 着座位置の編集 ====
V01 AnalogMatic を右クリックから編集しオブジェクトの説明欄を見ると、6つの数値が並んでいます。この6つの数値は、左から順に
* 運転席の着座位置 : X 座標
* 運転席の着座位置 : Y 座標
* 運転席の着座位置 : Z 座標
* サイドカーの着座位置 : X 座標
* サイドカーの着座位置 : Y 座標
* サイドカーの着座位置 : Z 座標
* 後部シートの着座位置 : X 座標
* 後部シートの着座位置 : Y 座標
* 後部シートの着座位置 : Z 座標
となっています。
デフォルトでは「0.075, -0.065, 0.175, 0.85, -0.55, 0.35, -0.35, -0.70, 0.55」となっており、これは
integer link_number;
llSitTarget(<0.075, -0.065, 0.175>, ZERO_ROTATION);
llLinkSitTarget(link_number, <0.85, -0.55, 0.35>, llEuler2Rot(<0.0, 0.0, -90> * DEG_TO_RAD));
llLinkSitTarget(link_number, <-0.35, -0.70, 0.55>, llEuler2Rot(<0.0, 0.0, -90> * DEG_TO_RAD));
と処理されています。