2010年2月28日日曜日

週末をダイジェストでお送りしますっす

金曜・土曜と書けなかったっす。
そんなわけで、ダイジェストでお送りしますっす。
どうもぺんぎんっす( ◎v◎ )


金曜日
ChiyoさんのオフィスアワーがShareta Osumaiであったっす。
遠足気分っす。
2.0ビューワの話が出たくらいで、平和だったっす。

Rikaさんのオフィスアワーは2.0関係のことっす。
未訳・誤訳などがあれば出してほしいそうっす。
英語がダメなら、金曜日26:00(土曜深夜)にHawksheadまで
直接言いに来てもらっても良いっすね。
JIRAに上げられるなら、そちらへどうぞっす。
自分に伝えてもらっても良いっすよ。


土曜日
「いつもの会」っす。
ここでも話題は2.0っす。
共有メディアに関する新関数が来るみたいっす。
Get/Set/Resetの3種類はあるみたいっす。
2.0のベータが取れるまでは様子見っすね。


日曜日
ラティスのBセットをXStreetに掲載しておいたっす。
パーミッション・価格などはAセットと同じっす。
(パッケージも使いまわしたのはナイショっす)
お求めはこちらからどうぞっす



まとめると、どこも2.0の話題で持ち切りだった、ってところっすかね。

2010年2月25日木曜日

べき乗っす

llPowっていうのもあるんっすけどね。
floatオンリーなので、integerバージョンを作る必要があったわけっす。
どうもぺんぎんっす( ◎v◎ )


でも、llPowと明らかに違う点もあるっす。
1.結果が巨大な数になった場合(あふれた場合)
 llPow Infinityを返す
 pmIntPow 掛け算しまくった値を返す。
  (オーバーフローもお構いなしに掛けまくりっす)
2.exponentが負の場合
 llPow 0.0を返す
 pmIntPow 1を返す

上記のような違いもあるっすから、きっちりintegerに収まるときだけ
使用するのが吉かもっすね。
試してもらえば分かるっすけど、今回はllPowの方が早いっす。
でも、10,000回の試行であんなもんっすから、
実用には耐えるんじゃないかと思うっす。




integer pmIntPow(integer base, integer exponent) // baseのexponent乗を返す
{
  // integer base   底
  // integer exponent 指数部
  integer ans = 1;

  for( ; exponent > 0; exponent = exponent >> 1)
  {
    if(exponent & 0x1) // if((exponent & 0x1) == 1)
    {
      ans *= base;
    }
    base *= base;
  }
  return ans;
}

default
{
  // 以下テスト
  touch_start(integer num_detected)
  {
    integer i_test_base = 4079;
    integer i_test_exponent = 4096;
    float f_test_base = 4079.0;
    float f_test_exponent = 4096;
    integer i;

    llResetTime();
    for(i = 0; i < 10000; i++)
    {
      llPow(f_test_base, f_test_exponent);
    }
    llOwnerSay("llPow time:" + (string)llGetTime());
    llOwnerSay((string)llPow(f_test_base, f_test_exponent));

    llResetTime();
    for(i = 0; i < 10000; i++)
    {
      pmIntPow(i_test_base, i_test_exponent);
    }
    llOwnerSay("pmIntPow time:" + (string)llGetTime());
    llOwnerSay((string)pmIntPow(i_test_base, i_test_exponent));
  }
}

2010年2月24日水曜日

2.0ビューワのベータが出たっすね

あちこちで既に話題となってる2.0ビューワっす。
この話題には触れないわけにはいかないっすね。
どうもぺんぎんっす( ◎v◎ )


とは言うものの、まだ試してないっす。
理由っすか?ベータだからっすよ。
クリティカルなバグがたくさんありそうな予感っすからね。

ダウンロードはここからっす。
大きな変更になった点と、新しい機能について書くっす。

・レーティング区分の名称変更
 1.xビューワでの呼び方から変わったっす。
  PG → General
  Mature → Moderate
  Adultはそのまま

・共有メディア
 プリムをWebブラウザにすることもできるっす。
 Flashとかもサポートされてるっすから、いろいろできそうっすね。

・タトゥー
 スキンの上に別のテクスチャーを重ねることができるっす。

・アルファーマスクスキン
 スキンにもアルファーマスク(透明度)が適用可能っす。
 タイニーの具は見えなくなるっすね!


UIは全く新しくなったっすから、書けばきりがないっす。
これは試して、そして慣れていくしかなさそうっすね。

2010年2月23日火曜日

ラティスのBセットができたっす

ヘッドホンかと思って買ったらヘッドセットだったっす。
マイクも付いてるわけっす。
ボイスチャットについてのレポートは後日あげるかもっす。
どうもぺんぎんっす( ◎v◎ )


スカルプテッド・ラティスのBセットの15種類できたっす。
基本的な格子はAセットと同じなもんっすから、
新規に作ったのは12種類っすね。

今週中には出せると思うんっすけど、パッケージがまだっす。
価格とパーミッションはAセットと同じっす。

全部正方形なんっすけど、引き伸ばしてもそれなりのカタチに
なるように作ってあるっす。
手すりとかに使う場合のことも想定してあるわけっす。


さっさとパッケージ作るっすから、もうしばらくお待ちくださいっす。

2010年2月22日月曜日

べき剰余っす

llModPowっていうのもあるんっすけど、
関数に設定されたディレイは脅威の1.0秒っす。
頻繁に使うものではないんっすけど、1.0秒は問題アリっす。
どうもぺんぎんっす( ◎v◎ )



タイムはディレイの関係もあって圧勝っす。
下のをそのまま使うと、だいたい102.7秒 vs 0.025秒っすね。
ケタが違うっす。
100回は少ないと思われるかも知れないっすけど、
誰かがTPしてきたりすると結果も違ってくるもんっすから、
ほぼ一定の条件で可能な2,3分でやりたかったわけっす。

ディレイなしとしても2.7秒 vs 0.025秒で100倍違うっすね。
あ、前置きが長くなったっすね。
下がコードっす。(テストコード含む)
pmModPowはllModPowと同じカタチっすから、
問題なく使えると思うっす。



integer pmModPow(integer a, integer b, integer c) // べき剰余を返す
{
  // a 底
  // b 指数
  // c 法
  integer result = 1;

  while(b > 0)
  {
    if((b & 1) == 1)
    {
      result = (result * a) % c;
    }

    b = b >> 1;
    a = (a * a) % c;
  }
  return result;
}

default
{
  // 以下テスト
  touch_start(integer num_detected)
  {
    integer test_a = 5;
    integer test_b = 7;
    integer test_c = 31;
    integer i;

    llResetTime();
    for(i = 0; i < 100; i++)
    {
      llModPow(test_a, test_b, test_c);
    }
    llOwnerSay("llModPow time:" + (string)llGetTime());

    llResetTime();
    for(i = 0; i < 100; i++)
    {
      pmModPow(test_a, test_b, test_c);
    }
    llOwnerSay("pmModPow time:" + (string)llGetTime());
  }
}

2010年2月20日土曜日

さらに使い道がない方向へ・・・っす

来週のちよさんのオフィスアワーはShareta Osumaiっす。
インフォハブ付近でやるみたいっすよ。
場所は違っても時間は同じ金曜21時っす(日本時間)。
どうもぺんぎんっす( ◎v◎ )


だいぶ前にFFTをLSLで書いてみたんっすけど、
コレと言った使い道がなく、放置してたっす。
で、さらにオマケでIFFTも書いてみたっす。
共役な複素数を作って入れてやれば、FFTが使いまわせるっす。
あ、最後にスケーリングしてやるのも忘れないようにっすね。

そのコードなんっすけど、ここに書くと横長で辛いっすから、
In-Worldで見てくださいっす。
22:00からの「いつもの会」で直接渡せるっすけど、
来れない方は明日の今頃、Rekal Thorの店内に取りに来てくださいっす。
まぁ、フルパーミッションっすから、誰かから貰っても良いんっすけどね。


ライセンスは「ご自由にどうぞ」ということなんっすけど、
なんか明記しておいた方が良いっすかね?

2010年2月18日木曜日

しゃれたお住まい?っす

XStreetに特定の商品が登録できない事に関して、
情報があれば教えてくださいっす。
もう、サッパリ分かんないっす。
どうもぺんぎんっす( ◎v◎ )


「リンデンホーム」がスタートしたっすね。
簡単に言えば家付きの土地(512sqm)っす。
しかも家のプリムは使用プリム数にカウントされないっす。
リンデンホーム
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Linden_Home/ja

に説明が出てるので、そちらでどうぞっす。

「土地の規約」は現地に行ってないので分かんないっすけど、
商用不可(店舗等として利用できない)みたいなことらしいっす。
純粋な家としての利用に限る、ってリンデンホームっすから、
当然と言えば当然っすね。

今後、家のコントロールパネルが追加されるみたいっすね。
リンデンホームガイド
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Linden_Home_Help_Guide/ja

の下のほうに出てるっす。
テクスチャ変更とかも可能になるみたいっす。


日本風の建物、「しゃれたお住まい」って何を訳したのかと思って
英語のページ見てみたんっすけど、
Shareta Osumaiって・・・
実際に見て確認してくださいっす

2010年2月17日水曜日

情報提供求ム!っす

いろんなヒトに聞いてみたんっすけど、起きてるのは自分だけっす。
なのでJIRAにもあげられないっす。
以下に詳細を書いておくっすから、知っていたらご一報くださいっす。
どうもぺんぎんっす( ◎v◎ )


起きている問題:
XStreetに特定のアイテムのみ掲載できない。
(登録しようとすると404 Not Foundが出る)

時期:
09年12月第1週ごろから(今も継続中)

状況:
1.In-WorldのMagic Boxに新しく掲載したい商品を入れる。
2.XstreetSLのサイトにログインし、[マーケットプレイス商品]→
 [新商品を追加]と進み、必須項目を全て埋めたあと、
 ページ下部の[商品を追加]ボタンを押す。
3.404 Not Foundが出る。

試したこと:
A.ブラウザのキャッシュとクッキーを削除した。
*Google Chorme(3.0.195.38)
Internet Explorer(7.0.6002.18005)の両方で試した。
B.1.Magic Boxに「すでに掲載済みの商品」と「掲載できていない商品」が
  入っている状態で、「新たに掲載する商品」を入れた。
 2.XstreetSLのサイトにログインし、「新たに掲載する商品」に関して
  情報を記入し、商品を追加した。
 3.「新たに掲載する商品」は正しく掲載され、「配達のテスト」でも正しく
  送られて来るのを確認した。
 4.「掲載できていない商品」についても情報を記入し、[商品を追加]
  ボタンを押した。
 5.404 Not Foundが出る
C.1.「掲載できない商品」を一度地面にRez。
 2.RezしたものをTakeして再梱包。
 3.XStreetのサイトで情報を記入して、[商品を追加]ボタンを押した。
 4.404 Not Foundが出る
D.1.Magic Boxをさらにもう1つRez。
 2.「掲載できない商品」をRezしたMagic Boxに詰める。
 3.サイトで記入して[商品を追加]ボタンを押した。
 4.404 Not Foundが出る


チケットは送ったんっすけど、進展が全くない状況っす。
何なんっすかね?コレ?



2010/03/03 解決!
詳しくは「掲載できない原因が判明っす」をどうぞっす。

2010年2月15日月曜日

鍵っす

今週、いよいよ1.36サーバー登場っす。
16,17日の午前7時から正午まで(PDT)はログイン障害出るかもっす。
どうもぺんぎんっす( ◎v◎ )


「扉に鍵をかける」のは、案外難しいっす。
実世界のような、中に入れないための仕組みとしては弱いわけっす。
オブジェクトにSitして[編集]からーとか、抜け道があるっす。
鍵がないと開かないっていうだけなら、いくつか方法があるっす。

1.暗証番号方式
おそらく一番簡単っす。
扉に設定しておいた番号を入力すると開くっす。
Sayするのではなくって、タッチパネルみたいなのを作るのが吉っすね。

2.装着する鍵
これも結局はSayするカタチになるっすね。(現時点ではっす)

3.差し込んで回す鍵
できたらスゴイっす。
土地がRez OKじゃないとダメだったりするっすけどね。
形状データを受け渡してどうのこうのーっていうのなら出来そうっす。


どの方法も、扉を変える(鍵穴を変更)するのは簡単っす。
扉を変えれば対応する鍵も違うわけっすからね。
「鍵を紛失した場合の再発行」はどうするのか、考えないとっすね。

2010年2月14日日曜日

長引いてるみたいっすねぇ

スカルプテッド・ラティス15種セットはXStreetと
メタコマースからのみ買えるっす。
展示場所がなかったもんっすから、実物展示ナシっす。
場所があればやりたいっすね。
どうもぺんぎんっす( ◎v◎ )


新関数とかの登場は1.40以降になる模様っす。
twitter見てた方はたぶん知ってるっすね。

リリースノートに書いてあったんっすけど、
1.36で
SVC-1638(llGetParcelDetails: New flag PARCEL_DETAILS_ID)
というのも来るみたいっす。


今年はバタバタと新しいのが来るっすから、追っかけるだけで大変っすね。

2010年2月12日金曜日

混戦避けっす

メタコマースはプリムオーブンの上にリスティングされたっす。
「最新アイテム」のところなんっすけどね。
ちょっと運が良かったっす。
どうもぺんぎんっす( ◎v◎ )


say・listenを使ったやりとりで、混戦避けって皆さんどうやってるんっすかね?
「うっかり他のをlistenで拾っちゃった」っていうのをナシにしたいわけっす。
チャンネルを動かすっていうモノにしか遭遇したことがないんっすけど、
それだけで十分なんっすかね?

ちょっと想像してみてくださいっす。
こんなオブジェクトっす
・タッチすると、「チャンネル」と「メッセージ」が指定される(オブジェクトがSay)
・アバターが指定された「チャンネル」と「メッセージ」でSayすると反応する
っていう簡単なものっす。
どんな反応するかは関係ないっすから、テキトーに想像してくださいっす。

こんなケースはどうっすかね?
[上記のオブジェクトが複数ある(Sayが届く範囲にっすね)]っていう場合だと、
チャンネルをランダムに変えたとしてもメッセージが同じだと、
予期しないことが起こる確率はゼロじゃないっすね。
状況としてはアバターが複数のオブジェクトにタッチしたときに起こるわけっす。


さーて、こんなとき、皆さんがどうしてるのか興味あるっす。
とりあえず自分の方法を書いておくっす。
[チャンネル]
 これはテキトーで良いっす。
[メッセージ]
 1.オブジェクトは
  p = f(メッセージ, オブジェクトのUUID)
  となるpを作ってSay。
  p:送るメッセージ
  f:変換というか、生成する関数
 2.アバターはpを指定チャンネルでSay
 3.オブジェクトは
  f-1(p)を実行して、メッセージ、オブジェクトのUUIDを確認。
   →オブジェクトのUUIDが違えば「自分じゃない」と判断して終了っす

fは難しいものを組むまでもないと思うっす。
排他的論理和とかでテキトーにいじれば十分っすよ。
そもそも暗号でなくても良いんっすけど、あれっすよ、あれ。
気分ってやつっす。



C#登場に向けてユーティリティとして組んでも面白そうっすね。

2010年2月11日木曜日

こっそりバリエーション増やしたっす

巨大ぺんぎんビークルにはこれと言った機能がないっすねぇ。
ただ大きいだけっす。
これじゃあ、お蔵入りかもっすね。
どうもぺんぎんっす( ◎v◎ )


スカルプ製の1プリムラティス(格子)のバリエーションを増やしたっす。
一気に14種類増えて、今のところ15種類っす。
「今のところ」がポイントっすよ。
まだまだ増やす予定っす。

とは言ったものの、15種類作るとだんだんネタが尽きてくるっす。
でもまだシリンダーを含むものは作ってないっすから、
絞れば出てきそうっす。


15種類セット、L$300(予定)で出すっす。
パッケージも明日には出来そうなので、明日の今頃にはXStreetに並んでるかもっすね。

2010年2月9日火曜日

子プリムでは効かないみたいっすね

スクリプト教室の諜報をしてきたっす。
llGiveInventoryについてだったっすね。
地道な諜報は大事っす。
どうもぺんぎんっす( ◎v◎ )


巨大ぺんぎんビークルについてっす。
実験してみたところ、llMoveToTargetはオブジェクト全体に効いちゃうみたいっす。
子プリムに仕込んでいても、全体が動いちゃうわけっすね。
ぬーん・・・キビシイっす。

思いつくのは手足(羽脚?)を「リンクさせずに別のオブジェクトとしてRez」して、
listenしたりして動かすっす。
もちろん却下っす。スマートじゃないっすね。
こんなことするくらいなら手足を動かすのは諦めるっす。


あ、Googleで「ぺんぎん」で検索したら自分関係のが上位を占めるようになったっす。
ブログも続けてみるもんっすね。

2010年2月8日月曜日

ログインできないので、実験できないっすね

たぶん、これを公開するころには入れると思うんっすけどね。
タイトルの通りログインできないわけっす。
その間にいろいろと妄想でもしてるっす。
どうもぺんぎんっす( ◎v◎ )


スカルプ製マルチSitタイプのイススクリプト(ネーミング募集中)は、
あとは試しにヒトに座ってもらって確認する段階っす。
身長に合わせてSit位置の調整が行われるっすよ。
こっちは良いっすね。

気になるのは巨大ぺんぎんビークルっす。
いろんな動きを付けるにしても、物理プリムなもんっすから、
なんか面倒なことが起きそうな予感っす。
「子プリムにllMoveToTargetとかって効く?」
が心配なんっすけど、どうなのかは試さないと分かんないっすね。
効くなら簡単に動きは付けられるっす。

ビークルなのでルートプリムも動くわけなんっすけど、
速度を使えば簡単にイケるんじゃないっすかね?
(妄想っすけど)
x = vtっすから、全く動いていないとき(つまり|v| = 0)の
動きをまず作って、タイマーで速度分を補正してやるっす。
このタイマーが間隔の短いもの(コンマ1秒くらい?)っすから、
ちょーっと不安はあるんっすけどね。


そろそろ23:30っすから、インして試してみるっすかね?

2010年2月7日日曜日

そろそろーっといじるっす

巨大ぺんぎんビークル、面白い感じになりそうっす。
かなり大きいっすよ。
乞うご期待っす(ハードル上げすぎたかもっすね)。
どうもぺんぎんっす( ◎v◎ )


グリッドステータスをもっと手軽に見たいと思ったっす。
むしろ「見せたい」というところっす。
自分は観察してるもんっすから良いんっすけど、
全く見ないヒトも多いっすからね。

でも通信関係は、いじったことないんっすよねぇ・・・
ということで今あるものを改造して作る作戦っす。

手元にあるのはWassrのHUDっす。
これはフルパーミッションのスクリプトファイルも付いてるっすから、
ごそごそ改造するには良いっす。


フローティングテキストなんかで見えるようにするのが目標っす。
コツコツやるっす。

2010年2月2日火曜日

フォーラムっす

今日は先週の予告通り、サーバーのアップグレードの日っすね。
数時間に渡ってログインや取り引きに影響あるっすね。
そんなわけでおとなしくしてるっす。
どうもぺんぎんっす( ◎v◎ )


SL Forums
http://forums.secondlife.com/

って皆さんご存じっすかね?

Second Life Answers
https://blogs.secondlife.com/community/answers

ができる前は、ここで質問とかしてたみたいっす。
フォーラムにも日本語OKのところ(というか、日本人向けのところっすね)もあって、
質問とかができる場所があるんっすけど、その日本語のところは
あんまり活発じゃないっすね。

日本の方はソラマメを利用してるからかもっすね。
質問・疑問はソラマメで解決してるみたいっす。
でも、JIRAにあげるほどでもない、「こんなのどう?」みたいのは
日本の方では動きが見えないっすねぇ。
ま、まぁ、簡単に思いつくものは大抵JIRAにあがってるんっすけどね。

自分も含めて、英語が得意じゃない方も多いっすから、
とりあえず議論→英語の得意な方がJIRAるって流れがあっても良いのかなぁと思うっす。



現時点でそれが出来そうなのはフォーラムかと思って、ちょっと紹介してみた次第っす。

2010年2月1日月曜日

すっかり忘れてたっす

巨大ぺんぎんビークルを作成中っす。
手足も動くっすよ。
(開発中につき、実物と異なる場合があります)
どうもぺんぎんっす。


「占い」をメタコマースに出してなかったっす。
さっきSSを撮ったっすから、明日には出せるっす。
メタコマースに出すといっても新機能は一切ないっす。
ver1.05をそのままっす。

パッケージにはFREEと書いたんっすけど、説明ないとキビシイっすね。
本体がタダで、L$1のPayが必要っすからね。


さっさとパッケージ作るっす。
Free Avatar