MH+ Alive-C viewerがVersion 1.6となりました。
UIまわりの見た目の変更がメインです。
スマートフォン風のバックパネルを取り払い一回りコンパクトになりました。
あと、効果の程は不明ですがZオーダーの不具合回避になるかと思い、装着時にHUD上のX軸方向を少しオフセットするように仕掛けてみました。
変更点は
----- v1.6 (2017/01/27) -----
・UI用のテクスチャを統合して軽量化
・UIデザインをフラットな外観に変更
(アイコンはhttp://www.iconsdb.comより取得)
新バージョンは各地にあるCasperVendの再配送ターミナルから受け取ってください。
(近くにない場合はMH+ Labsの店内にあるre-delivery端末をご利用下さい。)
出歩けないアバターな場合はマーケットプレイスのご利用もどうぞ~
Welcomeマットを作ろう
俗にwelcomeマットというもの。アイテムとしては店先にある玄関マットの事ですがSecondLife的には来訪者に何らかのアクションを行うアイテムというところでしょうか。どうやって来訪者を検出して動作をするかで色々なタイプが考えられます。
・そのまま玄関マット形状でアバターの衝突を契機にするもの
・透明なVolumeDetect物でアバターの衝突を契機にするもの
・ドアなどの出入り口の操作などを契機にするもの
・範囲レーダーでアバターの検出を契機にするもの
・区画に存在するアバターの増減を契機にするもの
・CastRayで遮蔽物としてアバターの検出を契機にするもの
まぁ普通に考えると上2つでしょうね。
VolumeDetectというのは左図のように見た目はファントムのオブジェクトと同じでアバターなど物理物が通過できますがファントムと違って衝突の検出が可能なものです。板状の敷物だとテレポートの着地時に浮遊しているアバターだと衝突が発生しませんがVolumeDetectなら飛んでいるアバターでも検出できます。
どうしてこんな基本的なスクリプトに触れてみたかは、あまりにも簡単なことなので誰もわざわざ書こうとしないと思ったからw 簡単な事でもきっかけがないとやってみようとか思わないでしょうから、わざとらしく書いてみるということなのです。 特にVolumeDetectはプロパティなのにスクリプトからしか弄れない項目なので試しにやってみて損はないでしょう。
お堅い人だと衝突で複数個検出したらどーするのと思うでしょうけど、そんな同一フレーム内でアバターが同時に現れるなんてあり得ませんから気にしなくていいかとw それでも気になる人は検出個数分ループで回しましょう。 あと注意点としてはこういったアイテムでは遅延による動作停止はマズイのでllInstantMessageなどのディレイのある関数使用は避けましょう。 どうしても来訪者の有無をIMで通知したりメールで送ったりなどディレイのある関数を使いたい場合は、別のスクリプトを用意してLinkMessageをトリガーにして動作させれば別のスクリプトは停止してもメインのスクリプトは影響なく動き続けます。そういった工夫をしてみましょう。
・そのまま玄関マット形状でアバターの衝突を契機にするもの
・透明なVolumeDetect物でアバターの衝突を契機にするもの
・ドアなどの出入り口の操作などを契機にするもの
・範囲レーダーでアバターの検出を契機にするもの
・区画に存在するアバターの増減を契機にするもの
・CastRayで遮蔽物としてアバターの検出を契機にするもの
まぁ普通に考えると上2つでしょうね。
VolumeDetectというのは左図のように見た目はファントムのオブジェクトと同じでアバターなど物理物が通過できますがファントムと違って衝突の検出が可能なものです。板状の敷物だとテレポートの着地時に浮遊しているアバターだと衝突が発生しませんがVolumeDetectなら飛んでいるアバターでも検出できます。
key Prev_KEY; default{ state_entry(){ llVolumeDetect(TRUE);//VolumeDetectを使わない場合、この行は削除 } collision_start(integer num_detected){ //アバター以外の衝突は無視する if(!(llDetectedType(0) & AGENT)) return; //前回と同じKeyの場合は無視する if(llDetectedKey(0) == Prev_KEY ) return; //key値の置き換え Prev_KEY = llDetectedKey(0); //カウンタの加算 integer CNT = (integer)llGetObjectDesc(); if(CNT == 0xFFFFFFFF) CNT = 0;//越える事はないと思われるけど念のためw llSetObjectDesc((string)(++CNT)); //メッセージの出力など llRegionSayTo(Prev_KEY,0, "ようこそ!いらっしゃいませ♪ " + (string)CNT + "番目のお客様。"); llRegionSayTo(Prev_KEY,0, "ごゆっくりお楽しみ下さい。"); } }
お堅い人だと衝突で複数個検出したらどーするのと思うでしょうけど、そんな同一フレーム内でアバターが同時に現れるなんてあり得ませんから気にしなくていいかとw それでも気になる人は検出個数分ループで回しましょう。 あと注意点としてはこういったアイテムでは遅延による動作停止はマズイのでllInstantMessageなどのディレイのある関数使用は避けましょう。 どうしても来訪者の有無をIMで通知したりメールで送ったりなどディレイのある関数を使いたい場合は、別のスクリプトを用意してLinkMessageをトリガーにして動作させれば別のスクリプトは停止してもメインのスクリプトは影響なく動き続けます。そういった工夫をしてみましょう。
登録:
投稿 (Atom)
Popular Posts of the Month
-
パートナーを拘束し長時間放置し肉体的精神的な苦痛を与えていたぶる。あるいは性的刺激や生理的刺激を与え続け責め立てる。そういったことが放置プレイかな。SecondLifeの中では特に肉体的な生涯などの事故に繋がることはないので安全に(雰囲気だけだけれども)楽しむことができる。そして...
-
2005年からサービスが続いているコーエーのMMORPG「 大航海時代Online 」の無料期間が5/16から無期限化になりました。もともとはお試し期間としてアカウント取得から2週間まで無料でプレイ可能としている月額課金+アイテム課金というスタイルのゲームですが、このたび体験...
-
*update information* 1.5 - Add - Attachment list function. (Display a attachment list of avatars selected from nearby (96 m)) ...
-
Blenderだけっていう制約で後になってよく見たら何か変だなぁと感じたこと、それはノーマルマップでのチラツキでした。上記画像の真ん中なのですが、これは 先の投稿の(2/3) で単純に2つのオブジェクトを結合した物です。一番奥の元のSecondLifeのプリム物や手前のオブジ...
-
3巻目突入~~ 読み物としても結構面白くって~~すっかりはまってます。 3巻は2巻の続き・・・ってのは当たり前なんだけど、 ゴルの無法者とゴルの神官王はひとつのお話みたいなもんかな~~ それにしても3巻目で早くも神官王の正体が~~ まあこの本読んで思うんだけど、作者の女性観とい...
-
*update information* 1.6 - Add - Display Region information. Mod - Attachment list function (Corresponds when there is a lo...
-
第1話はだいぶ前に見て、そのまま忘れてたんだけど、この土日で第2話から第9話まで一気に見ましたw 面白かったですw ああでも、知らない人のために言っとくけど、学園もののラブコメよ。 このブログだからといって、「ペットな」という題名で期待しないでねww 題名もそう...
-
■RLV Relayの考察。 FreebiesでRelayが配布されているため、使ってみたくなる人は多いと思います。 しかしRLV Relayがどのような働きをするものなのか説明されていることは少ないと感じます。 もっともRelayを装着する側に仕組みを知られてしまっては面...
-
MMORPGじゃ「照明」については、あぁ昼だね日が落ちて夜だねぇぐらいしかなく、天候などで見た目が少し変わるぐらいで殆ど意識する事はないと思いますがSecondLifeにおける「照明」については ユーザー自身が設定を変える事も出来る ので何かと工夫されているのではないでしょう...
-
こんなのもあったんですね~マンガと短編小説の外伝集みたいな感じでした~ 同人誌といっても、巷にあふれているエロエロなアダルトオンリーの「ソードアート・オンライン派生作品」じゃないですよ~ あ?え?そっちのほうが興味があるって?w いやいやいやwそっちは自分でググってくだ...
