Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:m28:devel_ja [2017/03/07 10:48]
fk0724 [開発キットについて]
products:m28:devel_ja [2017/03/29 10:54] (current)
fk0724 [開発したものを販売・配布するにあたって]
Line 12: Line 12:
 「ヘッドライトを光らせたい」「音を鳴らしたい」といった簡単な改造から、「実際に走らせたい」「SIM内を自動巡回させてみたい」といった本格的な開発まで対応できる柔軟さを持たせています。 「ヘッドライトを光らせたい」「音を鳴らしたい」といった簡単な改造から、「実際に走らせたい」「SIM内を自動巡回させてみたい」といった本格的な開発まで対応できる柔軟さを持たせています。
  
-開発キットはフルパーミッション(含まれるスクリプトは Copy / Transで、M28 のすべての購入者は、このキットを使って開発したものを、任意のパーミッションで販売・配布するライセンスを保持しています。+開発キットは Trans 可能で、M28 のすべての購入者は、このキットを使って開発したものを、任意のパーミッションで販売・配布するライセンスを保持しています。
  
 ==== 開発キットの構成 ==== ==== 開発キットの構成 ====
-**AnalogMatic ​for M28** ... オブジェクト / Mod-Copy-Trans\\  ├ **m28drivervasepose.bvh** ... 運転者用の基本ポーズ / Copy-Trans\\  ├ **m28passengerbasepose.bvh** ... 同乗者用の基本ポーズ / Copy-Trans\\  └ **vias10_for_m28.lsl** ... 開発用スクリプト / Copy-Trans+**developer kit for M28** ... 本体オブジェクト / Mod-Copy-Trans\\  ├ **m28drivervasepose.bvh** ... 運転者用の基本ポーズ / Copy-Trans\\  ├ **m28passengerbasepose.bvh** ... 同乗者用の基本ポーズ / Copy-Trans\\  └ **vias10_for_m28.lsl** ... 開発用スクリプト / Copy-Trans
  
-開発キットに含まれる ​vias10_for_m28.lsl は能動的に処理を行うものではなく、API の受信によって特定の処理を行うように設計されています。以下、 vias10_for_m28.lsl を **VIAS**((**V**hehicles'​ **I**nteractive **A**dd-on **S**ystem)) と表記します。+vias10_for_m28.lsl は能動的に処理を行うものではなく、リンクメッセージの受信によって特定の処理を行うように設計されています。以下、 vias10_for_m28.lsl を **VIAS**((**V**hehicles'​ **I**nteractive **A**dd-on **S**ystem)) と表記します。
  
 ==== 開発の前に ==== ==== 開発の前に ====
-開発に先立ち、まずは、同梱の ​[[analogmatic_ja|AnalogMatic for M28]] をお試しください。+開発に先立ち、まずは、 [[analogmatic_ja|AnalogMatic for M28]] をお試しください。
  
-これは、開発キットで何ができるのかを示すために、M28 と同時に開発した2人乗りドライブシステムです。インターフェイス ((am-io_for_m28.lsl))と [[http://​wiki.secondlife.com/​wiki/​Category:​LSL_Vehicle/​ja|ビール関数]] ((am-eg_for_m28.lsl)) ​を追加し、この2つのスクリプトから VIAS にリンクメッセージを送ることで車体の制御を行っています。+これは、開発キットで何ができるのかを示すために、M28 と同時に開発した2人乗りドライブシステムです。スクリプト2つ追加し、この2つのスクリプトから VIAS にリンクメッセージを送ることで車体の制御を行っています。
  
-**developer kit for M28** ... オブジェクト\\  ├ <wrap em>​am-eg_for_m28.lsl ... VIAS 用に追加したエンジンスクリプト</​wrap>​\\  ├ <wrap em>​am-io_for_m28.lsl ... VIAS とエンジンをコントロールするためのインターフェイススクリプト</​wrap>​\\  ├ **m28drivervasepose.bvh** ... 運転者用の基本ポーズ\\  ├ **m28passengerbasepose.bvh** ... 同乗者用の基本ポーズ\\  └ **vias10_for_m28.lsl** ... VIAS+**AnalogMatic ​for M28** ... 本体オブジェクト\\  ├ <wrap em>​am-eg_for_m28.lsl ... M28 を走らせるエンジンスクリプト</​wrap>​\\  ├ <wrap em>​am-io_for_m28.lsl ... VIAS とエンジンをコントロールするためのインターフェイススクリプト</​wrap>​\\  ├ **m28drivervasepose.bvh** ... 運転者用の基本ポーズ\\  ├ **m28passengerbasepose.bvh** ... 同乗者用の基本ポーズ\\  └ **vias10_for_m28.lsl** ... VIAS
  
  
 AnalogMatic の導入方法につきましては、[[::​products:​m28:​analogmatic_ja|こちら]] をご覧ください。 AnalogMatic の導入方法につきましては、[[::​products:​m28:​analogmatic_ja|こちら]] をご覧ください。
  
 +==== リリースされたサードパーティー製品 ====
 +開発した商品やオプションパーツなどは、以下のページにて紹介致します。リリースされる際にはご一報ください。
 +
 + >>​ [[products/​m28/​3rd_party_showcase|サードパーティー・ショーケース]]
 <WRAP clear/> <WRAP clear/>
 ===== 開発に関する情報 ===== ===== 開発に関する情報 =====
-開発キットと M28 を、[[analogmatic#​インストール方法|AnalogMatic のインストール]] と同じ手順でリンクします。その後、スクリプトやアニメーション、音などを追加し、スクリプトから以下の API を送信して車体の制御を行います。+開発キットと M28 を、[[analogmatic_ja#​インストール方法|AnalogMatic のインストール]] と同じ手順でリンクします。その後、スクリプトやアニメーション、音などを追加し、スクリプトから以下の API に従いリンクメッセージを送信して車体の制御を行います。
  
 ==== VIAS について ==== ==== VIAS について ====
Line 39: Line 43:
   * ライト類の点灯 / 消灯   * ライト類の点灯 / 消灯
   * 各パーツの初期位置への移動   * 各パーツの初期位置への移動
 +  * エンジン音の再生 / 停止
  
 インターフェイスや物理エンジンを切り離し車体制御スクリプトの仕様を規格化することで、サードパーティー開発者にとって次のような利点が生まれます。 インターフェイスや物理エンジンを切り離し車体制御スクリプトの仕様を規格化することで、サードパーティー開発者にとって次のような利点が生まれます。
Line 67: Line 72:
     ​     ​
     link_message(integer sender, integer value, string response, key id){ // 受信     link_message(integer sender, integer value, string response, key id){ // 受信
-        if (response == "API"){+        if (response == "VIAS-M28"){
             ApiVersion = value;             ApiVersion = value;
 +        }
 +        else if (llGetSubString(response,​ 0, 3) == "​VIAS"​){
 +            llSay(0, "​【ERROR】この車体には対応していません"​);​
         }         }
     }     }
Line 75: Line 83:
  
 ^  API ver.  ^  command ​ ^  value  ^  説明 ​ ^ ^  API ver.  ^  command ​ ^  value  ^  説明 ​ ^
-|  1.0  |  VERSION ​ |  ---  | API バージョンを問い合わせます。問い合わせに対し、以下の返信が行われます。\\  response = "API" ... LINK_THIS に対し、value にバージョン番号を10倍した値を代入し返します。ver.1.0 の場合は value = 10 が返ります。|+|  1.0  |  VERSION ​ |  ---  | API バージョンを問い合わせます。問い合わせに対し、以下の返信が行われます。\\  response = "VIAS-M28" ... LINK_THIS に対し、value にバージョン番号を10倍した値を代入し返します。ver.1.0 の場合は value = 10 が返ります。|
 |  1.0  |  RESET  |  0  | ソフトリセット。 VIAS の保持する車体制御に関する変数を破棄し、以下の初期状態に戻す。\\  LEFT = 0\\  SPEED = 0\\  GEAR = 0\\  PARKING = 1| |  1.0  |  RESET  |  0  | ソフトリセット。 VIAS の保持する車体制御に関する変数を破棄し、以下の初期状態に戻す。\\  LEFT = 0\\  SPEED = 0\\  GEAR = 0\\  PARKING = 1|
 |  :::  |  :::  |  1  | ハードリセット。 VIAS そのものを再起動する。このコマンドにより、VIAS はインストール作業を開始し、各リンクプリムを正常な位置に移動・回転します。リセット後、以下の返信が行われます。\\  response = "​SEAT"​ ... LINK_SET に対し、value にシート((子プリムのオブジェクト名も SEAT))のリンク番号を代入して返します。同乗者の着座位置を [[http://​wiki.secondlife.com/​wiki/​LlLinkSitTarget|llLinkSitTarget()]] で指定するときなどに使えると思います。\\  response = "​INIT"​ ... LINK_SET に対し、value に、正常にインストールが完了したかどうかのブーリアンを代入して返します。| |  :::  |  :::  |  1  | ハードリセット。 VIAS そのものを再起動する。このコマンドにより、VIAS はインストール作業を開始し、各リンクプリムを正常な位置に移動・回転します。リセット後、以下の返信が行われます。\\  response = "​SEAT"​ ... LINK_SET に対し、value にシート((子プリムのオブジェクト名も SEAT))のリンク番号を代入して返します。同乗者の着座位置を [[http://​wiki.secondlife.com/​wiki/​LlLinkSitTarget|llLinkSitTarget()]] で指定するときなどに使えると思います。\\  response = "​INIT"​ ... LINK_SET に対し、value に、正常にインストールが完了したかどうかのブーリアンを代入して返します。|
Line 82: Line 90:
 |  1.0  |  TEXT  |  0  | フローティングテキストを非表示にします。| |  1.0  |  TEXT  |  0  | フローティングテキストを非表示にします。|
 |  :::  |  :::  |  1  | フローティングテキストを表示します。| |  :::  |  :::  |  1  | フローティングテキストを表示します。|
-|  1.0  |  LEFT  |  -200 〜 200  | ハンドルを左に回転します。 例えば、ハンドルを右に 12.7度回転させたい場合は value = -127 となります。|+|  1.0  |  LEFT  |  -200 〜 200  | ハンドルを左に回転し、その回転角度にあわせて前輪を動かします。 例えば、ハンドルを右に 12.7度回転させたい場合は value = -127 となります。|
 |  1.0  |  SPEED  |  -100 〜 100  | フローティングテキスト内のスピード値を変化させます。また、数値にあわせてタイヤの回転((テクスチャーアニメーション))スピードが変化します。スピード値がマイナスの間は、GEAR は R と表示されます。VIAS 自体は物理エンジンを搭載していないため、実際に動かすためには別途物理エンジンが必要です。| |  1.0  |  SPEED  |  -100 〜 100  | フローティングテキスト内のスピード値を変化させます。また、数値にあわせてタイヤの回転((テクスチャーアニメーション))スピードが変化します。スピード値がマイナスの間は、GEAR は R と表示されます。VIAS 自体は物理エンジンを搭載していないため、実際に動かすためには別途物理エンジンが必要です。|
 |  1.0  |  GEAR  |  0 〜 4  | フローティングテキスト内のギアの値を変化させます。また、シフトレバーを所定の位置に動かします。| |  1.0  |  GEAR  |  0 〜 4  | フローティングテキスト内のギアの値を変化させます。また、シフトレバーを所定の位置に動かします。|
Line 114: Line 122:
   * インワールド グループ   * インワールド グループ
   * インワールド サブスクライバー キオスク   * インワールド サブスクライバー キオスク
-  * 当ウェブサイトの[[::​products:​m28|商品ページ]]+  * 当ウェブサイトの[[::​products:​m28:​3rd_party_showcase|商品ページ]]
   * twitter / facebook など SNS   * twitter / facebook など SNS
   * anhelo 本店から開発者さまの販売場所への誘導   * anhelo 本店から開発者さまの販売場所への誘導