2009年01月04日
ジェンガの仕組みなど書いてみる
ジェンガ、そこそこ持ってっていただいてます^^
今回は、ジェンガの仕組みをちょろっと書いてみます。
まずブロックのRezですが、ブロックの高さが1mで18段積み上げるので、地面に設置した本体から全てのブロックをRezしようとしても、llRezObjectの10m制限により、途中で生成が止まってしまいます。これに対して最初は「オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい」に書いたように、ブロックがブロックを生成する方式で対処しようと思ったのですが、結構ロジックが複雑になりそうだったので、実は別の方法を採用しています(前回の記事の内容は別の箇所で使用しています)。
10m制限があるなら、Rezする側のオブジェクトを生成に合わせて上昇させてやればよいわけです。ジェンガの開始ボタンを押すと、透明でファントムな小さなオブジェクトを生成します。そのオブジェクトはブロックを1段生成すると、1m上昇するようになってますので、無事最上段まで生成出来るわけです。
さて、一番大変だったのはブロックを追加する緑のオブジェクトです。最上段に3つ作られて、タッチするとブロックを生成します。ただし、一番最後にタッチされたものは、1段上に緑のオブジェクトを3つ生成する必要があります。

これにはSensorを利用しています。緑のオブジェクトの名前「block-adder」で、llSensor関数を呼び出して、見つからなかった場合は自分が最後のオブジェクトだと判断して、次の緑オブジェクトを生成しています。緑オブジェクトは、最初にまとめて生成できず、1段積み上げるごとにつくられるので、前回の記事の再帰Rezを使用しています。
後は、おかたづけボタンでのブロック削除ですが、これはllShoutでkillメッセージを流し、それをブロックがlistenしてllDieすることで実現しています。ちなみに、さぶろクリエイトのロゴはタッチするとさぶろクリエイトのページをロードするようになっています。宣伝宣伝^^

だいたいこんな感じです。ジェンガはフルパーになっていてソースの確認や修正も可能なんで、詳しく知りたい方はゲットして解析してみてくださいねー。
配布場所
http://maps.secondlife.com/secondlife/Nippori/155/166/23/
今回は、ジェンガの仕組みをちょろっと書いてみます。
まずブロックのRezですが、ブロックの高さが1mで18段積み上げるので、地面に設置した本体から全てのブロックをRezしようとしても、llRezObjectの10m制限により、途中で生成が止まってしまいます。これに対して最初は「オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい」に書いたように、ブロックがブロックを生成する方式で対処しようと思ったのですが、結構ロジックが複雑になりそうだったので、実は別の方法を採用しています(前回の記事の内容は別の箇所で使用しています)。
10m制限があるなら、Rezする側のオブジェクトを生成に合わせて上昇させてやればよいわけです。ジェンガの開始ボタンを押すと、透明でファントムな小さなオブジェクトを生成します。そのオブジェクトはブロックを1段生成すると、1m上昇するようになってますので、無事最上段まで生成出来るわけです。
さて、一番大変だったのはブロックを追加する緑のオブジェクトです。最上段に3つ作られて、タッチするとブロックを生成します。ただし、一番最後にタッチされたものは、1段上に緑のオブジェクトを3つ生成する必要があります。

これにはSensorを利用しています。緑のオブジェクトの名前「block-adder」で、llSensor関数を呼び出して、見つからなかった場合は自分が最後のオブジェクトだと判断して、次の緑オブジェクトを生成しています。緑オブジェクトは、最初にまとめて生成できず、1段積み上げるごとにつくられるので、前回の記事の再帰Rezを使用しています。
後は、おかたづけボタンでのブロック削除ですが、これはllShoutでkillメッセージを流し、それをブロックがlistenしてllDieすることで実現しています。ちなみに、さぶろクリエイトのロゴはタッチするとさぶろクリエイトのページをロードするようになっています。宣伝宣伝^^

だいたいこんな感じです。ジェンガはフルパーになっていてソースの確認や修正も可能なんで、詳しく知りたい方はゲットして解析してみてくださいねー。
配布場所
http://maps.secondlife.com/secondlife/Nippori/155/166/23/
SLらくがきボード、お絵かきツール完成!
SLらくがきボード解説
SLラクガキボード機能追加とアイテムデモのお知らせ
LSLCon2009開始!SLらくがきボードを展示しました
ぐらぐら積み木のイベントがあります
ジェンガ作りました
SLらくがきボード解説
SLラクガキボード機能追加とアイテムデモのお知らせ
LSLCon2009開始!SLらくがきボードを展示しました
ぐらぐら積み木のイベントがあります
ジェンガ作りました
Posted by sabro at 14:48│Comments(5)
│小物
この記事へのコメント
はじめまして
ブレンダーで四苦八苦しているんですが^^
実は去年の記事で、3/15日の記事なんですが、
conv2sculptの記事を見てやってみたのですが
どうも、conv2sculptに読み込ませる段階で
The element type "Appearance"must be terminated matching end-tag"</Appearance>"と表示されるのですが、色々教えていただけませんでしょうか><
ブレンダーで四苦八苦しているんですが^^
実は去年の記事で、3/15日の記事なんですが、
conv2sculptの記事を見てやってみたのですが
どうも、conv2sculptに読み込ませる段階で
The element type "Appearance"must be terminated matching end-tag"</Appearance>"と表示されるのですが、色々教えていただけませんでしょうか><
Posted by Qyasvaru at 2009年01月10日 09:04
正直そのようなエラーは出たことがないので
あまり分からないのですが、出来る範囲でお答えします。
まず、ConvertToSculptは、通常版とテストバージョンがあり
さぶろーは、テストバージョンの方を使っています。
ここのページのテストバージョンの方からダウンロードしてください。
http://www.cattaka.net/index.php?SecondLife%2FConv2Sculpt
Blenderはバージョン2.46を使っています。
(バージョンアップがめんどうだったので・・・)
Blenderのバージョンアップにともなって
ConvertToSculptに対応しないファイルを吐くようになった
可能性もありますので2.46で試してみる価値はあります。
Blenderの古いバージョンはここからソースがダウンロード出来ます。
http://download.blender.org/source/
ビルドできるなら試してみてはいかがでしょうか。
それで無理であれば、ちょっと自分には分かりません。
制作者の「旅する野良猫」さんのところで
聞いた方がいいかもしれません。
旅する野良猫さんのブログ
http://cattaka.slmame.com/
あまり分からないのですが、出来る範囲でお答えします。
まず、ConvertToSculptは、通常版とテストバージョンがあり
さぶろーは、テストバージョンの方を使っています。
ここのページのテストバージョンの方からダウンロードしてください。
http://www.cattaka.net/index.php?SecondLife%2FConv2Sculpt
Blenderはバージョン2.46を使っています。
(バージョンアップがめんどうだったので・・・)
Blenderのバージョンアップにともなって
ConvertToSculptに対応しないファイルを吐くようになった
可能性もありますので2.46で試してみる価値はあります。
Blenderの古いバージョンはここからソースがダウンロード出来ます。
http://download.blender.org/source/
ビルドできるなら試してみてはいかがでしょうか。
それで無理であれば、ちょっと自分には分かりません。
制作者の「旅する野良猫」さんのところで
聞いた方がいいかもしれません。
旅する野良猫さんのブログ
http://cattaka.slmame.com/
Posted by sabro
at 2009年01月10日 13:28

ありがとうございますー^^
古いバージョンでためしてみますねー^^
古いバージョンでためしてみますねー^^
Posted by Qyasvaru at 2009年01月10日 18:37
えっと><
度々すみません
上記の古いバージョン2.46をダウンロードしたんですが、
ショートカットが見つかりません^^
どこからブレンダーを動かすのでしょうか・・・
いつもは、ブレンダーのサイトから、ジップのほうをダウンロードして使ってたのでw初歩的ですみません・・・
度々すみません
上記の古いバージョン2.46をダウンロードしたんですが、
ショートカットが見つかりません^^
どこからブレンダーを動かすのでしょうか・・・
いつもは、ブレンダーのサイトから、ジップのほうをダウンロードして使ってたのでw初歩的ですみません・・・
Posted by Qyasvaru at 2009年01月10日 19:24
上記箇所からダウンロード出来るのはソースコードなので
一度ビルドという作業を行ってexeファイルを作る必要があります。
ソースはC++という言語で書かれているようですが
さぶろーは、ほとんど使ったことないので
ビルドの方法はよく分かりません。
少し調べてみたのですが、
ここから2.46版をダウンロード出来るようなので
試してみてはいかがでしょうか。
http://blender.brothersoft.jp/
本家サイトではないので、試す場合は自己責任でお願いします。
一度ビルドという作業を行ってexeファイルを作る必要があります。
ソースはC++という言語で書かれているようですが
さぶろーは、ほとんど使ったことないので
ビルドの方法はよく分かりません。
少し調べてみたのですが、
ここから2.46版をダウンロード出来るようなので
試してみてはいかがでしょうか。
http://blender.brothersoft.jp/
本家サイトではないので、試す場合は自己責任でお願いします。
Posted by sabro
at 2009年01月11日 03:41
