ソラマメブログ
< 2024年04月 >
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
※カテゴリー別のRSSです
Mail

  
Posted by at

2007年05月11日

XML-RPC(12) まとめ

XML-RPC links


長くなったので、まとめます。
すでに12番目のエントリーですね。



XML-RPC(1) IEとSLで通信
XML-RPC(2) マイクさん
XML-RPC(3) web連携成功
XML-RPC(4) PHPソース
XML-RPC(5) 開く箱
XML-RPC(6) マイク富丘2世
XML-RPC(7) PHPソース2
XML-RPC(8) メインlslソース全体
XML-RPC(9) 演出ソース
XML-RPC(10) メイン処理
XML-RPC(11) モジュールソース
XML-RPC(12) まとめ

さてさて、SLでXML-RPCが扱えるのは非常に強力で魅力的な事だと思いますが
開発がSL内ですまなくなったり、サーバ負荷の問題があったり
やり取りできるxmlのデータ量が少なすぎたり、未実装部分が多々あるようだったり...。
なかなか敷居が高いなあ、とは思ってしまいます。

しかしながら、まだまだ可能性はたくさん眠っていそうです。
今回は簡単なhtml上の入力をSL内で表現するサンプルを作りましたが、
XML-RPCを受信した時に逆にSL内の様子をhtmlに伝える事もできますし、
Adobe Flashなどと連携をとれば相当面白いことができそうに思います。

llHTTPRequestとともに、使いこなすにはちょっとレベルは高いけれど
出来上がるものはすごい、という感じでしょうか。

自分の書いたエントリー一連で他の人がいっちょやったるか!等と思い
はたまたソースコードを改変して使ってもらえたりすれば
うれしい限りです。

また、そのうちwebサービスをたたいたりXML-RPCを受け取る面白い
サンプルは作ってみようと思います。

どっちにしろ、もうちょっと受信可能なデータ量が増えてくればなあ...;;  

Posted by harayoki at 13:02Comments(2)マイク富丘(RPC)

2007年05月10日

XML-RPC(10) メイン処理

XML-RPC links


XML-RPCのサンプルのXML-RPCモジュールを扱うメイン処理部分を解説します。
われながら見てくれが伴わない渋いエントリーだなあ、と思いますが、
いつか誰か(自分かも?)の役に立つかもしれないので詳細まで書いておきます。
(自分が作ったものであっても細部は間が開くと忘れてしまうんですよねえ。)


ハコには前に解説したように、このようなアセット達が含まれています。

ところで、あんまり関係ない話なのですが、

このハコ、床の部分に穴が開いています。
見えない部分だしわざわざふさぐのも面倒なのでふさいでいません。
なんとなくパンダちゃんの隠れ家にぴったり。
他人のいたずらから身を守る効果もアリ!?  続きを読む

Posted by harayoki at 23:18Comments(2)マイク富丘(RPC)

2007年05月10日

XML-RPC(9) 演出ソース

XML-RPC links


続きです。
メインscriptの内、ニュースを読み上げさせる演出部分を解説します。
なかなかコードを書いていて楽しい部分です。


マイク富丘自体は、チャットメッセージ経由で
ハコに仕込まれているメインscriptから操作される仕組になっています。
その部分のソース確認はこのエントリーで。
ニュースを読み上げる演出の映像確認はこのエントリー
メインソース全体確認はこのエントリー
からよろしくお願いします。  続きを読む

Posted by harayoki at 21:52Comments(0)マイク富丘(RPC)

2007年05月10日

XML-RPC(8) メインlslソース全体

XML-RPC links


なかなか評判が良いマイク富丘2世のメインscriptのソースを公開します。


マイク富丘2世はXML-RPCという仕組みを使って、
htmlページからSL内へ投稿されたニュース速報をアナウンスするアイテムです。
始めて見る人は、上記リンクで映像を確認してみてください。

まず、オブジェクトの中身の構成を説明します。

このようにハコの本体部分には
マイク富丘がしゃべるときのサウンド(computerPikopiko)
・消えるときのサウンド(downSe)
・最後のジングルサウンド(harayokiGanfale)
ダブルクリックモジュール
・rezするマイク富丘2世本体(micTomioka2)
メインscript
XML-RPCモジュール

が入っています。

サウンドについてはUUID(サウンドのID)を用いて鳴らせば
ハコの中にわざわざ仕込まなくてもいいのですが、
これはある程度好みかと思います。自分も普段はUUIDを用いて音を鳴らすことが多いです。
マイク富丘が現れるときのジングル音だけ、マイク富丘側に入れ込んでしまいました。
バランス悪いですが、もう公開してしまったのでこのままで...


XML-RPCの実通信処理部分は例のようにモジュールの形にまとめられています。
メインscriptは、モジュールを利用するにもかかわらず長いですし、
XML-RPCモジュールの扱いもちょっと面倒なのですが
それでもモジュール化する意味は大きくあります。詳細はモジュールの解説時に。

このエントリーで公開するのはmainというscriptのソースです。
長いので詳細の解説は小分けエントリーにします。
その際、全体ソースはここで確認してください。  続きを読む

Posted by harayoki at 20:23Comments(0)マイク富丘(RPC)

2007年05月10日

XML-RPC(7) PHPソース2

XML-RPC links


さてPHPソースの解説です。
(ソースはエントリーの最後に。)

前回からの変更点は
・フォーム内容の変更
・文章作成ロジックをlslに移動
・チャンネルキーをフォームから入力ではなくPHPソース内に隠蔽した
などです。
前回と異なり、オーナー以外がハコをタッチしても通信チャンネルキーは表示されません。
(チャンネルキーを知られてしまうと誰にでもマイク富丘を操作できてしまうので
若干セキュリティー的に厳しいつくりにしました)

後のlslソース公開と照らし合わせるために
前回のphpソースと重複も多いですが、公開しておきます。

さてさて、ずいぶん地味なエントリーでキャプチャすべき画像もないので
せめて映像を取り直してみました。

前回よりは文字も読みやすいはず...。
ちなみにマイク富丘2世の演出は、曲の作成にも力をいれてみました。  続きを読む

Posted by harayoki at 11:59Comments(0)マイク富丘(RPC)

2007年05月10日

XML-RPC(6) マイク富丘2世

XML-RPC links


XML-RPCサンプルマイク富丘がバージョンアップしました。


ギャラリーの1Fに置いてあります。

マイク富丘のコメントの種類が増え、コメントのタイプをフォーム上で
選ぶことができるようになりました。

↓このページから直接SL内にニュース配信できます!
(チャンネルキーはphpソース内に隠蔽したので、空白のままでかまいません。)

※タイムアウトになったり、反応が遅いときは、SLのサーバ負荷が
高いのかもしれないので、時間を置いてからやり直してみてください。
昨日の昼間、なぜかかなり重かったです。

phpソースもけっこう変更されています。
(次エントリーで紹介します。)

では、動画で確認どうぞ。  続きを読む

Posted by harayoki at 05:55Comments(0)マイク富丘(RPC)

2007年05月08日

XML-RPC(5) 開く箱

XML-RPC links




マイク富丘さんはホームページ上からのニュース投稿をリアルタイムに
読み上げてくれるSL内のアイテムです。

このエントリーでは、別部分に比べてscript的には全く大したことが無いのですが
箱が開く演出部分のソースを一応公開しておきます。
演出的にはパカッと開くのは突然ぽくて重要かと思っていますが。

ハコが開く様子は上記リンクの映像を確認してください。


ハコは全部で本体、フタ、フタの回転支点になる金属パーツの3プリムです。
(がんばれば2プリムで作れますね)

ハコのテクスチャは色気のあるBOXあわせ技のテクスチャにチェック柄を加筆したものです。
こんな風に色気テクスチャ(?)は色々と使いまわしていきます。



ハコが開く演出scriptはフタ部分に付属しています。
メインのscriptは箱の本体に付属しています。
ハコ本体とフタはリンクしていません。そのほうがアニメ処理が楽だったからです。
監視カメラたんと同様に、固定位置アイテムならではの手法です。  続きを読む

Posted by harayoki at 17:09Comments(0)マイク富丘(RPC)

2007年05月08日

XML-RPC(4) PHPソース

XML-RPC links


前回のエントリーでwebページとSL内のオブジェクトとの連携が取れた事を書きました。


カンバン作り直しました。

そもそもこのアイテム何?と、いう人は(1)のエントリーから読んでみてください。

というわけで、このエントリーでは、サーバ側に用意したPHPのソースコードを公開します。
lslソースコードよりも先に公開になってしまったので、
順番的にわかりづらいかも知れませんが、
セカンドライフにおいてXML-RPCを扱う場合は、
このようなサーバ側のプログラムを用意すればいいんだな~とでも
感じてもらえればいいと思います。


◆まず基礎知識

SLのXML-RPCの窓口はこのURLです。
xmlrpc.secondlife.com/cgi-bin/xmlrpc.cgi

やりとりするXMLは、このようなフォーマット形式となっています。
<xml version="1.0"?>
<methodCall>
<methodName>llRemoteData</methodName>
<params>
<param>
<value>
<struct>
<member><name>Channel</name><value><string>チャンネルキー</string></value></member>
<member><name>IntValue</name><value><int>数値</int></value></member>
<member><name>StringValue</name><value><string>文字列</string></value></member>
</struct>
</value>
</param>
</params>
</methodCall>

通信チャンネルのキー値整数文字列(253?バイトまで)の3つしか引数はありません。  続きを読む

Posted by harayoki at 05:42Comments(6)マイク富丘(RPC)