2007年11月07日
LSLコンベンションその23
TERRA Zehetbauerです。
RLも忙しくなってきて一日30時間くらいほしいですw
さて今回は

こちらです。

衝突判定をしているとのことですが・・・
ノートで確認しましょー
■名前
PUNI
■機能・操作方法
ぶつかってください
※あんまりたくさんの人でぶつかると負荷が大きいです(多分)
人やものにぶつかると、一度縮んで、それから元のサイズに戻ります
■特徴
視覚効果の実験でしたが、思わぬ動きになりました
衝突検知と、プリムサイズの変更を行っています
ふむふむ、これはその場でやったひとでないとわかりづらいかもですw
ではお次にいきましょう

これも衝突ですねーきっと

のってみたら壊れてしまいました
ノートを見ると
■名前
KUZURE
■機能・操作方法
渡ってください
橋がない場合は、残っている板をタッチしてください
橋がかかりますので、渡ってください
■特徴
渡ると崩れます
これは、衝突検知で物理化しています
触れていないものも一緒に落ちることがありますが
ほぼ接触状態で橋がかかっているため
物理化したパーツに触れられることで、物理化の連鎖が起こります
やっぱり物理衝突を検知してました。
たまにはあたるらしいw
でわでわ
RLも忙しくなってきて一日30時間くらいほしいですw
さて今回は
こちらです。
衝突判定をしているとのことですが・・・
ノートで確認しましょー
■名前
PUNI
■機能・操作方法
ぶつかってください
※あんまりたくさんの人でぶつかると負荷が大きいです(多分)
人やものにぶつかると、一度縮んで、それから元のサイズに戻ります
■特徴
視覚効果の実験でしたが、思わぬ動きになりました
衝突検知と、プリムサイズの変更を行っています
ふむふむ、これはその場でやったひとでないとわかりづらいかもですw
ではお次にいきましょう
これも衝突ですねーきっと
のってみたら壊れてしまいました
ノートを見ると
■名前
KUZURE
■機能・操作方法
渡ってください
橋がない場合は、残っている板をタッチしてください
橋がかかりますので、渡ってください
■特徴
渡ると崩れます
これは、衝突検知で物理化しています
触れていないものも一緒に落ちることがありますが
ほぼ接触状態で橋がかかっているため
物理化したパーツに触れられることで、物理化の連鎖が起こります
やっぱり物理衝突を検知してました。
たまにはあたるらしいw
でわでわ
2007年11月07日
LSLコンベンションその22
TERRA Zehetbauerです。
最近SOLAのBDHでダンスすることが多くへろへろですw
さて今回はこちらから

これ、ちょうど話題にのぼってたんですよねー。
ショップに商品置いてあげてピンはねしよーwって
なんてタイムリー!
さて早速ノートを・・・
■オブジェクト名前:
Collabox v2.2j/e(コラボックス)
■機能及び操作方法:
共同で販売する商品の利益分配を
箱にタッチ・数字をポンの簡単操作で
設定・実行できるアイテムです。
一度設定を完了すれば
商品が売れるごとに自動的に利益を分配し
オーナーさんには売り上げ個数の通知も行います。
■このオブジェクトの主な関数:
チャットからのコマンド入力はllListen
送金はllGiveMoney
配分を受ける人の識別はllKey2NameとllDetectedKeyで行っています。
手軽に設定できるよう、箱へのタッチとチャット欄のコマンドにより、
設定をしていただく仕様にしています。
-----------------------------------------------------------------------
ブログ:
http://blog.livedoor.jp/dragon85/archives/252477.html
HOME:
利益分配できれば場所貸ししたときのピンはねができますよねw
これやりたいなぁ。
さてお次は

かいてあるとーりですね。これはわかりやすいですね。
スクリプトが理解できるかはおいといて^^;
ノートみましょうw
名前:Dance Selector HUD
機能:
Dance Selector HUD を装備します
お手持ちのアニメーションをダンスセレクターにドロップしてください
Dance Selector HUD をタッチすると、ダイアログが出ます
実行したいアニメーションをダイアログから選択してください
止めたいときは ダイアログの STOP を選択してください
主な関数:
アニメーションの制御にllGetAnimationList,llStartAnimation,llStopAnimation
モジュールの制御にlink_messageを使っています
各モジュールの説明は次をご覧ください。
最終更新 :2007-10-17
バージョン:β0.5
Jvn.Logic.UI.Dialog
Dialogを制御するモジュールです
※文中に出てくるシリアライズ・デシリアライズについては
ReadMe-Jvn.Module
をご覧ください
できること
・12個以上のボタンに対応(ページ遷移機能)
・長すぎるボタン名でも大丈夫(標準は日本語6文字以上だと落ちる)
・キャンセルボタンの標準搭載
・Listenの制御をカプセル化
・ダイアログの階層化
できないこと
・複数の人による同時制御
将来実装する予定の機能
・編集可能ダイアログ
使い方-標準版
① 引数を用意します。
List [0000-00000-0000-0000, // 対象者キー
"Jvn.Logic.UI.Dialog", // ダイアログ種類
"ColorSelect", // ダイアログ名
10, // 応答無し時のキャンセル処理を発動するまでの時間
"色を選んでください", // メッセージ
"赤", // ボタン名1
"<1.0,0,0>", // 選択時の返り値1
"緑", // ボタン名2
"<0,1.0,0>", // 選択時の返り値2
"青", // ボタン名3
"<0,0,1.0>", // 選択時の返り値3
・
・
]
②引数リストをStringにシリアライズします
③リンクメッセージを送信します
llMessageLinked(LINK_THIS,①識別番号,②シリアライズしたリスト,③(key)"Jvn.Logic.UI.Dialog");
④リンクメッセージで返り値を取得します
link_message(数字,①識別番号,シリアライズした返り値,"Jvn.Logic.UI.Dialog_ret");
送信時の識別番号と同じであり、key にモジュール名が入っていることを確認してください
⑤返り値をデシリアライズして使います
["Jvn.Logic.UI.Dialog", // ダイアログ種類
"Colorselect", // ダイアログ名
0, // 選択されたボタンのインデックス(0から数えた番号)
<1.0,0,0> // 選択されたボタンの返り値
// 以降、送信したのと同じボタンリスト
赤", // ボタン名1
<1.0,0,0>", // 選択時の返り値1
緑", // ボタン名2
<0,1.0,0>", // 選択時の返り値2
青", // ボタン名3
<0,0,1.0>", // 選択時の返り値3
・
・
]
キャンセルの場合はインデックスが -1 で返ってきます。
使い方-階層版
引数を次のように設定します
List ["Jvn.Logic.UI.Dialog.Menu", // ダイアログ種類
"MainMenu", // ダイアログ名
10, // 応答無し時のキャンセル処理を発動するまでの時間
"機能を選んでください", // メッセージ
"色を変える", // ボタン名1
子ダイアログ1, // シリアライズしたダイアログ1
"文字を変える", // ボタン名2
子ダイアログ2, // シリアライズしたダイアログ2
"透明度を変える", // ボタン名3
子ダイアログ3, // シリアライズしたダイアログ3
・
・
]
複数入れ子も可能です。
使えるダイアログの種類
Jvn.Logic.UI.Dialog
標準ダイアログ
Jvn.Logic.UI.Dialog.Menu
階層ダイアログ
Jvn.Logic.UI.Dialog.Sensor(name,id,type,range,arc)
センサーダイアログ
引数のボタン+センサー該当の一覧[ボタン名:名前,返り値:キー]
Jvn.Logic.UI.Dialog.Inventory(type)
インベントリダイアログ
引数のボタン+インベントリ内コンテンツ一覧[ボタン名:名前、返り値:キー]
LSLでは日本語をソースコード上にかけないため、
このモジュールを使っても、呼び出しスクリプトが煩雑になってしまいます。
特にボタンが多い場合。
そこで、ノートカードでの設定を可能にしました。
利用したい方は、
Jvn.Logic.UI.Dialog.Caller.Note モジュールをお使いください。
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
最終更新 :2007-10-17
バージョン:β0.5
Jvn.Logic.UI.Dialog.Caller.Note
Dialogの設定をノートから行なうモジュールです
Jvn.Logic.UI.Dialog 補助モジュール
※文中に出てくるシリアル化・デシリアライズ化については
ReadMe-Jvn.Module
をご覧ください
できること
・ノートカードでダイアログの設定が可能(日本語でべた打ちできる)
・ノートカードの読込は初回のみ
今後対応予定
・複数のノートカードに対応(実装予定)
・編集ダイアログ(ダイアログモジュール 実装予定)の返り値を保存する
使い方-通常
①ノートに次のようにダイアログ設定を書いておきます
-----------------------
|"Jvn.Logic.UI.Dialog" | // ダイアログ種類
|"ColorSelect" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"色を選んでください" | // メッセージ
|"赤" | // ボタン名1
|"<1.000>" | // 選択時の返り値1
|"緑" | // ボタン名2
|"<01.00>" | // 選択時の返り値2
|"青" | // ボタン名3
|"<001.0>" | // 選択時の返り値3
|・ |
|・ |
------------------------
※コメントには対応していません
※空白行、もしくはスペースのみの行があると
動作がおかしくなります
②引数リストを次のように用意します
list [0000-0000-0000-0000 //
"init" //設定ノート名
]
③リンクメッセージを送信します
llMessageLinked(LINK_THIS,①識別番号,②シリアル化したリスト,③(key)"Jvn.Logic.UI.Dialog.caller.note");
④リンクメッセージで返り値を取得します
link_message(数字,①識別番号,シリアル化した返り値,"Jvn.Logic.UI.Dialog_ret");
送信時の識別番号と同じであり、key にモジュール名が入っていることを確認してください
モジュール名は Caller ではなく ダイアログのモジュール名なので間違えないように
⑤返り値をデシリアライズして使います
形式は通常のダイアログと同じ
使い方-階層構造
階層構造の場合は次のように設定を書きます
----------------------------
|"Jvn.Logic.UI.Dialog.Menu" | // ダイアログ種類
|"MainMenu" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"機能を選んでください" | // メッセージ
|"色を変える" | // ボタン名1
|"ColorSelect" | // 子ダイアログ名1
|"文字を変える" | // ボタン名2
|"TextSelect" | // 子ダイアログ名2
|"透明度を変える" | // ボタン名3
|"AlphaSelect" | // 子ダイアログ名3
| | // ********************* 空白行をはさむ
|"Jvn.Logic.UI.Dialog" | // ダイアログ種類
|"MainMenu/ColorSelect" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"色を選んでください" | // メッセージ
|"赤" | // ボタン名1
|"<1.000>" | // 選択時の返り値1
|"緑" | // ボタン名2
|"<01.00>" | // 選択時の返り値2
|"青" | // ボタン名3
|"<001.0>" | // 選択時の返り値3
|・ |
|・ |
----------------------------
・子ダイアログは、一行あけて書く
・子ダイアログの名前は
親ダイアログで設定した"親ダイアログの名前/子ダイアログ名"
と等しくなるように設定する
初回にロード処理
2回目以降はスプールしたものを使う
ロード命令の出し方
メッセージの改行は /n を書きましょう
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
最終更新 :2007-10-18
Jvn.Module
Jvn Writer のモジュールは
リンク・メッセージで引数・返り値のやりとりをしています
リンクメッセージは旧LSL Wiki の Script Library にのっていた
ExchangeScriptModule のやりかたにのっとっています
http://rpgstats.com/wiki/index.php?title=ExchangeScriptModule
次のスクリプトを、モジュール呼び出しスクリプトの頭にコピーしてください
// ========== For method invocation ==========
integer debug=FALSE;
string randomSeperator() {
integer firstChar = (integer)llFrand(60) + 20;
integer lastChar;
do {
lastChar = (integer)llFrand(60) + 20;
} while (lastChar == firstChar);
string ret = llUnescapeURL("%"+(string)firstChar);
ret += llUnescapeURL("%" + (string)((integer)llFrand(60) + 20));
return ret + llUnescapeURL("%"+(string)lastChar);
}
string listToString(list src) {
string chars = (string) src;
string seperator;
do {
seperator = randomSeperator();
} while (llSubStringIndex(chars, seperator) != -1);
return seperator + llDumpList2String(src, seperator);
}
list stringToList(string src) {
return llParseStringKeepNulls(llDeleteSubString(src, 0, 2),
[llGetSubString(src, 0, 2)], []);
}
callMethod(integer identifyer, string methodName, list parameters) {
llMessageLinked(LINK_THIS, identifyer,listToString(parameters), methodName);
}
returnValue(integer identifyer, string methodName, list value) {
callMethod(identifyer, methodName + "_ret", value);
}
DeepTrace(string Name,list s){
if(debug==2) llOwnerSay(llGetScriptName()+"."+Name+"\n ("+llDumpList2String(s,",")+")");
}
Trace(string Name,list s){
if(debug>0) llOwnerSay("\n"+llGetScriptName()+"."+Name+"\n("+llDumpList2String(s,",")+")");
}
// =============================================
1.シリアライズ
メッセージを送るときは、
callMethod(integer identifyer, string methodName, list parameters)
を使います。
メソッド内でリストをストリングに変換して送るので、
これをシリアライズと呼びます。
2.デシリアライズ
モジュールの返値は次のようにリンク・メッセージで受け取ります
link_message(integer caller, integer Identify , string params, key methodName)
Identify が自分が送った Identify と同じこと
(string)methodName が 呼び出したmethodName + _ret であることを確認してください
返り値は params にはいっています
list Params = list2String(params)
とすることでリストに展開することができます
これをデシリアライズと呼びます
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
すごーい!
チョー親切!
って、使い方はいいとしてスクリプトは・・・う~ん
むずかしい、というか関数が見慣れないものばかりでしたw
でわまた
最近SOLAのBDHでダンスすることが多くへろへろですw
さて今回はこちらから
これ、ちょうど話題にのぼってたんですよねー。
ショップに商品置いてあげてピンはねしよーwって
なんてタイムリー!
さて早速ノートを・・・
■オブジェクト名前:
Collabox v2.2j/e(コラボックス)
■機能及び操作方法:
共同で販売する商品の利益分配を
箱にタッチ・数字をポンの簡単操作で
設定・実行できるアイテムです。
一度設定を完了すれば
商品が売れるごとに自動的に利益を分配し
オーナーさんには売り上げ個数の通知も行います。
■このオブジェクトの主な関数:
チャットからのコマンド入力はllListen
送金はllGiveMoney
配分を受ける人の識別はllKey2NameとllDetectedKeyで行っています。
手軽に設定できるよう、箱へのタッチとチャット欄のコマンドにより、
設定をしていただく仕様にしています。
-----------------------------------------------------------------------
ブログ:
http://blog.livedoor.jp/dragon85/archives/252477.html
HOME:
利益分配できれば場所貸ししたときのピンはねができますよねw
これやりたいなぁ。
さてお次は
かいてあるとーりですね。これはわかりやすいですね。
スクリプトが理解できるかはおいといて^^;
ノートみましょうw
名前:Dance Selector HUD
機能:
Dance Selector HUD を装備します
お手持ちのアニメーションをダンスセレクターにドロップしてください
Dance Selector HUD をタッチすると、ダイアログが出ます
実行したいアニメーションをダイアログから選択してください
止めたいときは ダイアログの STOP を選択してください
主な関数:
アニメーションの制御にllGetAnimationList,llStartAnimation,llStopAnimation
モジュールの制御にlink_messageを使っています
各モジュールの説明は次をご覧ください。
最終更新 :2007-10-17
バージョン:β0.5
Jvn.Logic.UI.Dialog
Dialogを制御するモジュールです
※文中に出てくるシリアライズ・デシリアライズについては
ReadMe-Jvn.Module
をご覧ください
できること
・12個以上のボタンに対応(ページ遷移機能)
・長すぎるボタン名でも大丈夫(標準は日本語6文字以上だと落ちる)
・キャンセルボタンの標準搭載
・Listenの制御をカプセル化
・ダイアログの階層化
できないこと
・複数の人による同時制御
将来実装する予定の機能
・編集可能ダイアログ
使い方-標準版
① 引数を用意します。
List [0000-00000-0000-0000, // 対象者キー
"Jvn.Logic.UI.Dialog", // ダイアログ種類
"ColorSelect", // ダイアログ名
10, // 応答無し時のキャンセル処理を発動するまでの時間
"色を選んでください", // メッセージ
"赤", // ボタン名1
"<1.0,0,0>", // 選択時の返り値1
"緑", // ボタン名2
"<0,1.0,0>", // 選択時の返り値2
"青", // ボタン名3
"<0,0,1.0>", // 選択時の返り値3
・
・
]
②引数リストをStringにシリアライズします
③リンクメッセージを送信します
llMessageLinked(LINK_THIS,①識別番号,②シリアライズしたリスト,③(key)"Jvn.Logic.UI.Dialog");
④リンクメッセージで返り値を取得します
link_message(数字,①識別番号,シリアライズした返り値,"Jvn.Logic.UI.Dialog_ret");
送信時の識別番号と同じであり、key にモジュール名が入っていることを確認してください
⑤返り値をデシリアライズして使います
["Jvn.Logic.UI.Dialog", // ダイアログ種類
"Colorselect", // ダイアログ名
0, // 選択されたボタンのインデックス(0から数えた番号)
<1.0,0,0> // 選択されたボタンの返り値
// 以降、送信したのと同じボタンリスト
赤", // ボタン名1
<1.0,0,0>", // 選択時の返り値1
緑", // ボタン名2
<0,1.0,0>", // 選択時の返り値2
青", // ボタン名3
<0,0,1.0>", // 選択時の返り値3
・
・
]
キャンセルの場合はインデックスが -1 で返ってきます。
使い方-階層版
引数を次のように設定します
List ["Jvn.Logic.UI.Dialog.Menu", // ダイアログ種類
"MainMenu", // ダイアログ名
10, // 応答無し時のキャンセル処理を発動するまでの時間
"機能を選んでください", // メッセージ
"色を変える", // ボタン名1
子ダイアログ1, // シリアライズしたダイアログ1
"文字を変える", // ボタン名2
子ダイアログ2, // シリアライズしたダイアログ2
"透明度を変える", // ボタン名3
子ダイアログ3, // シリアライズしたダイアログ3
・
・
]
複数入れ子も可能です。
使えるダイアログの種類
Jvn.Logic.UI.Dialog
標準ダイアログ
Jvn.Logic.UI.Dialog.Menu
階層ダイアログ
Jvn.Logic.UI.Dialog.Sensor(name,id,type,range,arc)
センサーダイアログ
引数のボタン+センサー該当の一覧[ボタン名:名前,返り値:キー]
Jvn.Logic.UI.Dialog.Inventory(type)
インベントリダイアログ
引数のボタン+インベントリ内コンテンツ一覧[ボタン名:名前、返り値:キー]
LSLでは日本語をソースコード上にかけないため、
このモジュールを使っても、呼び出しスクリプトが煩雑になってしまいます。
特にボタンが多い場合。
そこで、ノートカードでの設定を可能にしました。
利用したい方は、
Jvn.Logic.UI.Dialog.Caller.Note モジュールをお使いください。
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
最終更新 :2007-10-17
バージョン:β0.5
Jvn.Logic.UI.Dialog.Caller.Note
Dialogの設定をノートから行なうモジュールです
Jvn.Logic.UI.Dialog 補助モジュール
※文中に出てくるシリアル化・デシリアライズ化については
ReadMe-Jvn.Module
をご覧ください
できること
・ノートカードでダイアログの設定が可能(日本語でべた打ちできる)
・ノートカードの読込は初回のみ
今後対応予定
・複数のノートカードに対応(実装予定)
・編集ダイアログ(ダイアログモジュール 実装予定)の返り値を保存する
使い方-通常
①ノートに次のようにダイアログ設定を書いておきます
-----------------------
|"Jvn.Logic.UI.Dialog" | // ダイアログ種類
|"ColorSelect" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"色を選んでください" | // メッセージ
|"赤" | // ボタン名1
|"<1.000>" | // 選択時の返り値1
|"緑" | // ボタン名2
|"<01.00>" | // 選択時の返り値2
|"青" | // ボタン名3
|"<001.0>" | // 選択時の返り値3
|・ |
|・ |
------------------------
※コメントには対応していません
※空白行、もしくはスペースのみの行があると
動作がおかしくなります
②引数リストを次のように用意します
list [0000-0000-0000-0000 //
"init" //設定ノート名
]
③リンクメッセージを送信します
llMessageLinked(LINK_THIS,①識別番号,②シリアル化したリスト,③(key)"Jvn.Logic.UI.Dialog.caller.note");
④リンクメッセージで返り値を取得します
link_message(数字,①識別番号,シリアル化した返り値,"Jvn.Logic.UI.Dialog_ret");
送信時の識別番号と同じであり、key にモジュール名が入っていることを確認してください
モジュール名は Caller ではなく ダイアログのモジュール名なので間違えないように
⑤返り値をデシリアライズして使います
形式は通常のダイアログと同じ
使い方-階層構造
階層構造の場合は次のように設定を書きます
----------------------------
|"Jvn.Logic.UI.Dialog.Menu" | // ダイアログ種類
|"MainMenu" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"機能を選んでください" | // メッセージ
|"色を変える" | // ボタン名1
|"ColorSelect" | // 子ダイアログ名1
|"文字を変える" | // ボタン名2
|"TextSelect" | // 子ダイアログ名2
|"透明度を変える" | // ボタン名3
|"AlphaSelect" | // 子ダイアログ名3
| | // ********************* 空白行をはさむ
|"Jvn.Logic.UI.Dialog" | // ダイアログ種類
|"MainMenu/ColorSelect" | // ダイアログ名
|10 | // 応答無し時のキャンセル処理を発動するまでの時間
|"色を選んでください" | // メッセージ
|"赤" | // ボタン名1
|"<1.000>" | // 選択時の返り値1
|"緑" | // ボタン名2
|"<01.00>" | // 選択時の返り値2
|"青" | // ボタン名3
|"<001.0>" | // 選択時の返り値3
|・ |
|・ |
----------------------------
・子ダイアログは、一行あけて書く
・子ダイアログの名前は
親ダイアログで設定した"親ダイアログの名前/子ダイアログ名"
と等しくなるように設定する
初回にロード処理
2回目以降はスプールしたものを使う
ロード命令の出し方
メッセージの改行は /n を書きましょう
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
最終更新 :2007-10-18
Jvn.Module
Jvn Writer のモジュールは
リンク・メッセージで引数・返り値のやりとりをしています
リンクメッセージは旧LSL Wiki の Script Library にのっていた
ExchangeScriptModule のやりかたにのっとっています
http://rpgstats.com/wiki/index.php?title=ExchangeScriptModule
次のスクリプトを、モジュール呼び出しスクリプトの頭にコピーしてください
// ========== For method invocation ==========
integer debug=FALSE;
string randomSeperator() {
integer firstChar = (integer)llFrand(60) + 20;
integer lastChar;
do {
lastChar = (integer)llFrand(60) + 20;
} while (lastChar == firstChar);
string ret = llUnescapeURL("%"+(string)firstChar);
ret += llUnescapeURL("%" + (string)((integer)llFrand(60) + 20));
return ret + llUnescapeURL("%"+(string)lastChar);
}
string listToString(list src) {
string chars = (string) src;
string seperator;
do {
seperator = randomSeperator();
} while (llSubStringIndex(chars, seperator) != -1);
return seperator + llDumpList2String(src, seperator);
}
list stringToList(string src) {
return llParseStringKeepNulls(llDeleteSubString(src, 0, 2),
[llGetSubString(src, 0, 2)], []);
}
callMethod(integer identifyer, string methodName, list parameters) {
llMessageLinked(LINK_THIS, identifyer,listToString(parameters), methodName);
}
returnValue(integer identifyer, string methodName, list value) {
callMethod(identifyer, methodName + "_ret", value);
}
DeepTrace(string Name,list s){
if(debug==2) llOwnerSay(llGetScriptName()+"."+Name+"\n ("+llDumpList2String(s,",")+")");
}
Trace(string Name,list s){
if(debug>0) llOwnerSay("\n"+llGetScriptName()+"."+Name+"\n("+llDumpList2String(s,",")+")");
}
// =============================================
1.シリアライズ
メッセージを送るときは、
callMethod(integer identifyer, string methodName, list parameters)
を使います。
メソッド内でリストをストリングに変換して送るので、
これをシリアライズと呼びます。
2.デシリアライズ
モジュールの返値は次のようにリンク・メッセージで受け取ります
link_message(integer caller, integer Identify , string params, key methodName)
Identify が自分が送った Identify と同じこと
(string)methodName が 呼び出したmethodName + _ret であることを確認してください
返り値は params にはいっています
list Params = list2String(params)
とすることでリストに展開することができます
これをデシリアライズと呼びます
免責
当モジュールを利用したことによって発生した損害・問題に関して
Jvn Writerは一切の責任を負いません
使用者の自己責任でお願いします
要望・謝礼
当モジュールを使用して、機能追加の要望などありましたらIMください
当モジュールを使用して、気に入った方もIMください こおどりします
Get higher capacity by less works.
Jvn.lsl
すごーい!
チョー親切!
って、使い方はいいとしてスクリプトは・・・う~ん
むずかしい、というか関数が見慣れないものばかりでしたw
でわまた
2007年11月07日
LSLコンベンションその21
TERRA Zehetbauerです。
このシリーズもそろそろ38km地点ですw
心臓破りの坂で挫折しそーデス><。
さて、まずはSS

では中へ行きましょー

カメラ関係ですね。

なんと製作者のMash kuhnさんが直接説明してくれました!
しかもぜ~んぶもらえちゃった!ありがとーございまーす。
で、いろいろお話をしてなんとなくカメラってどんなの?っということが
おぼろげながら理解しだした感じです。
やっぱり直接レクチャーしてもらうとわかりやすいですよね^^
そうそう、ノートをご紹介しておきましょう。
「オブジェクト名前」
Fixed point camera HUD
「機能及び操作方法を教えてください」
●マシニマ製作者のリクエストで製作しました。
同梱のマーカーの正面を起点とした定点カメラです。
マシニマ撮影やライブ撮影、監視カメラとしても使えます。
1.同梱のマーカーを配置します。
2.マーカーをタッチして、任意の被写体(アバター)に「西」側(*1)を向けます。
3.「Fixed point camera HUD」のロゴマークを押下してマーカーを選択します。
4.マーカーの正面位置に視点が移動します。
*1.オブジェクトの正面がXプラス側の「東」になります。
Fixed point camera HUDは、常に正面の「東」側から西に向かって撮影します。
*2.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*3.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llRot2Fwd,llSetCameraParams
---------------------------------------------------------
「オブジェクト名前」
Compact camera HUD
「機能及び操作方法を教えてください」
●一般の方のリクエストで製作しました。
「Machinima camera HUD」の機能を限定した使いやすいカメラコントロールです。
周辺のアバター探知し、任意の被写体(アバター)を追尾します。
1.「Compact camera HUD」の[Av]ボタンを押下して、任意の被写体(アバター)を選択します。
2.任意の被写体(アバター)の正面位置に視点が移動し、自動追尾します。
*.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensorRepeat,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
---------------------------------------------------------
「オブジェクト名前」
View camera HUD
「機能及び操作方法を教えてください」
●ブロガーのリクエストで製作しました。
静止画撮影用のカメラコントロールです。
任意の被写体はもちろんのこと、自分のアバターに対しても視点を変えることができます。
1.「View camera HUD」のロゴマークを押下し、[SELF]を選択します。
2.自分のアバターの正面位置に視点が移動します。
3.被写体との距離、角度、縦横移動などを調整します。
4.視点は固定で、自分のアバターを移動させることができます。
*.カメラ操作を解除して元の状態に復帰するときは、HUDのロゴマークを押下し、[RESET]を選択します。
*.HUDの[RESET]を選択しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
---------------------------------------------------------
「オブジェクト名前」
Machinima camera HUD
「機能及び操作方法を教えてください」
●マシニマ製作者のリクエストで製作しました。
動画撮影用のカメラコントロールです。
被写体との距離、角度、縦横移動などが調整できます。
被写体を中心にクレーン撮影ができます。
マシニマ撮影やライブ撮影、監視カメラとしても使えます。
1.「Machinima camera HUD」の[Av]ボタンを押下して、任意の被写体(アバター)を選択します。
2.任意の被写体(アバター)の正面位置に視点が移動し、自動追尾します。
3.被写体との距離、角度、縦横移動などをHUDのボタンで調整します。
4.[Cr]ボタンを押下すると被写体を中心にしたクレーン撮影ができます。
*.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
SOLAの島大運動会を開催するときにはぜひこのカメラを活用しようと思います!
(やば、企画もらしちゃったw)
このシリーズもそろそろ38km地点ですw
心臓破りの坂で挫折しそーデス><。
さて、まずはSS
では中へ行きましょー
カメラ関係ですね。
なんと製作者のMash kuhnさんが直接説明してくれました!
しかもぜ~んぶもらえちゃった!ありがとーございまーす。
で、いろいろお話をしてなんとなくカメラってどんなの?っということが
おぼろげながら理解しだした感じです。
やっぱり直接レクチャーしてもらうとわかりやすいですよね^^
そうそう、ノートをご紹介しておきましょう。
「オブジェクト名前」
Fixed point camera HUD
「機能及び操作方法を教えてください」
●マシニマ製作者のリクエストで製作しました。
同梱のマーカーの正面を起点とした定点カメラです。
マシニマ撮影やライブ撮影、監視カメラとしても使えます。
1.同梱のマーカーを配置します。
2.マーカーをタッチして、任意の被写体(アバター)に「西」側(*1)を向けます。
3.「Fixed point camera HUD」のロゴマークを押下してマーカーを選択します。
4.マーカーの正面位置に視点が移動します。
*1.オブジェクトの正面がXプラス側の「東」になります。
Fixed point camera HUDは、常に正面の「東」側から西に向かって撮影します。
*2.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*3.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llRot2Fwd,llSetCameraParams
---------------------------------------------------------
「オブジェクト名前」
Compact camera HUD
「機能及び操作方法を教えてください」
●一般の方のリクエストで製作しました。
「Machinima camera HUD」の機能を限定した使いやすいカメラコントロールです。
周辺のアバター探知し、任意の被写体(アバター)を追尾します。
1.「Compact camera HUD」の[Av]ボタンを押下して、任意の被写体(アバター)を選択します。
2.任意の被写体(アバター)の正面位置に視点が移動し、自動追尾します。
*.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensorRepeat,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
---------------------------------------------------------
「オブジェクト名前」
View camera HUD
「機能及び操作方法を教えてください」
●ブロガーのリクエストで製作しました。
静止画撮影用のカメラコントロールです。
任意の被写体はもちろんのこと、自分のアバターに対しても視点を変えることができます。
1.「View camera HUD」のロゴマークを押下し、[SELF]を選択します。
2.自分のアバターの正面位置に視点が移動します。
3.被写体との距離、角度、縦横移動などを調整します。
4.視点は固定で、自分のアバターを移動させることができます。
*.カメラ操作を解除して元の状態に復帰するときは、HUDのロゴマークを押下し、[RESET]を選択します。
*.HUDの[RESET]を選択しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
---------------------------------------------------------
「オブジェクト名前」
Machinima camera HUD
「機能及び操作方法を教えてください」
●マシニマ製作者のリクエストで製作しました。
動画撮影用のカメラコントロールです。
被写体との距離、角度、縦横移動などが調整できます。
被写体を中心にクレーン撮影ができます。
マシニマ撮影やライブ撮影、監視カメラとしても使えます。
1.「Machinima camera HUD」の[Av]ボタンを押下して、任意の被写体(アバター)を選択します。
2.任意の被写体(アバター)の正面位置に視点が移動し、自動追尾します。
3.被写体との距離、角度、縦横移動などをHUDのボタンで調整します。
4.[Cr]ボタンを押下すると被写体を中心にしたクレーン撮影ができます。
*.カメラ操作を解除して元の状態に復帰するときは、HUDの[Re]ボタンを押下します。
*.HUDの[Re]ボタンを押下しても視野が戻らない場合は{Esc}キーを押下します。
「このオブジェクトの主な関数を教えてください」
llSensor,llDetectedKey,llDetectedPos,llDetectedRot,llSetCameraParams
三角関数
SOLAの島大運動会を開催するときにはぜひこのカメラを活用しようと思います!
(やば、企画もらしちゃったw)
2007年11月06日
LSLコンベンションその20
TERRA Zehetbauerです。
とうとうその20まで行っちゃいました。なんともネタの多いイベントです。
さて、前回の電車に乗った後上に戻ろうとしたところ・・・

なんとメーヴェを発見!
期待に胸を膨らませいざ試乗!

さぁ、とぶぞー!

エンジンを点火してウィングを開いて・・・

ちゃんとポーズもとり・・・

あれ?とばないよー、ザンネン><
ちなみにノートはこちら
名前
Mowe Kite
操作方法
start とキーをタイプするとエンジンが始動します。
stop とキーをタイプするとエンジンが止まります。
上昇---PageUp 下降---PageDown
前後左右---←↑↓→キー
機能
上昇、下降、後退で翼のエルロンが稼働し進行方向によって搭乗体勢が変わります。
主な関数
メインは一般的に使われているVehicleスクリプトです。
翼のエルロンやPOSEの変更を行うために移動キーをきっかけに
llMessageLinkedを使ってそれぞれの動作を指示しています。
エルロン稼働にはllSetLocalRot、POSE変更にはllStartAnimationを使っています。
POSE変更の際に次のPOSEとの間に中間の動作を入れる事で自然な動きを出したつもりです^^
Peel Bearat
さて、仕方なくあきらめて上空の会場へ行くことに・・・

上まではエレベーターを乗り換えていくことが出来ました。



う~ん、すごいなぁ。こんなに高機能なのはできないなー。
っていいかげん仕上げろーという追い込まれ感が><

う~ん、かごも乗り場もよく出来てます。
階数表示はあるし、ドアも自動で開閉するし。。。

ということで順路と逆に来てしまいましたw
ちなみにエレベーターのノートはこちら。
「オブジェクト名前」
Easy Setup Elevator System (仮)
「機能及び操作方法を教えてください」
[特徴]
スクリプトを編集することなく、ノートカードにも管理者の名前を記入するだけで設置可能なエレベーター・システムです。
フロアのパーツを垂直方向にコピーし、1Fにしたいフロアの位置にゴンドラを置いてタッチするだけでセットアップが完了します。
実験では60階建てまでは動作を確認しています。
[乗り方]
扉の脇にある円柱にタッチするとゴンドラがそのフロアまでやってきます。
ゴンドラに乗り込むと行き先のフロアを尋ねるダイアログが表示されますので、任意のフロアを選択してください。
「このオブジェクトの主な関数を教えてください」
ゴンドラを滑らかに動かすために物理属性とllMoveToTarget()を使用していますが、この関数で移動させると後半スローダウンしてしまうようです。
そのためtimerを用い、最終的な移動目標とは異なる遠くの地点を目標地点として定期的にllMoveToTarget()を発行し直しています。
ゴンドラ呼び出しスイッチでは、llRemoteLoadScriptPin()を利用して各フロアからゴンドラへとスクリプトを送り込んでいます。
ゴンドラに送り込まれたスクリプトはその場で実行され、送信元のフロアから送り込まれた時の整数パラメータを元にゴンドラ内のメインスクリプトに対し、llMessageLinked()でどのフロアからの呼び出しなのかを通知しています。
各フロアにはゴンドラの位置を示す表示器が付いています。
ゴンドラの位置を知らせる手段としては、llRemoteLoadScriptPin()では各フロア個別に送信する必要がある事、タイムラグが避けられない事から、llRemoteLoadScriptPin()による伝達を諦め、同報性・速報性に優れるメッセージリスナによる伝達を採用しています。
う~ん、う~ん、すごいな~。
なんとかまねしたいな~。
実力がないな~、くやし~。
ということで、まだまだ地道なエレベーター製作は続きますw
とうとうその20まで行っちゃいました。なんともネタの多いイベントです。
さて、前回の電車に乗った後上に戻ろうとしたところ・・・
なんとメーヴェを発見!
期待に胸を膨らませいざ試乗!
さぁ、とぶぞー!
エンジンを点火してウィングを開いて・・・
ちゃんとポーズもとり・・・
あれ?とばないよー、ザンネン><
ちなみにノートはこちら
名前
Mowe Kite
操作方法
start とキーをタイプするとエンジンが始動します。
stop とキーをタイプするとエンジンが止まります。
上昇---PageUp 下降---PageDown
前後左右---←↑↓→キー
機能
上昇、下降、後退で翼のエルロンが稼働し進行方向によって搭乗体勢が変わります。
主な関数
メインは一般的に使われているVehicleスクリプトです。
翼のエルロンやPOSEの変更を行うために移動キーをきっかけに
llMessageLinkedを使ってそれぞれの動作を指示しています。
エルロン稼働にはllSetLocalRot、POSE変更にはllStartAnimationを使っています。
POSE変更の際に次のPOSEとの間に中間の動作を入れる事で自然な動きを出したつもりです^^
Peel Bearat
さて、仕方なくあきらめて上空の会場へ行くことに・・・
上まではエレベーターを乗り換えていくことが出来ました。
う~ん、すごいなぁ。こんなに高機能なのはできないなー。
っていいかげん仕上げろーという追い込まれ感が><
う~ん、かごも乗り場もよく出来てます。
階数表示はあるし、ドアも自動で開閉するし。。。
ということで順路と逆に来てしまいましたw
ちなみにエレベーターのノートはこちら。
「オブジェクト名前」
Easy Setup Elevator System (仮)
「機能及び操作方法を教えてください」
[特徴]
スクリプトを編集することなく、ノートカードにも管理者の名前を記入するだけで設置可能なエレベーター・システムです。
フロアのパーツを垂直方向にコピーし、1Fにしたいフロアの位置にゴンドラを置いてタッチするだけでセットアップが完了します。
実験では60階建てまでは動作を確認しています。
[乗り方]
扉の脇にある円柱にタッチするとゴンドラがそのフロアまでやってきます。
ゴンドラに乗り込むと行き先のフロアを尋ねるダイアログが表示されますので、任意のフロアを選択してください。
「このオブジェクトの主な関数を教えてください」
ゴンドラを滑らかに動かすために物理属性とllMoveToTarget()を使用していますが、この関数で移動させると後半スローダウンしてしまうようです。
そのためtimerを用い、最終的な移動目標とは異なる遠くの地点を目標地点として定期的にllMoveToTarget()を発行し直しています。
ゴンドラ呼び出しスイッチでは、llRemoteLoadScriptPin()を利用して各フロアからゴンドラへとスクリプトを送り込んでいます。
ゴンドラに送り込まれたスクリプトはその場で実行され、送信元のフロアから送り込まれた時の整数パラメータを元にゴンドラ内のメインスクリプトに対し、llMessageLinked()でどのフロアからの呼び出しなのかを通知しています。
各フロアにはゴンドラの位置を示す表示器が付いています。
ゴンドラの位置を知らせる手段としては、llRemoteLoadScriptPin()では各フロア個別に送信する必要がある事、タイムラグが避けられない事から、llRemoteLoadScriptPin()による伝達を諦め、同報性・速報性に優れるメッセージリスナによる伝達を採用しています。
う~ん、う~ん、すごいな~。
なんとかまねしたいな~。
実力がないな~、くやし~。
ということで、まだまだ地道なエレベーター製作は続きますw
2007年11月06日
LSLコンベンションその19
TERRA Zehetbauerです。
さて、サーキットで充分満喫してLafeelさんと別れると近くに電車を発見。

なるほど、で、待っていると

やってきました。

お~ちゃんと扉が開く!

で、座席に座って出発!
ちなみにちゃんとsitしないとおいてけぼりくらいます。
さてノートは・・・
「オブジェクト名前」
路面電車
「機能及び操作方法を教えてください」
オーナーは、rezをするだけで、自動的にSIMを南北に往復します。
南の端と北の端、そしてSIMの中央で停車し、ドアを開閉します。
南と北で折り返すときには、行き先とパンタグラフも自動的に動作します。
お客様は、停車中に乗車して着席するだけです。
「このオブジェクトの主な関数を教えてください」
llSetPrimitiveParams,llSetScale,llOffsetTexture,llSetAlpha,llMessageLinked
などが主だと思います。
llSetPrimitiveParamsで走行し、llOffsetTextureで行き先を動かし、
llSetScaleで折り戸を表現しています。
パンタグラフの向きが変わるのは、両方向用のものを取り付け、
llSetAlphaで片方を透明にして、それを切り替えています。
それらを走行状態や位置と連動させるため、llMessageLinkedを使っています。
なるほど、といっても全部はわかりませんが^^;
パンタグラフも切り替わってたんですね。気がつきませんでした。
今度改めて見にいこー。
さて、サーキットで充分満喫してLafeelさんと別れると近くに電車を発見。
なるほど、で、待っていると
やってきました。
お~ちゃんと扉が開く!
で、座席に座って出発!
ちなみにちゃんとsitしないとおいてけぼりくらいます。
さてノートは・・・
「オブジェクト名前」
路面電車
「機能及び操作方法を教えてください」
オーナーは、rezをするだけで、自動的にSIMを南北に往復します。
南の端と北の端、そしてSIMの中央で停車し、ドアを開閉します。
南と北で折り返すときには、行き先とパンタグラフも自動的に動作します。
お客様は、停車中に乗車して着席するだけです。
「このオブジェクトの主な関数を教えてください」
llSetPrimitiveParams,llSetScale,llOffsetTexture,llSetAlpha,llMessageLinked
などが主だと思います。
llSetPrimitiveParamsで走行し、llOffsetTextureで行き先を動かし、
llSetScaleで折り戸を表現しています。
パンタグラフの向きが変わるのは、両方向用のものを取り付け、
llSetAlphaで片方を透明にして、それを切り替えています。
それらを走行状態や位置と連動させるため、llMessageLinkedを使っています。
なるほど、といっても全部はわかりませんが^^;
パンタグラフも切り替わってたんですね。気がつきませんでした。
今度改めて見にいこー。
2007年11月05日
LSLコンベンションその18~Manji's TYPE-7
TERRA Zehetbauerです。
前回の源さんバギーで遊んでいるともう一人サーキットにこられました。
Lafeelさんのお知り合いだそうで、おもむろに

お~!展示してたManji's TYPE-7 v.1.21だ!
はやっ!
するとLafeelさんもレズして
「のる?」
もちろん乗りますw

いやーはやい!これも面白かったです^^
さてこのあとまたまた源さんに乗り出し・・・

垂直走行w
う~ん、ウニモグなんぞ眼中にないな~、すごいぞ源さん!
(なんかスクリプトから離れてるような^^;次回はもどらないと)(笑)
前回の源さんバギーで遊んでいるともう一人サーキットにこられました。
Lafeelさんのお知り合いだそうで、おもむろに
お~!展示してたManji's TYPE-7 v.1.21だ!
はやっ!
するとLafeelさんもレズして
「のる?」
もちろん乗りますw
いやーはやい!これも面白かったです^^
さてこのあとまたまた源さんに乗り出し・・・
垂直走行w
う~ん、ウニモグなんぞ眼中にないな~、すごいぞ源さん!
(なんかスクリプトから離れてるような^^;次回はもどらないと)(笑)
2007年11月05日
LSLコンベンションその17~源さんその2
TERRA Zehetbauerです。
源さんバギーお気に入りですw

ジャンプもできます!

なんと90度のかべも上っちゃいます!

製作者のLafeel Furseさんと爆走w
買いたいなーという方はLafeelさんにIMをどうぞ!
源さんバギーお気に入りですw
ジャンプもできます!
なんと90度のかべも上っちゃいます!
製作者のLafeel Furseさんと爆走w
買いたいなーという方はLafeelさんにIMをどうぞ!
2007年11月05日
LSLコンベンションその16~源さんの巻その1
TERRA Zehetbauerです。
すっかり定着してしまったLSLシリーズですw
いったいいつ完結するのか。。。
さて今回はこちらから

なんかルパン三世にでてきそーなビンテージカーです。
ノートをみましょー。
「オブジェクト名前」
Manji's TYPE-7 v.1.21
「機能及び操作方法を教えてください」
地面にREZしてSitすると車に乗る事ができます。
車の操作は↑で前進、↓でブレーキ/後退、←→でハンドル操作、
PageUP及びPageDOWNでギアチェンジ。
また、付属のHUDを操作することで以下の事ができます。
・ボディの一部の色変え
・走行中のカメラアングルの切り替え
・スタックした状態からの復帰
・助手席の人を立たせる
・速度計
「このオブジェクトの主な関数を教えてください」
・llSetVehicleType、llSetVehicleFloatParam、llSetVehicleVectorParam、llSetVehicleFlags
乗り物のタイプ(車、船、飛行機など)を決定したり、乗り物の挙動を決定付ける
各種パラメータを設定するための関数です。
この車では、llSetVehicleFloatParamで設定するパラメータの数値を小さくし、
操作に対するレスポンスを向上させています。
・llRepuestPermissions
アニメーションの再生やエージェントによる操作を可能にするための関数です。
この車では、PERMISSION_TRIGGER_ANIMATION、PERMISSION_TAKE_CONTROLS、
PERMISSION_CONTROL_CAMERAを使用しています。
これに関連して、llTakeControls、llSetCameraParams、llStartAnimation、llStopAnimationといった
関数も使用しています。
・llApplyImpulse
llSetVehicleVectorParamのVEHICLE_LINEAR_MOTOR_DIRECTIONで設定できる乗り物の速度には限界があります。
その限界以上のスピードを出したいときにはこの関数を使います。
ただし、適切な数値を設定しないと操作が困難になったり、最悪の場合乗り物を紛失したりSIMに
多大な負荷を与えたりしてしまう恐れもありますので注意しましょう。
・llListen、llSay
車とHUDを連動させるために使用しています。
・llMessageLinked
タイヤが回っているようにテクスチャをアニメーションさせたり、前輪をハンドル操作に連動させて動かしたり、ボディの色を変えたりするための命令を子プリムに送るために使用しています。
その他、llSitTarget、llGetOwner、llGiveInventory、llSetCameraEyeOffset、llSetCameraAtOffset、llLoopSound
などを使用しています。
すごい高機能ですねー。
llApplyImpulseでスピードのリミッター解除というところですねw
いやーやはり車キチはリミッター解除は基本というところですね。
タイヤもちゃんと回るそうです。すごい!
さて次です。

シーソーです。
乗れるようなので早速のってみました。

どんな内容かノートをみましょー。
■「オブジェクト名前」
物理シーソー
■「機能及び操作方法を教えてください」
・板部分は物理です。なのでアバターが乗っかるとそれなりに動きます。
・ただし、アバターの重さだけではあまり動かないので面白くないです。
・そこで板をタッチすることで物理回転させ、乗ったアバターを飛び上がらせます。
・両端の踏み台をタッチするとうまく板の上に乗れます。
■「このオブジェクトの主な関数を教えてください」
llApplyRotationalImpulseでタッチするごとに逆方向に回転をかけてます。
あんまりパワーを強く設定すると板が外れます…。
乗っただけではあまり面白くないと。。。
ということで、板をタッチすると大変なことになりました。
すっ飛ばされて地上に落下!
ところがそこでみたものは・・・

「あー源さんだー!」
ここサーキットみたいだし、もしや・・・

のれちゃったw
で、遊んでたらなんと製作者のLafeel Furseさんにあえました!
しかも乗せてくれました!

作者自ら乗り方を直伝してくれました。かんどー!

ウィリー!

続く
すっかり定着してしまったLSLシリーズですw
いったいいつ完結するのか。。。
さて今回はこちらから
なんかルパン三世にでてきそーなビンテージカーです。
ノートをみましょー。
「オブジェクト名前」
Manji's TYPE-7 v.1.21
「機能及び操作方法を教えてください」
地面にREZしてSitすると車に乗る事ができます。
車の操作は↑で前進、↓でブレーキ/後退、←→でハンドル操作、
PageUP及びPageDOWNでギアチェンジ。
また、付属のHUDを操作することで以下の事ができます。
・ボディの一部の色変え
・走行中のカメラアングルの切り替え
・スタックした状態からの復帰
・助手席の人を立たせる
・速度計
「このオブジェクトの主な関数を教えてください」
・llSetVehicleType、llSetVehicleFloatParam、llSetVehicleVectorParam、llSetVehicleFlags
乗り物のタイプ(車、船、飛行機など)を決定したり、乗り物の挙動を決定付ける
各種パラメータを設定するための関数です。
この車では、llSetVehicleFloatParamで設定するパラメータの数値を小さくし、
操作に対するレスポンスを向上させています。
・llRepuestPermissions
アニメーションの再生やエージェントによる操作を可能にするための関数です。
この車では、PERMISSION_TRIGGER_ANIMATION、PERMISSION_TAKE_CONTROLS、
PERMISSION_CONTROL_CAMERAを使用しています。
これに関連して、llTakeControls、llSetCameraParams、llStartAnimation、llStopAnimationといった
関数も使用しています。
・llApplyImpulse
llSetVehicleVectorParamのVEHICLE_LINEAR_MOTOR_DIRECTIONで設定できる乗り物の速度には限界があります。
その限界以上のスピードを出したいときにはこの関数を使います。
ただし、適切な数値を設定しないと操作が困難になったり、最悪の場合乗り物を紛失したりSIMに
多大な負荷を与えたりしてしまう恐れもありますので注意しましょう。
・llListen、llSay
車とHUDを連動させるために使用しています。
・llMessageLinked
タイヤが回っているようにテクスチャをアニメーションさせたり、前輪をハンドル操作に連動させて動かしたり、ボディの色を変えたりするための命令を子プリムに送るために使用しています。
その他、llSitTarget、llGetOwner、llGiveInventory、llSetCameraEyeOffset、llSetCameraAtOffset、llLoopSound
などを使用しています。
すごい高機能ですねー。
llApplyImpulseでスピードのリミッター解除というところですねw
いやーやはり車キチはリミッター解除は基本というところですね。
タイヤもちゃんと回るそうです。すごい!
さて次です。
シーソーです。
乗れるようなので早速のってみました。
どんな内容かノートをみましょー。
■「オブジェクト名前」
物理シーソー
■「機能及び操作方法を教えてください」
・板部分は物理です。なのでアバターが乗っかるとそれなりに動きます。
・ただし、アバターの重さだけではあまり動かないので面白くないです。
・そこで板をタッチすることで物理回転させ、乗ったアバターを飛び上がらせます。
・両端の踏み台をタッチするとうまく板の上に乗れます。
■「このオブジェクトの主な関数を教えてください」
llApplyRotationalImpulseでタッチするごとに逆方向に回転をかけてます。
あんまりパワーを強く設定すると板が外れます…。
乗っただけではあまり面白くないと。。。
ということで、板をタッチすると大変なことになりました。
すっ飛ばされて地上に落下!
ところがそこでみたものは・・・
「あー源さんだー!」
ここサーキットみたいだし、もしや・・・
のれちゃったw
で、遊んでたらなんと製作者のLafeel Furseさんにあえました!
しかも乗せてくれました!
作者自ら乗り方を直伝してくれました。かんどー!
ウィリー!
続く
2007年11月04日
煙突の煙
煙突の煙 --Ichiro Furse

少し前につくりましたコンドミニアムAの煙突の煙、気に入らなかったので修正しました。
パーティクルなのでちかづかないとでてきません。遠くにいると煙はみえてません。

近づくと、ゆっくりと煙がでてきます。この煙の出始めがのんびりしてる感じでなかなかいいです。^^

スクリプト載せます。
default {
state_entry(){
llParticleSystem( [
PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0),
PSYS_PART_START_SCALE, <2,2, 0>,
PSYS_PART_END_SCALE, <15,15, 0>,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_END_COLOR, <5,2,2>,
PSYS_PART_START_ALPHA, 0.25,
PSYS_PART_END_ALPHA, 0.0,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RATE, 0.03,
PSYS_PART_MAX_AGE,50.0,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_PATTERN, 6,
PSYS_SRC_ACCEL, <0.0,0.0, 0.1>,
PSYS_SRC_BURST_RADIUS, 0.2,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.0,
PSYS_SRC_ANGLE_BEGIN, 00*DEG_TO_RAD,
PSYS_SRC_ANGLE_END,00*DEG_TO_RAD,
PSYS_SRC_OMEGA, <0,0,0>,
PSYS_PART_FLAGS, ( 0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_WIND_MASK
| PSYS_PART_BOUNCE_MASK
) ] );
}
}
数字をいろいろ調整して、自分なりになんとか満足した数字のスクリプトです。^^
煙長めです。

少し前につくりましたコンドミニアムAの煙突の煙、気に入らなかったので修正しました。
パーティクルなのでちかづかないとでてきません。遠くにいると煙はみえてません。

近づくと、ゆっくりと煙がでてきます。この煙の出始めがのんびりしてる感じでなかなかいいです。^^

スクリプト載せます。
default {
state_entry(){
llParticleSystem( [
PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0),
PSYS_PART_START_SCALE, <2,2, 0>,
PSYS_PART_END_SCALE, <15,15, 0>,
PSYS_PART_START_COLOR, <1,1,1>,
PSYS_PART_END_COLOR, <5,2,2>,
PSYS_PART_START_ALPHA, 0.25,
PSYS_PART_END_ALPHA, 0.0,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RATE, 0.03,
PSYS_PART_MAX_AGE,50.0,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_PATTERN, 6,
PSYS_SRC_ACCEL, <0.0,0.0, 0.1>,
PSYS_SRC_BURST_RADIUS, 0.2,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.0,
PSYS_SRC_ANGLE_BEGIN, 00*DEG_TO_RAD,
PSYS_SRC_ANGLE_END,00*DEG_TO_RAD,
PSYS_SRC_OMEGA, <0,0,0>,
PSYS_PART_FLAGS, ( 0
| PSYS_PART_INTERP_COLOR_MASK
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_WIND_MASK
| PSYS_PART_BOUNCE_MASK
) ] );
}
}
数字をいろいろ調整して、自分なりになんとか満足した数字のスクリプトです。^^
煙長めです。
2007年11月02日
LSLコンベンションその15
TERRA Zehetbauerです。
こんなに長いシリーズになるとは・・・。
でも、こうやって整理をして書いてるとなんかできるような気になってきますw
(「それは錯覚!」、「気のせい!」という声がまわりからきこえそう。。。^^;)
さて今回はこちら

アトラクションのコーナーに突入!

まずはこちら、バギーです。
ここでは残念ながら乗れませんでした。が、あとで急展開が!!
なにがおきたかはあとで出てきます。
(とりあえず見た順に書かないと足りないおつむが混乱するので^^;)
さてノートをみましょー!
「オブジェクト名前」
Vehicle Gen-san#19W LSLC2007 Edition
「機能及び操作方法を教えてください」
名前は「源さん」です。がんばって走ります。どうぞよろしく~。
源さんはバギーですがただのバギーではありません。角度90度まで
なら壁を登ることができます。
高い建物や山はジャンプで登ることができます。
源さんはあなたの相棒です。呼べば返事をします。いっしょに散歩
をしたり、声をかけると立ったり、逆立ちしたり、まわったりしま
す。
### 源さんに乗ってみよう ###
座る :エンジンをスタートします。
降りる :エンジンをストップします。
Wキー :前進します。
Sキー :後退します。
ジャンプ中に押すと空中に一瞬停止します。
Aキー :左折します。
Dキー :右折します。
PageUpキー :頭を上げ後ろ足で立ちます。
PageDownキー :お尻を上げ逆立ちします。
WSキー同時押し :前方に急加速します。
PageDownキーで頭を上げてから、WSキーを押すと
ジャンプします。
源さんをクリック:空きメモリの表示を行い、少しジャンプします。
### 源さんに声をかけてみよう ###
源さんは日本生まれなので日本語を理解します。まだ、少ししか
言葉は覚えてないけれど一生懸命あなたの言葉を聞きます。
「源さん」 :返事をします。少しだけジャンプします。
地形によっては止まることがあるので、その時
には、声をかけてあげると動作を再開します。
「エンジンスタート」:エンジンをスタートします。
「たって」 :後ろ足で立ちます。
「まわって」 :時計回りに回転します。
「逆にまわって」 :反時計回りに回転します。
「逆立ち」 :前足で立って逆立ちします。
「ストップ」 :動作を停止します。
「ついてきて」 :あなたについてきます。
一緒に散歩したいときに声をかけましょう。
源さんの真横に上手に立つと、源さんはあなた
の周りをクルクル回ります。
「エンジンストップ」:エンジンをストップします。
(ストップも兼ねてます)
「いけw」 :デモエリアの角へ一旦移動してから、デモエリアを
5週、周回します。あなたが乗っていなくても、源さ
んは自分で走ります。
「源さん」以外の言葉は「エンジンスタート」から「エンジンストップ」
までの間で有効です。まず「エンジンスタート」でエンジンをスタートさ
せてから「ついてきて」などの言葉をかけてください。
それぞれの言葉は独立しています。「たって」と「ついてきて」を同時に
言うと立ちながらあなたについてきます。
「まわって」と「ついてきて」を同時に言うと予期しない方へ行くので、
気をつけてください。この時は「ストップ」と叫びましょう。
普通にしゃべるとあなたの声は20mしか届きません。源さんが20m以上離れ
ている場合は、CTRL+RETURNキーで叫んで源さんに声をかけましょう。
「このオブジェクトの主な関数を教えてください」
源さんは非物理モードと物理モードに分かれています。
エンジンを停止している場合は非物理モード、エンジンを動作させている
ときは物理モードになります。
非物理モードのときは以下の関数を使用しています。
llSetPos
llGetPos
llSetRot
物理モードのときは以下の関数を使用しています。
llApplyImpulse
llSetVehicleFlags
llSetVehicleType
llSetVehicleFloatParam
llSetVehicleVectorParam
その他、モードに関係なく以下の関数を使用しています。
llSetStatus
llMessageLinked
llRotBetween
llRot2Euler
llEuler2Rot
llSensorRepeat
llSensorRemove
llSetTimerEvent
llGetOwner
llFabs
llVecDist
llGetVel
llParseString2List
llList2String
llList2Float
llList2Integer
llGetListLength
llSay
llOwnerSay
llSetText
llListen
llSitTarget
llSetCameraEyeOffset
llSetCameraAtOffset
llResetScript
llGetFreeMemory
llPushObject
llGetMass
llGetObjectMass
llAvatarOnSitTarget
llRequestPermissions
llTakeControls
llReleaseControls
llStartAnimation
llStopAnimation
llSleep
llDetectedPos
llPlaySound
llPreloadSound
llLoopSound
llGetNotecardLine
llUnescapeURL
llParticleSystem
源さんはまだ実験段階のバギーです。今もみんなが驚くようないく
つかの新機能を追加し、問題点の修正を行っています。
わたしはまだお店を出していませんがもう少ししたら
「Lafee's A la carte」(ラフィーズアラカルト)
という名前のお店を出します。そのお店で源さんの正式版を販売
する予定です(源さんの家族も増やす予定です)。
どうぞよろしくお願いします^^
Lafeel Furse
すごおお~い関数の数!
しかも色々出来そう!
とこれを見たとき思いました。
またあとで取り上げた時に詳細はカキコしますね。
さてもうひとつ

これって?

メーヴェじゃん!

やはり展示なので飛べませんでした。ザンネン><。
のーと、のーと!
名前
Mowe Kite
操作方法
start とキーをタイプするとエンジンが始動します。
stop とキーをタイプするとエンジンが止まります。
上昇---PageUp 下降---PageDown
前後左右---←↑↓→キー
機能
上昇、下降、後退で翼のエルロンが稼働し進行方向によって搭乗体勢が変わります。
主な関数
メインは一般的に使われているVehicleスクリプトです。
翼のエルロンやPOSEの変更を行うために移動キーをきっかけに
llMessageLinkedを使ってそれぞれの動作を指示しています。
エルロン稼働にはllSetLocalRot、POSE変更にはllStartAnimationを使っています。
POSE変更の際に次のPOSEとの間に中間の動作を入れる事で自然な動きを出したつもりです^^
Peel Bearat
う~む、これもほしいかもw
にしても乗り物系はすっごく複雑そうです。
こんな境地にいつかはたどり着けるのかしら?
もしいけたらMINIつくってのりたいな~。
ではまた~~
こんなに長いシリーズになるとは・・・。
でも、こうやって整理をして書いてるとなんかできるような気になってきますw
(「それは錯覚!」、「気のせい!」という声がまわりからきこえそう。。。^^;)
さて今回はこちら
アトラクションのコーナーに突入!
まずはこちら、バギーです。
ここでは残念ながら乗れませんでした。が、あとで急展開が!!
なにがおきたかはあとで出てきます。
(とりあえず見た順に書かないと足りないおつむが混乱するので^^;)
さてノートをみましょー!
「オブジェクト名前」
Vehicle Gen-san#19W LSLC2007 Edition
「機能及び操作方法を教えてください」
名前は「源さん」です。がんばって走ります。どうぞよろしく~。
源さんはバギーですがただのバギーではありません。角度90度まで
なら壁を登ることができます。
高い建物や山はジャンプで登ることができます。
源さんはあなたの相棒です。呼べば返事をします。いっしょに散歩
をしたり、声をかけると立ったり、逆立ちしたり、まわったりしま
す。
### 源さんに乗ってみよう ###
座る :エンジンをスタートします。
降りる :エンジンをストップします。
Wキー :前進します。
Sキー :後退します。
ジャンプ中に押すと空中に一瞬停止します。
Aキー :左折します。
Dキー :右折します。
PageUpキー :頭を上げ後ろ足で立ちます。
PageDownキー :お尻を上げ逆立ちします。
WSキー同時押し :前方に急加速します。
PageDownキーで頭を上げてから、WSキーを押すと
ジャンプします。
源さんをクリック:空きメモリの表示を行い、少しジャンプします。
### 源さんに声をかけてみよう ###
源さんは日本生まれなので日本語を理解します。まだ、少ししか
言葉は覚えてないけれど一生懸命あなたの言葉を聞きます。
「源さん」 :返事をします。少しだけジャンプします。
地形によっては止まることがあるので、その時
には、声をかけてあげると動作を再開します。
「エンジンスタート」:エンジンをスタートします。
「たって」 :後ろ足で立ちます。
「まわって」 :時計回りに回転します。
「逆にまわって」 :反時計回りに回転します。
「逆立ち」 :前足で立って逆立ちします。
「ストップ」 :動作を停止します。
「ついてきて」 :あなたについてきます。
一緒に散歩したいときに声をかけましょう。
源さんの真横に上手に立つと、源さんはあなた
の周りをクルクル回ります。
「エンジンストップ」:エンジンをストップします。
(ストップも兼ねてます)
「いけw」 :デモエリアの角へ一旦移動してから、デモエリアを
5週、周回します。あなたが乗っていなくても、源さ
んは自分で走ります。
「源さん」以外の言葉は「エンジンスタート」から「エンジンストップ」
までの間で有効です。まず「エンジンスタート」でエンジンをスタートさ
せてから「ついてきて」などの言葉をかけてください。
それぞれの言葉は独立しています。「たって」と「ついてきて」を同時に
言うと立ちながらあなたについてきます。
「まわって」と「ついてきて」を同時に言うと予期しない方へ行くので、
気をつけてください。この時は「ストップ」と叫びましょう。
普通にしゃべるとあなたの声は20mしか届きません。源さんが20m以上離れ
ている場合は、CTRL+RETURNキーで叫んで源さんに声をかけましょう。
「このオブジェクトの主な関数を教えてください」
源さんは非物理モードと物理モードに分かれています。
エンジンを停止している場合は非物理モード、エンジンを動作させている
ときは物理モードになります。
非物理モードのときは以下の関数を使用しています。
llSetPos
llGetPos
llSetRot
物理モードのときは以下の関数を使用しています。
llApplyImpulse
llSetVehicleFlags
llSetVehicleType
llSetVehicleFloatParam
llSetVehicleVectorParam
その他、モードに関係なく以下の関数を使用しています。
llSetStatus
llMessageLinked
llRotBetween
llRot2Euler
llEuler2Rot
llSensorRepeat
llSensorRemove
llSetTimerEvent
llGetOwner
llFabs
llVecDist
llGetVel
llParseString2List
llList2String
llList2Float
llList2Integer
llGetListLength
llSay
llOwnerSay
llSetText
llListen
llSitTarget
llSetCameraEyeOffset
llSetCameraAtOffset
llResetScript
llGetFreeMemory
llPushObject
llGetMass
llGetObjectMass
llAvatarOnSitTarget
llRequestPermissions
llTakeControls
llReleaseControls
llStartAnimation
llStopAnimation
llSleep
llDetectedPos
llPlaySound
llPreloadSound
llLoopSound
llGetNotecardLine
llUnescapeURL
llParticleSystem
源さんはまだ実験段階のバギーです。今もみんなが驚くようないく
つかの新機能を追加し、問題点の修正を行っています。
わたしはまだお店を出していませんがもう少ししたら
「Lafee's A la carte」(ラフィーズアラカルト)
という名前のお店を出します。そのお店で源さんの正式版を販売
する予定です(源さんの家族も増やす予定です)。
どうぞよろしくお願いします^^
Lafeel Furse
すごおお~い関数の数!
しかも色々出来そう!
とこれを見たとき思いました。
またあとで取り上げた時に詳細はカキコしますね。
さてもうひとつ
これって?
メーヴェじゃん!
やはり展示なので飛べませんでした。ザンネン><。
のーと、のーと!
名前
Mowe Kite
操作方法
start とキーをタイプするとエンジンが始動します。
stop とキーをタイプするとエンジンが止まります。
上昇---PageUp 下降---PageDown
前後左右---←↑↓→キー
機能
上昇、下降、後退で翼のエルロンが稼働し進行方向によって搭乗体勢が変わります。
主な関数
メインは一般的に使われているVehicleスクリプトです。
翼のエルロンやPOSEの変更を行うために移動キーをきっかけに
llMessageLinkedを使ってそれぞれの動作を指示しています。
エルロン稼働にはllSetLocalRot、POSE変更にはllStartAnimationを使っています。
POSE変更の際に次のPOSEとの間に中間の動作を入れる事で自然な動きを出したつもりです^^
Peel Bearat
う~む、これもほしいかもw
にしても乗り物系はすっごく複雑そうです。
こんな境地にいつかはたどり着けるのかしら?
もしいけたらMINIつくってのりたいな~。
ではまた~~
2007年11月02日
LSLコンベンションその14
TERRA Zehetbauerです。
こんなにオベンキョーしてるのにいまだレベルの低いスクリプターもどきですw
そもそも理系科目は苦手だったりするのになんで手を出しちゃったんだろ~?^^;
さて今回は

なんと、順番に選んでいくとスクリプトが作れちゃう優れもの!
ということでやってみました。で、出来たスクリプトがこれ。
8:17] source:
llParticleSystem([
PSYS_PART_FLAGS,PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK
|PSYS_PART_WIND_MASK|PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_PART_START_COLOR, <1.00,1.00,1.00>,
PSYS_PART_END_COLOR, <1.00,1.00,1.00>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 0.3,
PSYS_PART_START_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_END_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_MAX_AGE, 4.0,
PSYS_SRC_ACCEL, <0.0,0.0,-0.2>,
PSYS_SRC_TEXTURE, "",
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_ANGLE_BEGIN, 0*DEG_TO_RAD,
PSYS_SRC_ANGLE_END, 40*DEG_TO_RAD,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 1.5,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.1,
PSYS_SRC_MAX_AGE, 0.0 ,
PSYS_SRC_OMEGA, <0.0,0.0,0.0> ]);
[8:17] source:
llParticleSystem([
PSYS_PART_FLAGS,PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK
|PSYS_PART_WIND_MASK|PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_PART_START_COLOR, <1.00,1.00,1.00>,
PSYS_PART_END_COLOR, <1.00,1.00,1.00>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 0.3,
PSYS_PART_START_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_END_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_MAX_AGE, 4.0,
PSYS_SRC_ACCEL, <0.0,0.0,-0.2>,
PSYS_SRC_TEXTURE, "",
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_ANGLE_BEGIN, 0*DEG_TO_RAD,
PSYS_SRC_ANGLE_END, 40*DEG_TO_RAD,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 1.5,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.1,
PSYS_SRC_MAX_AGE, 0.0 ,
PSYS_SRC_OMEGA, <0.0,0.0,0.0> ]);
雪のようなものが降ります。
数字をいじれば変えられますね。
さてノートを見ましょう。
「オブジェクト名前」
簡易パーティクルジェネレーター(試作品)
「機能及び操作方法を教えてください」
ボタンをぽちぽちするだけで、リアルタイムに変化を見ながら簡単にパーティクルが作れます^^
できるだけ簡単に扱えるようにしてあるので、細かい数値は入れられないのですが、だいたいの大まかな形はできると思います。
ソース書き出しもできますので、そのままコピーして持って帰ることも可能です^^
業界初(?)おやつ生成機能付き!
「このオブジェクトの主な関数を教えてください」
メッセージリンクでパラメーターを渡してllParticleSystemを書き換えてます。
簡単なので、根気があれば誰でも作れると思います;
<書き出したソースの使い方>
オブジェクトを作成
↓
コンテンツタブを選択
↓
新しいスクリプトをクリック
↓
できた New Script を開いて
--------------------------------
default
{
state_entry()
{
//// この部分にllParticleSystem([~略~ を入れてください /////
}
}
--------------------------------
上記の部分に「ソース書き出し」ででてきたソースを書き込んで保存してください。
--------------
llSay(0, "Hello, Avatar!"); や
--------------
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
---------------
は削除してもかまいません。
製作:Achamo Paine
お店にも常時展示してますので、いつでもお使いください^^
ということです。
スクリプトが直接いじれなくても出来ちゃう親切設計w
さて、もうひとつ行きましょう。

ノートをみましょー
■「オブジェクト名前」
書き割りアニメ
■「機能及び操作方法を教えてください」
・スクリプトを使ったテクスチャアニメーションです。
■「このオブジェクトの主な関数を教えてください」
・llSetTextureAnimでアニメーションさせています。
・サーバー側のテクスチャデータ自体を書き換えるのではなく、クライアント側でテクスチャ内の表示位置を変えているだけなので高速で自然な動作が可能になります。
・使っているテクスチャ画像は、2体合わせて後ろに掲示してある1枚だけです。
というものでした。サーバーの負荷がかからないのはいいですよね。
最近重い場所多いですしw
今回はこれにて。
こんなにオベンキョーしてるのにいまだレベルの低いスクリプターもどきですw
そもそも理系科目は苦手だったりするのになんで手を出しちゃったんだろ~?^^;
さて今回は
なんと、順番に選んでいくとスクリプトが作れちゃう優れもの!
ということでやってみました。で、出来たスクリプトがこれ。
8:17] source:
llParticleSystem([
PSYS_PART_FLAGS,PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK
|PSYS_PART_WIND_MASK|PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_PART_START_COLOR, <1.00,1.00,1.00>,
PSYS_PART_END_COLOR, <1.00,1.00,1.00>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 0.3,
PSYS_PART_START_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_END_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_MAX_AGE, 4.0,
PSYS_SRC_ACCEL, <0.0,0.0,-0.2>,
PSYS_SRC_TEXTURE, "",
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_ANGLE_BEGIN, 0*DEG_TO_RAD,
PSYS_SRC_ANGLE_END, 40*DEG_TO_RAD,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 1.5,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.1,
PSYS_SRC_MAX_AGE, 0.0 ,
PSYS_SRC_OMEGA, <0.0,0.0,0.0> ]);
[8:17] source:
llParticleSystem([
PSYS_PART_FLAGS,PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK
|PSYS_PART_WIND_MASK|PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_PART_START_COLOR, <1.00,1.00,1.00>,
PSYS_PART_END_COLOR, <1.00,1.00,1.00>,
PSYS_PART_START_ALPHA, 1.0,
PSYS_PART_END_ALPHA, 0.3,
PSYS_PART_START_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_END_SCALE, <0.100000, 0.100000, 0.000000>,
PSYS_PART_MAX_AGE, 4.0,
PSYS_SRC_ACCEL, <0.0,0.0,-0.2>,
PSYS_SRC_TEXTURE, "",
PSYS_SRC_BURST_RATE, 0.1,
PSYS_SRC_ANGLE_BEGIN, 0*DEG_TO_RAD,
PSYS_SRC_ANGLE_END, 40*DEG_TO_RAD,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 1.5,
PSYS_SRC_BURST_SPEED_MIN, 0.0,
PSYS_SRC_BURST_SPEED_MAX, 0.1,
PSYS_SRC_MAX_AGE, 0.0 ,
PSYS_SRC_OMEGA, <0.0,0.0,0.0> ]);
雪のようなものが降ります。
数字をいじれば変えられますね。
さてノートを見ましょう。
「オブジェクト名前」
簡易パーティクルジェネレーター(試作品)
「機能及び操作方法を教えてください」
ボタンをぽちぽちするだけで、リアルタイムに変化を見ながら簡単にパーティクルが作れます^^
できるだけ簡単に扱えるようにしてあるので、細かい数値は入れられないのですが、だいたいの大まかな形はできると思います。
ソース書き出しもできますので、そのままコピーして持って帰ることも可能です^^
業界初(?)おやつ生成機能付き!
「このオブジェクトの主な関数を教えてください」
メッセージリンクでパラメーターを渡してllParticleSystemを書き換えてます。
簡単なので、根気があれば誰でも作れると思います;
<書き出したソースの使い方>
オブジェクトを作成
↓
コンテンツタブを選択
↓
新しいスクリプトをクリック
↓
できた New Script を開いて
--------------------------------
default
{
state_entry()
{
//// この部分にllParticleSystem([~略~ を入れてください /////
}
}
--------------------------------
上記の部分に「ソース書き出し」ででてきたソースを書き込んで保存してください。
--------------
llSay(0, "Hello, Avatar!"); や
--------------
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
---------------
は削除してもかまいません。
製作:Achamo Paine
お店にも常時展示してますので、いつでもお使いください^^
ということです。
スクリプトが直接いじれなくても出来ちゃう親切設計w
さて、もうひとつ行きましょう。
ノートをみましょー
■「オブジェクト名前」
書き割りアニメ
■「機能及び操作方法を教えてください」
・スクリプトを使ったテクスチャアニメーションです。
■「このオブジェクトの主な関数を教えてください」
・llSetTextureAnimでアニメーションさせています。
・サーバー側のテクスチャデータ自体を書き換えるのではなく、クライアント側でテクスチャ内の表示位置を変えているだけなので高速で自然な動作が可能になります。
・使っているテクスチャ画像は、2体合わせて後ろに掲示してある1枚だけです。
というものでした。サーバーの負荷がかからないのはいいですよね。
最近重い場所多いですしw
今回はこれにて。
2007年11月02日
LSLコンベンションその13
TERRA Zehetbauerです。
いまさらですが、頂いたノートカードを断りもなくばんばんUPしちゃってますがまづいかしら?@@
心配になったりしつつ、今回はこちら。(ダメでしたら御連絡下さい^^;)

このボードはテクスチャーが変わっていきます。
こりずにノートをみましょうw
「オブジェクト名前」
Jaken's Photograph Viewer
「機能及び操作方法を教えてください」
・機能
親プリムにテクスチャを入れると、自動で読み込み、上部パネルにサムネイル状に表示して見ることができます。また、さらに拡大してみることもできます。
・操作方法
1.親プリムにテクスチャを入れる必要があります。
このとき、親プリムにテクスチャを張るのではなく、プリムのコンテナにドラッグして入れます。
○親プリムを右クリックして、パイメニューから「開く」
(商品を買ったときは、よく取り出しますが、ここでは逆に入れます)
または
○親プリムを右クリックして、パイメニューから「編集」
→「コンテ」と書かれたTABを開き、そこへドラッグして入れます。
現在は25枚まで対応してます。
2.親プリムをタッチします。
テクスチャの数にあわせて、パネルが最大5枚飛び出します。
テクスチャが表示されない場合は、テクスチャにコピー権限がないと思いますので、
権限があるものを入れてください。
3.パネルをタッチすると、拡大します。
拡大して見やすくなります。おなじパネルをタッチすると元に戻り、
違うパネルをタッチすると、それが最全面にでてきて拡大表示します。
「このオブジェクトの主な関数を教えてください」
親プリムでは、
llGetInventoryNumber、llGetInventoryKey、llGetInventoryNameを使って、
プリムに入っているテクスチャを抽出してます。
また、llMessageLinkedを使って子プリムに表示指示を出しています。
子プリムでは、
llSetPrimitiveParamsで変形やテクスチャの貼り付けを行い、
llSetTextで上部Pageの表示をしてます。
まだまだ作りかけ状態で、今後、ひとつ選択ができるようにし、ベンダーなどにも発展できるかと思ってます。
こういうベンダーがあったら見やすいかも。
そのうち出回りだしそうですね。
さて次は

目玉にみつめられてます。ちょっとこわい^^;
のーとみましょー!ノート!
「オブジェクト名前」
見つめる瞳(達)
「機能及び操作方法を教えてください」
ずっと目の化け物?がこっちを見つづけるというだけです。
こいつが24個そろうと「24の瞳」になります(笑)
http://harayoki.slmame.com/e4108.html
「このオブジェクトの主な関数を教えてください」
llParticleSystemを用い、その場で動かない
大きなパーティクルを表示しているだけです。
特殊な使い方なので、llMessageLinkedで操作できる形にまとめてあります。
ここに解説があります。
http://harayoki.slmame.com/e4414.html
※蛇足ですが、看板も同じ仕組みにしてみました(笑)
むしろそっちの使い道の方が面白いかも?
だそうです。発想力ですね。
さて、もうひとついっちゃいましょー
こちらです。

車窓が動いていました。
さてのーとはこちら。
「オブジェクト名前」
思いつきオブジェNo.00323 「癒しSL」
「機能及び操作方法」
度重なる残業や心身の疲労時にイスにSitし、車窓を延々眺めます。
疲れが無い時は効果が薄いと思われます。
「このオブジェクトの主な関数」
llSetTextureAnimおんりーです。
もう少し凝ったスクリプトで
出発アナウンス~加速~駅通過~減速~到着シーン などを再現しても
面白いかもしれません。
妄想しだすと止まりませんが
電○でGOみたいな体感施設とかパイロットな気分になれるアレとか
体験施設を色々作ってみたいですね><
ということです。
llSetTextureAnimはあちこちで使われてますね。
ではまた次回。
いまさらですが、頂いたノートカードを断りもなくばんばんUPしちゃってますがまづいかしら?@@
心配になったりしつつ、今回はこちら。(ダメでしたら御連絡下さい^^;)
このボードはテクスチャーが変わっていきます。
こりずにノートをみましょうw
「オブジェクト名前」
Jaken's Photograph Viewer
「機能及び操作方法を教えてください」
・機能
親プリムにテクスチャを入れると、自動で読み込み、上部パネルにサムネイル状に表示して見ることができます。また、さらに拡大してみることもできます。
・操作方法
1.親プリムにテクスチャを入れる必要があります。
このとき、親プリムにテクスチャを張るのではなく、プリムのコンテナにドラッグして入れます。
○親プリムを右クリックして、パイメニューから「開く」
(商品を買ったときは、よく取り出しますが、ここでは逆に入れます)
または
○親プリムを右クリックして、パイメニューから「編集」
→「コンテ」と書かれたTABを開き、そこへドラッグして入れます。
現在は25枚まで対応してます。
2.親プリムをタッチします。
テクスチャの数にあわせて、パネルが最大5枚飛び出します。
テクスチャが表示されない場合は、テクスチャにコピー権限がないと思いますので、
権限があるものを入れてください。
3.パネルをタッチすると、拡大します。
拡大して見やすくなります。おなじパネルをタッチすると元に戻り、
違うパネルをタッチすると、それが最全面にでてきて拡大表示します。
「このオブジェクトの主な関数を教えてください」
親プリムでは、
llGetInventoryNumber、llGetInventoryKey、llGetInventoryNameを使って、
プリムに入っているテクスチャを抽出してます。
また、llMessageLinkedを使って子プリムに表示指示を出しています。
子プリムでは、
llSetPrimitiveParamsで変形やテクスチャの貼り付けを行い、
llSetTextで上部Pageの表示をしてます。
まだまだ作りかけ状態で、今後、ひとつ選択ができるようにし、ベンダーなどにも発展できるかと思ってます。
こういうベンダーがあったら見やすいかも。
そのうち出回りだしそうですね。
さて次は
目玉にみつめられてます。ちょっとこわい^^;
のーとみましょー!ノート!
「オブジェクト名前」
見つめる瞳(達)
「機能及び操作方法を教えてください」
ずっと目の化け物?がこっちを見つづけるというだけです。
こいつが24個そろうと「24の瞳」になります(笑)
http://harayoki.slmame.com/e4108.html
「このオブジェクトの主な関数を教えてください」
llParticleSystemを用い、その場で動かない
大きなパーティクルを表示しているだけです。
特殊な使い方なので、llMessageLinkedで操作できる形にまとめてあります。
ここに解説があります。
http://harayoki.slmame.com/e4414.html
※蛇足ですが、看板も同じ仕組みにしてみました(笑)
むしろそっちの使い道の方が面白いかも?
だそうです。発想力ですね。
さて、もうひとついっちゃいましょー
こちらです。
車窓が動いていました。
さてのーとはこちら。
「オブジェクト名前」
思いつきオブジェNo.00323 「癒しSL」
「機能及び操作方法」
度重なる残業や心身の疲労時にイスにSitし、車窓を延々眺めます。
疲れが無い時は効果が薄いと思われます。
「このオブジェクトの主な関数」
llSetTextureAnimおんりーです。
もう少し凝ったスクリプトで
出発アナウンス~加速~駅通過~減速~到着シーン などを再現しても
面白いかもしれません。
妄想しだすと止まりませんが
電○でGOみたいな体感施設とかパイロットな気分になれるアレとか
体験施設を色々作ってみたいですね><
ということです。
llSetTextureAnimはあちこちで使われてますね。
ではまた次回。
2007年11月01日
LSLコンベンションその12
TERRA Zehetbauerです。
もう頭がスクリプトでいっぱいです。あふれだしてます。。。
さて、今回は

黒い球体です。なかを見ると

星空でした。ノートをみましょー。
◇オブジェクト名
Star Field
◇機能及び操作方法を教えてください
見るだけですよ
是非中に入って立体的な星空間を体験してください
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、だけです。
特殊な関数は一切使っていません。
これだけ。。。
でもきれいです。
さて次いきましょー

この箱から中身をGET。
そうちゃくしてみると・・・

おおっ?オーラが!

ぬおおぉぉぉ!!

スーパーサイヤ人と化してますw
さてノートはど~なってるの?
◇オブジェクト名
Aura Series
◇機能及び操作方法を教えてください
wereすることによってパーティクルをまといます。どこかで見たようなエフェクトだらけですが。
下記の「◇内容」の項の番号と箱の番号は一致しています。欲しい番号の箱をクリックし、「BUY」あるいは「買う」を押して頂ければ入手することが出来ます。
もちろん料金はかかりません。ご自由にお持ちください。
◇内容
オーラシリーズ No.1 ノーマル
出展: オリジナル
特にドラゴンボールを意識したわけではなく、「体から立ち上るオーラっぽいもの」を作ろうとしただけ。ハンター×ハンターの念でも忍空の勝身煙でもOK
オーラシリーズ No.2 レッド
出展: ドラゴンボールシリーズ
びみょーに使いどころが難しい界王拳風オーラ。
オーラシリーズ No.3 スーパー
出展: ドラゴンボールシリーズ
文句なしに一番人気のスーパーサイヤ人オーラ。着るときは「○○(人名)のことかーっ!!」などと叫んでみましょう(笑
オーラシリーズ No.4 ダーク
出展: オリジナル
黒魔法詠唱のイメージ。足元から紫色の光が立ち上ります
オーラシリーズ No.5 イービル
出展: オリジナル
全身・是・悪。黒いオーラで全身が覆われます。ちょっと濃すぎて中の人が見えないのが難点(^^;
オーラシリーズ No.6 ライトサイド風後光
出展: オリジナル
後光シリーズ第一弾。普通の後光。ちょっとまぶしすぎますね
オーラシリーズ No.7 ダークサイド風後光
出展: オリジナル
後光シリーズ第二弾。ダークサイドのかほりがぷんぷんします。基本的にNo.6の色違いバージョン
オーラシリーズ No.8 コンパクト後光
出展: オリジナル
後光シリーズ最終弾。シンプルなリング状の後光。よく見るとゆらゆらと揺らいでいるのが分かると思います。
オーラシリーズ No.9 冷気
出展: オリジナル
まるでドライアイスのような冷気が足元から立ち上ります。風に吹かれて流れていくので周りに気をつけましょう
オーラシリーズ No.10 ザワ
出展: 勝負師伝説「哲也」
伝説の勝負師・・・の周囲の環境が勝負に反応して発生する「雰囲気」です(笑
オーラシリーズ No.11 ゴゴゴ
出展: JOJOの奇妙な冒険シリーズ
もはや説明不要なほど有名な「ゴゴゴ」オーラ。これも雰囲気系パーティクルですね
オーラシリーズ No.12 ドドゴゴ
出展: JOJOの奇妙な冒険シリーズ
一定以上のスピードで動くと同シリーズ中で有名な「ドドド」と「ゴゴゴ」を発生します。低速では「ドドド」、高速では「ゴゴゴ」です
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、だけです。
特殊な関数は一切使っていません。
いや~~~、マニアな作者さんですw
楽しませていただきましたww
もう頭がスクリプトでいっぱいです。あふれだしてます。。。
さて、今回は
黒い球体です。なかを見ると
星空でした。ノートをみましょー。
◇オブジェクト名
Star Field
◇機能及び操作方法を教えてください
見るだけですよ
是非中に入って立体的な星空間を体験してください
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、だけです。
特殊な関数は一切使っていません。
これだけ。。。
でもきれいです。
さて次いきましょー
この箱から中身をGET。
そうちゃくしてみると・・・
おおっ?オーラが!
ぬおおぉぉぉ!!
スーパーサイヤ人と化してますw
さてノートはど~なってるの?
◇オブジェクト名
Aura Series
◇機能及び操作方法を教えてください
wereすることによってパーティクルをまといます。どこかで見たようなエフェクトだらけですが。
下記の「◇内容」の項の番号と箱の番号は一致しています。欲しい番号の箱をクリックし、「BUY」あるいは「買う」を押して頂ければ入手することが出来ます。
もちろん料金はかかりません。ご自由にお持ちください。
◇内容
オーラシリーズ No.1 ノーマル
出展: オリジナル
特にドラゴンボールを意識したわけではなく、「体から立ち上るオーラっぽいもの」を作ろうとしただけ。ハンター×ハンターの念でも忍空の勝身煙でもOK
オーラシリーズ No.2 レッド
出展: ドラゴンボールシリーズ
びみょーに使いどころが難しい界王拳風オーラ。
オーラシリーズ No.3 スーパー
出展: ドラゴンボールシリーズ
文句なしに一番人気のスーパーサイヤ人オーラ。着るときは「○○(人名)のことかーっ!!」などと叫んでみましょう(笑
オーラシリーズ No.4 ダーク
出展: オリジナル
黒魔法詠唱のイメージ。足元から紫色の光が立ち上ります
オーラシリーズ No.5 イービル
出展: オリジナル
全身・是・悪。黒いオーラで全身が覆われます。ちょっと濃すぎて中の人が見えないのが難点(^^;
オーラシリーズ No.6 ライトサイド風後光
出展: オリジナル
後光シリーズ第一弾。普通の後光。ちょっとまぶしすぎますね
オーラシリーズ No.7 ダークサイド風後光
出展: オリジナル
後光シリーズ第二弾。ダークサイドのかほりがぷんぷんします。基本的にNo.6の色違いバージョン
オーラシリーズ No.8 コンパクト後光
出展: オリジナル
後光シリーズ最終弾。シンプルなリング状の後光。よく見るとゆらゆらと揺らいでいるのが分かると思います。
オーラシリーズ No.9 冷気
出展: オリジナル
まるでドライアイスのような冷気が足元から立ち上ります。風に吹かれて流れていくので周りに気をつけましょう
オーラシリーズ No.10 ザワ
出展: 勝負師伝説「哲也」
伝説の勝負師・・・の周囲の環境が勝負に反応して発生する「雰囲気」です(笑
オーラシリーズ No.11 ゴゴゴ
出展: JOJOの奇妙な冒険シリーズ
もはや説明不要なほど有名な「ゴゴゴ」オーラ。これも雰囲気系パーティクルですね
オーラシリーズ No.12 ドドゴゴ
出展: JOJOの奇妙な冒険シリーズ
一定以上のスピードで動くと同シリーズ中で有名な「ドドド」と「ゴゴゴ」を発生します。低速では「ドドド」、高速では「ゴゴゴ」です
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、だけです。
特殊な関数は一切使っていません。
いや~~~、マニアな作者さんですw
楽しませていただきましたww
2007年11月01日
LSLコンベンションその11
TERRA Zehetbauerです。
今回はこれからです。

いろんな光り方してます。これもパーティクルですね。
さての~とです。。。
◇オブジェクト名
Particle Light Samples
◇機能及び操作方法を教えてください
見るだけですw
これはダンスホールなどに使うランダムカラーライトのための作品です
◇配置
567
4 8
321
No.1:標準型のパーティクル
No.2:外から内へ収縮するパーティクル
No.3:内から外へ放射するパーティクル
No.4:テクスチャを貼ったパーティクル
No.5:雷の放電をイメージしたパーティクル
No.6:5番と同じテクスチャで収縮をイメージしたパーティクル
No.7:CDの裏側テクスチャの方向をランダムに変更するパーティクル
No.8:発生源から半径1mにランダムに光球を発生させるパーティクル
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、llFrand()
工夫次第でいろんなのがつくれそうです。
さて次は、、

でました!花火!

上空にあるこの会場がちょうど雲に近く花火が雲に隠れてしまいましたw
さて、注目のノートです。
「オブジェクト名」
Fireworks - 打ち上げ花火
「機能及び操作方法を教えてください」
打ち上げ花火を行うオブジェクトです。複数の発射台を1個のスイッチで制御できます。
操作方法(全てボタンをタッチ):
ON/OFFボタン:ON/OFFの切替
「このオブジェクトの主な関数を教えてください」
発射台側
llRezObject:花火玉を生成する
llPlaySound:効果音を再生する
llListen:リモコン操作受付
花火玉側
llParticleSystem:花火パーティクルの設定
llFrand:発射方向などをランダムにする
llSetPrimitiveParams:物理属性、一時生成属性などを付与する
打ち上げ花火を表現するためには
・花火の玉を生成し、
・物理等によって上空へ打ち上げ、
・花火を開花させるために複数のパーティクルを制御する
必要があります。
提供:
===============================
株式会社スタートラッカー
Lionas Watanabe
http://startracker.jp/
===============================
なるほど、こんな風になっていたのですね。複雑そうです。
まあ、花火はKAZE,SOLAの島では花火師Syunpooさんにおまかせです!
今回はこれからです。
いろんな光り方してます。これもパーティクルですね。
さての~とです。。。
◇オブジェクト名
Particle Light Samples
◇機能及び操作方法を教えてください
見るだけですw
これはダンスホールなどに使うランダムカラーライトのための作品です
◇配置
567
4 8
321
No.1:標準型のパーティクル
No.2:外から内へ収縮するパーティクル
No.3:内から外へ放射するパーティクル
No.4:テクスチャを貼ったパーティクル
No.5:雷の放電をイメージしたパーティクル
No.6:5番と同じテクスチャで収縮をイメージしたパーティクル
No.7:CDの裏側テクスチャの方向をランダムに変更するパーティクル
No.8:発生源から半径1mにランダムに光球を発生させるパーティクル
◇このオブジェクトの主な関数を教えてください
llParticleSystem()、llFrand()
工夫次第でいろんなのがつくれそうです。
さて次は、、
でました!花火!
上空にあるこの会場がちょうど雲に近く花火が雲に隠れてしまいましたw
さて、注目のノートです。
「オブジェクト名」
Fireworks - 打ち上げ花火
「機能及び操作方法を教えてください」
打ち上げ花火を行うオブジェクトです。複数の発射台を1個のスイッチで制御できます。
操作方法(全てボタンをタッチ):
ON/OFFボタン:ON/OFFの切替
「このオブジェクトの主な関数を教えてください」
発射台側
llRezObject:花火玉を生成する
llPlaySound:効果音を再生する
llListen:リモコン操作受付
花火玉側
llParticleSystem:花火パーティクルの設定
llFrand:発射方向などをランダムにする
llSetPrimitiveParams:物理属性、一時生成属性などを付与する
打ち上げ花火を表現するためには
・花火の玉を生成し、
・物理等によって上空へ打ち上げ、
・花火を開花させるために複数のパーティクルを制御する
必要があります。
提供:
===============================
株式会社スタートラッカー
Lionas Watanabe
http://startracker.jp/
===============================
なるほど、こんな風になっていたのですね。複雑そうです。
まあ、花火はKAZE,SOLAの島では花火師Syunpooさんにおまかせです!
2007年11月01日
LSLコンベンションその10
TERRA Zehetbauerです。
やっと折り返し地点に来たような…^^;
さて今回は

視覚コーナーです。なにがみれるんでしょー。

模様が書けます。ノートです。
「64マスドット絵メーカー」
<使い方>
ノートカードに64マスに相当する1と0の絵を描きます。
01111110
10111101
11011011
11100111
11100111
11011011
10111101
01111110
こういう感じで書きます。これを本体のコンテンツにいれます。
そうすると、ボード上で黒と白のテクスチャーとして表示します。
ノートカードを複数保持させて、ドット絵を切り替えることもできます。
また、ランダムに切り替えて表示できるので、壁掛けにもいいかもしれません。
主な関数としては、
llSetTexture()で画像を読み込ませます。
あとは、ノートカードの読み込みに
dataserver()
llGetNotecardLine()
を使ってます。
ノートカードにデータをもたせています。
データとロジックを切り離して管理していてシステム工学的の基本らしいです。
(システム工学よくしらない^^;)
さて、突っ込まれる前に次に行きましょー^^

雪が降るそうです。SSとり忘れたのでノートだけでゆるしてくださいっ><
「オブジェクト名」
Snow Fantasy
「機能及び操作方法を教えてください」
HUD(ヘッドアップディスプレイ)型のリモコンで操作する携帯型降雪機です。
身につける事で、いつも自分の周囲に雪を降らせることができます。
操作方法(全てボタンをタッチ):
ON/OFFボタン:ON/OFFの切替
Speedボタン:降雪速度の設定
Amountボタン:降雪量の設定
Heightボタン:降雪開始高度の設定
(高くするとその分幅広く降雪しますが、自身の周囲には降りにくくなります)
「このオブジェクトの主な関数を教えてください」
llParticleSystem:パーティクルの設定
llListen:リモコン操作受付
llDialog:各種設定ダイアログの表示
このようなリモコンを作成する場合、コマンドに送信者名等を入れるなどして、
複数の使用者がいる場合に混信を起こさないテクニックが必要になります。
提供:
===============================
株式会社スタートラッカー
Lionas Watanabe
http://startracker.jp/
===============================
という商品化されたもののようです。
パーティクルなので数値をいじればいろんな状態で降らせられそうw
今回はこれにて
やっと折り返し地点に来たような…^^;
さて今回は
視覚コーナーです。なにがみれるんでしょー。
模様が書けます。ノートです。
「64マスドット絵メーカー」
<使い方>
ノートカードに64マスに相当する1と0の絵を描きます。
01111110
10111101
11011011
11100111
11100111
11011011
10111101
01111110
こういう感じで書きます。これを本体のコンテンツにいれます。
そうすると、ボード上で黒と白のテクスチャーとして表示します。
ノートカードを複数保持させて、ドット絵を切り替えることもできます。
また、ランダムに切り替えて表示できるので、壁掛けにもいいかもしれません。
主な関数としては、
llSetTexture()で画像を読み込ませます。
あとは、ノートカードの読み込みに
dataserver()
llGetNotecardLine()
を使ってます。
ノートカードにデータをもたせています。
データとロジックを切り離して管理していてシステム工学的の基本らしいです。
(システム工学よくしらない^^;)
さて、突っ込まれる前に次に行きましょー^^
雪が降るそうです。SSとり忘れたのでノートだけでゆるしてくださいっ><
「オブジェクト名」
Snow Fantasy
「機能及び操作方法を教えてください」
HUD(ヘッドアップディスプレイ)型のリモコンで操作する携帯型降雪機です。
身につける事で、いつも自分の周囲に雪を降らせることができます。
操作方法(全てボタンをタッチ):
ON/OFFボタン:ON/OFFの切替
Speedボタン:降雪速度の設定
Amountボタン:降雪量の設定
Heightボタン:降雪開始高度の設定
(高くするとその分幅広く降雪しますが、自身の周囲には降りにくくなります)
「このオブジェクトの主な関数を教えてください」
llParticleSystem:パーティクルの設定
llListen:リモコン操作受付
llDialog:各種設定ダイアログの表示
このようなリモコンを作成する場合、コマンドに送信者名等を入れるなどして、
複数の使用者がいる場合に混信を起こさないテクニックが必要になります。
提供:
===============================
株式会社スタートラッカー
Lionas Watanabe
http://startracker.jp/
===============================
という商品化されたもののようです。
パーティクルなので数値をいじればいろんな状態で降らせられそうw
今回はこれにて