追いかけてくるゾンビ

追いかけてくるゾンビを作成しました。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


JOG配布OpenSimを更新

JOG公式配布 opensim-0.9.0.1-jog_r02 がリリースされています。自前またはVPSでJOGに接続しているSIMを、これに更新する方法について記します。新規にJOG接続SIMを作る場合は JOGサポートサイトチュートリアルをご覧ください。

旧の OpenSim-0.9.0Dev などで接続、運用しているものとします。更新前に現在のリージョンを OARでバックアップしておくと良いでしょう。

こちらから最新 opensim-0.9.0.1-jog_r02.tgz をダウンロード、現在運用中のディエレクトリ、たとえば /opt/opensim などで展開します。

旧の OpenSim-0.9.0Dev などの bin/OpenSim.db および bin/Regions/Regions.ini の2つを新しい opensim-0.9.0.1-jog_r02 の同じ場所にコピーします。これだけです。

私の場合は OpenSim-0.9.0Dev を指し示すシンボリックリンクを opensim-0.9 として置いているので、それを 新しい opensim-0.9.0.1-jog_r02 に向けます。/opt/opensimに入って
ln -sf opensim-0.9.0.1-jog_r02 opensim-0.9


bin/OpenSim.ini はJOG配布のものをそのままにすることをお奨めします。複数のSIMを動かすためにポートを変更している場合は、OpenSim.ini 中の512行目あたり
; http_listener_port = 9000

を変更します。9010に変更するには
http_listener_port = 9010

行頭に「;」があるとコメントアウトとして無視されるので、取り除いてください。

(初稿:7 Dec 2018, 14:52)

Posted on 26 Dec 2018, 22:29 - カテゴリ: opensim
No comments - Edit - Delete


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