音声ガイド

音声ガイドを Izumoリージョン、Kofunリージョンに設置しました。

使い方
1.「音声ガイド(Japanese)」を購入します。「Voice guide」は英語です。
2. 最新のインベントリの中から「Voice guide ja HUD」を見つけて装着します。 HUDは、ビューアウィンドウの右上隅に表示されます。
3. 音量を適切なレベルに設定します。
4. ガイダンススポットの近くに立ち、ビューアウィンドウのHUDをクリックします。音声ガイダンスが開始されます。

作り方
このシステムを用いて独自の音声ガイドを作る方法について説明します。

HUDは受信器ですので、そのまま使い、発信器であるマットレス Guidance Spot のコンテンツを作ることになります。発信する内容はノートカード GUIDANCE.xxx.en または GUIDANCE.xxx.ja に記述します。 .en は英語、.ja は日本語です。 たとえば GUIDANCE.Izumo.ja はつぎのようなものです。
出雲大社と書いて「いずものおおやしろ」と読みます。
今でも大きな建物ですが、言い伝えによると古代には 96m あったそうです。
SOUND:Izumo1_ja:9
それが本当かどうか分かりませんが、その姿を想像で復元しました。
SOUND:Izumo2_ja:6

SOUND: で始まる行は発声する音声を指定します。
SOUND:Izumo1_ja:9

コロン':'で区切られています。Izumo1_ja は音声ファイル名です。名称は任意です。_ja とか無くても構いません。ノーとカードとともにマットの中に入れておかねばなりません。最後の 9 は音声の長さを秒数で示します。

SOUND行の他はそのまま各行0.2秒おきにチャットされます。内容は音声と同じである必要はありませんし、チャットなしで音声(SOUND行)だけを羅列でも構いません。

このチャットも音声も、HUDを装着した本人だけが見聞きでき、他のアバターには流れません。

音声は読み上げソフトを用いて作ることができます。Web上のサービスには日本語用のOpen JTalk、英語用には Sound of Text などがあります。

音声の長さは最長10秒かと思ってましたが、もっと長くても良いようです。しかしあまり長いとダウンロードに時間が掛かり、無音が続くことがあるので、10秒程度に小分けするのが良いでしょう。
音声のアップは音楽CD形式の wavでなければならないので、音声編集ソフトで変換してください。

仕組み
動作の詳細について説明します。

マットレス Duidance Spot はファントムですが、アバターが接触したことを検知して複数言語で発信します。接触したアバターを10分間記憶し、同じアバターが接触しても繰り替えして反応しません。ただし、タッチされると記憶を破棄して発信します。またHUDからの要求があったときにも発信します。

HUDはマットレスからの通信のうち、自分に設定された言語のものだけを受信し、発声します。同じマットレスからの通信は1度だけ再生し、重複した通信は無視します。ただしHUDがタッチされると周辺マットレスに要求信号をだし、再生済みのマットレスからの通信も再生します。

通信距離は10mです。10m以内に複数の発信器があるときは、近いものから再生するとは限らず、順番が前後することすることがあります。

(初稿:5 Dec 2019, 18:03)

Posted on 5 Dec 2019, 19:16 - カテゴリ: スクリプト
No comments - Edit - Delete


追いかけてくるゾンビ

追いかけてくるゾンビを作成しました。Shinobar Annexにその試作品を置いています。原型は Teddyさんにもらったもの。アニメッシュの技法でオブジェクトながらアニメーションを再生します。これに追いかけるスクリプトを組み込んだものです。

アニメッシュは最近のOpensim 0.9.1系で実装されたもの。古いバージョンのOpensimではエラーとなります。JOGのセンターSIM群では問題なく動くようです。

このゾンビはRezしたときには停止しています。ゾンビを右クリック→「触る」で出てくるメニューで「Start」を選ぶと、近くのアバターを見つけ、追従します。基点からある程度以上離れると追従をあきらめ、基点に戻ります。

(2020-10-16 v2による修正)
ゾンビがSTOP状態のとき、右クリック→「触る」で出てくるダイアログで、ゾンビの行動半径 RANGE や移動速度 SPEEDを変更できます。RANGEの2倍の距離内にアバターが入ると準備に入り、RANDEの範囲に入ると追従を開始します。
(v2による修正ここまで)

スクリプトの編集はゾンビをSTOPさせた状態で行ってください。ゾンビを右クリック→「編集」で、オブジェクトの中身のスクリプトはあります。また STOPの状態でゾンビを編集し、移動させることで基点を変更できます。

スクリプトの編集、基点位置を確定したら、ゾンビを右クリック→「触る」で出てくるメニューで「Start」させてください。

(初稿:26 Oct 2019, 13:13)

Posted on 16 Oct 2020, 19:38 - カテゴリ: スクリプト
No comments - Edit - Delete


上げ下げできるジッパー

ジッパーを上下させることのできるメッシュ衣装をリリースしました。Ruth 2.0用です。
衣装をタッチするとメニューが出ます。

当初メッシュ服をタッチしてもtouchイベントが発生しませんでした。そこでタッチを受けるための半透明の円筒プリムをリンクすることでうまくいきました。

テクスチャを入れ替えると、他の衣装にも応用できます。

ファッションのお店は Shinobar Annex にあります。

(初稿:18 Jun 2019, 12:46)

Posted on 18 Jun 2019, 12:47 - カテゴリ: アバターのお店
No comments - Edit - Delete


スカイ・エッグ

一部に要望のあった SkyEgg v2 をJOG内で作りました。座ると上空まで連れて行ってくれ、そこに一時的なスカイボックスをRezするのが基本的な機能です。
misakiさんが使い方の解説動画を作ってくれました。
https://youtu.be/VklArfbU-Wg


上空でRezするスカイボックスは、任意のものをインベントリに入れておくことができます。ただし1つのオブジェクトにリンクされていなくてはなりません。コピー可でなければならないのはもちろんです。オブジェクトにはスクリプト ListenDie を入れておいてください。見本にオブジェクト Dome 50m が入っていますが、その中にこのスクリプトがあります。アバターが地上に戻るときに、Rezしたスカイボックスを消去するためのものです。

Rezされる位置はカプセル(卵)の下面です。Rezされるスカイボックスのrootプリムをこの位置にしてください。スクリプト upsky v2内の次の変数で位置を調整できます。
vector REZ_POS = <0.0, 0.0, -0.2>; //rezzed object root position from the lower surface of the cupsel


座ったときに取るポーズは、アニメーションを入れ替えることで変更できます。その腰の位置はノートカード SITCONFIGに記載します。
vector POSITION = <-0.5, 0.0, 0.2>; // <x,y,z> meters offset when the agent face to the east
アバターが東を向いたときの腰の位置を <x, y, z> 座標で記入します。

置いてあった卵に座ったときに、卵が手の上に移動するといった効果を付けたいことがあります。このときには LIFT_UP にその高さを設定してください。
float LIFT_UP = 0.0; //meters lift up at sit


上昇のときの効果音は、やはりインベントリ内のサウンドを入れ替えます。

上空の高さは、スクリプト upsky v2 の次の部分を書き換えます。
//list LEVELS = [ "+10", "400", "600" ]; // '+' means relative
list LEVELS = [300]; // menu not shown if the element is only one
複数の高さをリストに掲げたときは、メニューが表示されます。1つだけだとメニューは表示されず、座るだけでその高さまで上昇します。行冒頭に '//'があると、その行は無視されます。

上昇・下降の速度は次の値を変更ください。
float high_speed = 50.0; //meter per second
float low_speed = 4.0;


上昇中は卵が光ります。これを停止したいのならば、GLOW を 0.0 に設定してください。
float GLOW = 1.0; //0.0-1.0, glow effect


不明な点があれば、JOGインワールドで Shinobar Martinek までお問い合わせください。

(初稿:8 Mar 2019, 21:31)

Posted on 14 Jul 2019, 23:29 - カテゴリ: スクリプト
No comments - Edit - Delete


販売スクリプト

JOGフォーラムでも紹介した、商品を販売するスクリプトです。JOG内 Shinobar Annex スクリプトの館で配布しています。



-HyperVendor 3つの特徴

1. 無料での頒布も、料金を設定しての有料販売もできます。ただし有料販売ではマネーサーバーの設定が影響します。

2. メニューによる商品の選択、あるいは一括してのフォルダ渡しか、スクリプトの設定で選べます。

3. HGユーザーへも頒布するかどうか設定できます。ただし有料販売ではマネーサーバーの設定が影響します。

スクリプト冒頭の変数の値を書き換えることで挙動を変えることができます。

<無料/有料での頒布>
PRICE: 頒価を数字で設定します。0 ならば無料。マネーサーバーに接続していないSIMではアバターの所持金が常に0なので、有料設定すると購入できないので注意。

<メニューでの商品の選択、あるいはフォルダ渡し>
MENU=TRUE だと、オブジェクト内の商品のうち、メニューで選択された一つだけを渡します。フォルダは作りません。
MENU=FALSE だと、オブジェクト内のすべての商品をまとめて1つのフォルダにして渡します。フォルダ名は FOLDER_NAME でも設定できますが、デフォルトでは入れ物であるオブジェクト名と同じ。オブジェクトの一般設定でL$0で「中身」を販売に設定したのと同じ機能。
オブジェクト内の渡せる商品が1つだけの場合は MENUの値に関わらず、その一つだけを、フォルダを作らずに渡します。

<HGユーザーへの対応>
HG_OK=TRUE では、JOG外からのHyper-Gridユーザーにも商品を頒布します。ただし PRICE > 0 では SIMのマネーサーバーの設定によってはHGユーザーがJPを所持せず、購入できない場合があります。このようなSIMで PRICE>0 の場合には HG_OK=FALSE を設定してください。
HG_OK=FALSE では PRICE の値に関わらず(無料の場合も含めて)HGユーザーには販売しません。

<オーナーへの通知>
NOTIFY=TRUE では取引の内容をオーナーにIMで通知します。
NOTIFY=FALSE では通知しません。
有料(PRICE>0)の場合、マネーサーバーに記録が残るのでIMによる通知は必要ないでしょう。無料(PRICE=0)の場合、マネーサーバーを通過せず、記録が残らないので、必要ならば NOTIFY=TRUE に設定してください。

<マネーサーバーとの関係>
無料(PRICE=0)の場合、商品の「購入」ではなくタッチによる受け渡しとなります。マネーサーバーへの接続の有無や設定のいかんに関わらず、 HG_OK の値で HGユーザーへの対応が決まります。

有料(PRICE>0)の場合、マネーサーバーに接続していないSIMではアバターの所持金が常に0なので、誰も購入できなくなります。

DejimaリージョンなどマネーサーバーがHGユーザーに対応しているSIMの場合、HGユーザーに販売するかどうかは HG_OK 変数の設定によって決まります。

マネーサーバーに接続しているSIMでも HGユーザーの所持金が 0になる設定の場合(JOGセンターSIM群の多くがこの設定になっています)、たとえ HG_OK=TRUE としていても HGユーザーは購入できません。このようなSIMで有料(PRICE>0)設定するのであれば、HG_OK=FALSE と設定してください。


(初稿:7 Dec 2018, 15:15)

Posted on 26 Dec 2018, 22:31 - カテゴリ: スクリプト
No comments - Edit - Delete


Pages: [1] [2] [3] [4] [5] [6] ...