ソラマメブログ

このblogについて

はじめに

当blogのコンテンツはBlackSheep-LSL@Wikiに順次移行中です。 最新記事はBlackSheep-LSL@Wikiのほうに掲載されますのでご注意下さい。

このblogでは主にセカンドライフのスクリプト(LSL)について解説してます。
特に「何かやってみたいのだけれども、何をどうしていいのか」わからない方に向けて、なるべく初歩的なところからLSLについて説明を試みています。
LSLの考え方や作り方を理解し、「面白いな~」と思った方がさらに高度なものを作り出すための足がかりにでもなれば幸いです。

なお、掲載しているスクリプトや情報については、素人仕事ですので、記述ミスや勘違いなどが無いとは言えません。
間違いに気づいた方はご指摘下さると助かります。
また、特に断りがない限りは掲載のコードはフリーのサンプルです。
自由に利用して実用化・商品化していただいて構いませんが、動作を保証するものではありませんので十分にテスト等行って下さい。

リンク等はご自由になさって結構です。
トラックバックについてもスクリプト利用例や実際に試してみた結果レポート等、基本的に歓迎しますが、あまりにも記事の内容と関連のないものはご遠慮下さい。
特に単なる集客目的で言及リンクもないようなトラックバックについては削除する場合があります。

記事の内容についてご質問がある場合はご遠慮なくコメントをつけていただいて構いませんが、似たような質問の検索や記事とは無関係な疑問などにも対応できるよう、BBSを用意しました。どうぞ活用して下さい
なお、質問の回答として「そのまま動くサンプルコードを教える」ことは稀だと思ってください(^^;
最初の段階で私が回答するのは「考え方」「仕組み」である場合がほとんどです。
コードを提示するのは可能ですが、重要なのは「考え方」「仕組み」を理解することであり、そこが理解できなければ、いつまで経っても自分でスクリプトを組むことは出来ません。
サンプルコードをそのまま貼り付けて動かしても、自分で作った充実感は無いはずです。
やはり自力で作り上げる喜びを味わっていただきたいので(^^

主なコンテンツ

各コンテンツへは左メニューの「カテゴリ」よりお進み下さい。
記事は新しい順ですので、最初から読む場合はお手数ですが下からご覧下さい。
基礎知識・・・LSLに限らず、プログラミングにおける基本的な用語等の説明
初級スクリプト・・・実践的な例を挙げながらLSLの基本を解説した記事
リファレンス・・・LSLの関数及びイベントの辞典
スクリプト小技・・・中級者向けのちょっとしたノウハウ記事
Posted by Miz at 2007/6/27
    

  
Posted by at

2007年06月28日

リファレンス【D】

llD・・・から始まる関数のリファレンスです。  続きを読む

Posted by Miz at 13:50Comments(0)リファレンス

2007年06月26日

リファレンス【B~C】

llB・・・~llC・・・の関数リファレンスです。  続きを読む
タグ :衝突判定

Posted by Miz at 15:59Comments(3)リファレンス

2007年06月25日

スクリプトの書籍について

なんだかお腹の調子が悪いMizです。
昨夜食べたレッドホットチキンが辛かったせいかもしれません。

まあ、お腹はどうでもいいのですが、以前より何度か、あちこちの企業様より、
「スクリプトの本を書きませんか?」
という依頼を受けています。

全てお断りしているのですが、たびたび依頼があるのでここで今一度当blogのスタンスを明示しておきたいと思います。
  続きを読む

Posted by Miz at 17:08Comments(18)その他

2007年06月25日

リファレンス【A】

llA・・・から始まる関数のリファレンスです。  続きを読む

Posted by Miz at 15:50Comments(8)リファレンス

2007年06月18日

福岡・映画祭にて

こんにちは。軽い風邪から復帰したMizです。

土曜日は福岡にて映画祭がありました。
ドームの落成を記念したイベントの一環で、恐れながら私の作った「何でも屋吉兵衛」も上映させていただきました。
イベントに参加したのは初めての体験でしたが、たまには面白いものですね。
  続きを読む

Posted by Miz at 15:11Comments(2)出来事

2007年06月14日

近況報告

最近更新が滞っているMizです、こんばんは。

スクリプトの記事については、大事なことは一通り書いているので、
「これを書いておかなきゃー!」という危機感がなく、勝手に一段落しております(^^;

とは言っても、読み返してみると
「あちゃ・・・わかりにくいわァ・・・」
と思う箇所がいっぱいあったりするんですが(^^;
  続きを読む

Posted by Miz at 18:33Comments(5)SL

2007年06月06日

関数(lsl基礎知識 第五回)

今回は「関数」についてのお話です。
基礎知識の今までの記事の中でも何度か唐突に「関数」という言葉が出てきたかと思いますが、一体それは何なんだというところから話を始めたいと思います。  続きを読む

Posted by Miz at 12:12Comments(1)基礎知識

2007年05月31日

フロー制御(lsl基礎知識 第四回)

今回は「フロー制御」についてのお話です。
フロー制御というのは、条件によって実行するコードを変えたり、繰り返し処理を行ったりするものです。
また、lslにおいてはステート(状態)を変更することもフロー制御の一つに挙げられます。  続きを読む

Posted by Miz at 12:15Comments(11)基礎知識

2007年05月29日

リモートロード

基本的な記事が続いているので、たまには中級者向けのスクリプトについても書いておこうと思います。
スクリプトのリモートロードについての記事です。

例えば・・・いろいろとスクリプトを駆使して面白い商品を作ったとします。
しかし、うっかり見落としていたバグやlslの仕様変更などで、欠陥商品になることも多々あります。
また、新たに機能を追加して、商品をバージョンアップするようなこともあるでしょう。
そのような時、すでに売れてしまった商品をどうしますか?

買ってくれた人全てを把握しておいて、新しい商品を送付するというのも、商売人としては誠意あるスタンスです。
ですが商品の数が増えてきたり、100個や200個が売れる人気商品ともなると、顧客をいちいち管理しておくことも難しくなってきます。
バグ対応やバージョンアップは何かと面倒な作業ですよね・・・。

そんなときに便利なのがスクリプトのリモートロードです。  続きを読む

2007年05月29日

演算子(lsl基礎知識 第三回)

今回は「演算子(えんざんし)」についてのお話です。
演算子というのは、「+」とか「-」とか、計算を行うための記号のことです。
ほとんどは算数と同じですので簡単に理解できますが、一部、プログラムに独特な考え方をするものもあります。  続きを読む

Posted by Miz at 12:15Comments(4)基礎知識

2007年05月25日

変数(lsl基礎知識 第二回)

今回は「変数」についてのお話です。
しばしばプログラミング解説書では「データを入れておく箱のようなもの」と説明される例のアレですw
変数については初級スクリプトの第五回でいきなり出てきて、ちょろっとだけ説明して終わりにしてあるので、ここではまとめて解説したいと思います。
  続きを読む
タグ :変数

Posted by Miz at 12:15Comments(7)基礎知識

2007年05月24日

スクリプト(lsl基礎知識 第一回)

初級スクリプトということでしばらくスクリプトについての記事を書いてきましたが、多くの方から感想や質問をいただきまして、予想以上の反響に驚いています。
そして感じたことは、やはりまだまだ「初めての人でもスクリプトに親しめるように」という点では十分ではないということです。
自分では意識して詳細に書いたつもりでも、どうしても専門的な用語をひょいひょいと使ってしまったり、基本的な概念についての説明が不十分だったりしているところがあるように思います。
ですので、具体的なスクリプトのコードからは少々離れた視点から、lslの基礎知識・基礎概念について改めて説明をしてみたいと思います。

本当に基礎的な話になりますので、実用的なコードを紹介するのは難しいと思いますが、読み物としてご参考になれば幸いです。
「初級スクリプト」と内容的に重複する部分もありますが、どうぞご容赦下さい。  続きを読む

Posted by Miz at 12:15Comments(4)基礎知識

2007年05月23日

Emailの送受信

久しぶりのスクリプトの記事です。
nyagos kiddさんから以下のような質問がありましたので、これに関連してEmail機能について書きたいと思います。

一つ教えて欲しいのですが、IMにより起動するスクリプトを作りたいと考えているのですがListenのチャンネルでそのような設定はあるのでしょうか?もしご存知でしたら教えてください
Posted by nyagos kidd at 2007年05月22日 00:46

  続きを読む
タグ :Email

2007年05月17日

取材に協力してくれる方

おかげさまで取材に協力して下さる方が見つかりました。
以下の募集は締め切りとさせていただきたいと思います。
ありがとうございました。
  続きを読む

Posted by Miz at 13:07Comments(4)SL

2007年05月14日

公開!猫物語

以前よりモソモソと製作を続けていた動画が完成しましたので公開いたします。
SL内でも流していますが、少々サイズが大きいためにラグが発生するようです(^^;

※「続き」にはFlash Movieが含まれます!再生すると音が鳴りますので、注意して下さい。  続きを読む

Posted by Miz at 10:34Comments(17)動画

2007年05月10日

鍵をかける

やもさんより質問いただいたスクリプトについて解説です。

やもさんからの質問
最近自分で服を作るようになり試着の為の更衣室を用意したのですが
ドアに鍵をかけるか、自分にしか開けられないドアするにはどのようにしたら良いのでしょうか?

これって結構ニーズのある話だと思います。
着替えの最中は裸になることも多く、やはり人に見られたくない場合がありますので・・・。

また、Kirさんからも関連のある質問をいただきました。

Kirさんからの質問
なんとか、オーナー限定にて動作するように改良したいのですが、

if (llDetectedKey(0) == llGetOwner()){
handle=llListen(channel, "", llGetOwner(), "");
これでしょうか?

あわせて見ていきましょう。  続きを読む

2007年05月10日

新天地

新しい土地を見つけました。
ノンゾーニングなプライベートランドです。
何をする・・・ってわけでもないのですが、現Makapuがだいぶ手狭になってきたし、より広いところで何か面白いことが出来れば良いな~程度の無計画さで購入することにしました(^^;
今までの楽器屋の売り上げと、グループメンバーMococoさんの資金を合わせれば、無理なく購入できる価格だったので、ある意味衝動買いみたいなものですw

MococoさんからL$を受け取り、私もSLExchangeから有り金全部おろしてきて、大金を手に新たな土地へ。
さくっと購入を済ませようとしたところ、購入予定の土地の上に人影がありました。

むむ・・・もしやこの人も土地を買おうとしているのでは??
あせりながら話しかけてみました。
  続きを読む

Posted by Miz at 11:46Comments(7)土地

2007年05月08日

lsl関数・イベント一覧

初級スクリプトが一段落ついたので、lslの関数とイベントの一覧を載せておきます。
関数・イベント名のリンク先はlsl wiki(英語)です。
概要の[参考]のところは当blogの関連記事へリンクしてあります。
カテゴリに関しては、ザックリと分類しなおしました。
中にはかなり乱暴なカテゴリになっているものもあります。
追々調整していきたいと思います・・・(__;

なお、数が多いためにどうしても記述ミスやリンクミスがあるかもしれません。
間違いに気づいた方は指摘していただけると助かります。  続きを読む

Posted by Miz at 16:32Comments(19)リファレンス

2007年05月08日

衝突判定(スクリプト初級第二十三回)

初級スクリプトとして触れておきたい事項も最後となりました。
最後に扱うのはオブジェクトの衝突についてです。

物理オブジェクトを扱いだすと、いろいろな場面で衝突判定をしたりするのですが、通常のオブジェクトにおける衝突判定も実は結構有用です。
例えば以前、センサーを利用した自動ドアを作りました。
あのスクリプトは衝突を用いて書き直すことが可能です。

衝突・・・なんていうと猛スピードで激突するイメージかもしれませんが、lslで言う衝突はもっと軽いものも含みます。
例えばアバターが歩いてきてオブジェクトを踏んだとき、それだけで衝突のイベントが起きるのです。
自動ドアの前にマットを用意しておいて、それを踏んだらドアが開く、という古典的な仕掛けが実現できます。

実際に衝突を使った自動ドアを作ってみましょう。
  続きを読む

2007年05月07日

カメラ制御(スクリプト初級第二十二回)

最後に衝突について説明して初級スクリプト講座を終えようと思っていたのですが、最近、カメラのコントロールが意外に面白い効果を出せることに気づいたので、今回はカメラの制御について書きたいと思います。
SLで言うところのカメラとは、「視点」のことです。

通常、SLの視点はユーザーが自由に動かすことができます。
ALTを押しながらアバターを左クリックすると、そのアバターに注目したりもできますね。
結構自由なカメラコントロールが許されていて、私のように趣味でムービーを作る者にとっては重宝しています。

スクリプトからカメラをコントロールする方法も用意されており、これがまたムービー作成には非常に便利です。
どういうことかと言うと、撮影用の椅子を用意しておき、そこに座ると必ず特定の位置に視点が定まるようにできるのです。
例えば建物の建設の様子などを定期的に定点撮影したい、などという場合にも使えます。
  続きを読む

Posted by Miz at 14:36Comments(4)初級スクリプト