スクリプターズカフェ/ログ/SIMの負荷が高い場合のスクリプトへの影響 - セカンドライフWiki
Scripters_cafeログ08/08/16[]ライブ会場などで、SIMにアバターが60人程度集まっている状況で動作するスクリプトについての話がありました。いろいろ正確な検証はできていないようですが、少なくともアセットサーバーにアクセスする必要のあるノートカードの読み込み処理
Scripters_cafeログ08/08/16[]ライブ会場などで、SIMにアバターが60人程度集まっている状況で動作するスクリプトについての話がありました。いろいろ正確な検証はできていないようですが、少なくともアセットサーバーにアクセスする必要のあるノートカードの読み込み処理
Scripters_cafeログ08/08/30[]Second LifeのSIMコード1.24から導入されたllDetectedTouch*系の関数で、タッチした位置でのいくつかの情報を取得できるようになりましたが、それに加えて、「タッチした位置の色を取得したい」という要望がP
Scripters_cafeログ08/04/19[]LSLの定数はコンパイラによってすべて即値に展開されるのですが、定数によっては非常に効率が悪い処理になっています。→Chiyosukeさんのドキュメント 「3.2.7 NULL KEY の代わりに""を使う」 などを参照上記ドキ
Scripters_cafeログ目次1 08/05/172 08/04/193 08/04/053.1 Monoだとセッションが切れる4 08/03/295 08/03/1508/05/17[]Fakeさんが独自に複数人数対応のLingr転送スクリプトを作られたとのことで、オフィ
Scripters_cafeログ08/05/24[]LSLの関数名はそこそこ系統立てて付けられているのですが、いくつか分かりづらいものがあるという話。系統立てて付けられているものの代表は「Detect系関数」で、これらの関数は有効に使用できる場所が限られています。分かりづらいもの
Scripters_cafeログ08/04/19[]ビューアのソースをビルドする際に特定の定数を有効にして、多少の変更を加えることで、スクリプトの保存時にバイトコードのニーモニックをファイルとして保存することができました。実際の変更箇所などは別途GOTTiのブログに一旦まとめたい
Scripters_cafeログ08/05/03[]カフェで何度か話題になっているLSLのヒープ領域についてですが、GOTTiが個人的にスクリプトを作成していたところ、ヒープの断片化が原因と思われるstack-heap collisionが発生しました。このスクリプトでは、定期的
Scripters_cafeログ08/09/13[]ametaさんから、Monoコンパイルしたスクリプトにて、llBase64ToStringでrun time errorが発生する場合があると教えていただきました。具体的には以下のようなエラーが表示されたそうです。System.
Scripters_cafeログ08/06/28[]Fakeさんから、ちょっと変わったjiraがあると教えていただいたので、みなさんで実験してみました。-jira SVC-602 llInstantMessage never arrives if the scripted obj
Scripters_cafeログ08/10/11[]「LSLのタイマーって正確じゃないよね」という話がたまに出てきますが、どの程度正確じゃないのか、どういった実装になっているのかを検証・考えてみました。まず、wikiには以下のような記述があります。Second Life Wiki
Scripters_cafeログ08/04/26[]Voodoo呪術の挙動の確認関連で、演算の優先順について以下のようなスクリプトで調べていました。default { state_entry() { string test = "12345";
Scripters_cafeログ08/03/29[]Lingr転送スクリプトを作っていて、試しにMono βにてMonoコンパイルしてテストしてみたところ、ランタイムエラーが出て全く動作しませんでした。このランタイムエラー(例外)について発生箇所を検証したところ、以下のような「リ
Scripters_cafeログ08/09/13[]Jam Meiliさんが作成した「How to optimize for Mono」という文書がインワールドで配布されており、これをNock Foragerさんが中心となって日本語へ翻訳されました。→How_to_optimiz
Scripters_cafeログ08/10/04[]SIMのIPアドレスは結構頻繁に変わるよね、という話。SIMのバージョンアップでローリングリスタートが行われると、多くの場合IPアドレスの異なる別のホストへSIMが移されるようです。これは、作業用の空きホストのSIMコードをバー
Scripters_cafeのログ08/05/03[]この現象について、その後Fakeさん、Tomonekoさん、Miyaokaさんらが調査されて、ほぼ原因が特定できたということでjiraにFakeさんがエントリしました。jira SVC-2283 Postcard with e
Scripters_cafeログ08/10/04[]New Script SIMで、9月の後半あたりからSIM FPSが不安定になる状況が発生していました。SIM FPSは、安定したSIMではほぼ45で一定です。アバターがSIMにテレポートしてきたり、最近ではMonoでスクリプト
Scripters_cafeのログ08/03/08[]すでに本wikiのエントリも更新されていますが、Openspace(Voidとか環境SIMなどの呼び方もある)がコレまで4つセットでしか購入できなかったのが、1つから購入できるようになるそうです。プリム数も、これまでは1850
Scripters_cafeログ08/06/07[]「アニメベンダーでポーズによってはベンダー部にタッチしづらくなる」の話に関連して、HildeさんからPick Renderというオプションを選択すると影の領域が分かりやすいということを教えていただきました。アバターの影アバターの
Scripters_cafeログ08/12/06[]Monoで、スクリプト内で定義した文字列リテラルが消費する領域についてです。スクリプトコードに文字列リテラルを記述すると、LSLでコンパイルした場合、すべてのリテラルに別々のメモリ領域が割り当てられるため、例えば同じ文字列リテラ
Scripters_cafeログ08/12/06[]Monoでのスクリプトの領域の消費についてです。スクリプトコード本体が静的に消費する領域について調べました。以下のような方法で、スクリプトコードがどれだけ領域を消費するのかを調べようと試みました。state_entryの先頭にて
Scripters_cafeログ08/11/22[]Monoコンパイルしたスクリプトで変数をリストに格納する場合、スクリプト内で静的に記述してある値は、同じ実体への参照としてリストに追加されるようです。ただし、これはリストへの追加時と読み込みの時にこのようになっているだけで、特定
Scripters_cafeログ08/09/27[]LSL2では、使わなくなった変数のヒープ領域の解放は同期的に行われていました。従って、領域の確保・解放に対して非同期な要素を排除すると、スクリプトの処理を継続していった場合に空き領域がそのうちなくなるのか、なくならないのかは理論
Scripters_cafeログ08/08/30[]llDetectedTouch*を使ったお絵かきツールはスカルププリムの面上にも描けるのですが、それを応用してスカルプの形状を擬似的にコピーできないか?という話が出ました。あくまで「タッチした位置」の情報しか取得できないので、面
目次1 08/08/091.1 縮尺1.0、オフセット01.2 縮尺2.0、オフセット01.3 縮尺2.0、オフセット0.51.4 縮尺1.0、回転90度1.5 Top Shear 0.51.6 Taper 1.01.7 これらの関数の応用方法Scripters_cafeログ08
Scripters_cafeログ08/04/12[]再度ネタとして取り上げてみましたが、この機能を使っている人がほとんどいないからなのか、みなさんあまり興味がないようでした。その後ビューアのソースを読んで挙動を確認。iNNX ブログ Second Life(R)w ビューアのSL
Scripters_cafeログ08/03/15[]llOwnerSay()でメッセージを表示するようなHUDアイテムを間違って体に身につけていると、llOwnerSay()されるたびに自分のアバターの周りにパーティクルが表示される、という現象を「アバターが光る」と表現されていた
Scripters_cafeログ08/09/06[]Second LifeのビューアのAdvancedメニューに「Show Updates」というオプションがあり、これにチェックすると、更新のあるプリムから更新を示すパーティクルのようなものが出るようになります。通常、プリムの形状
Scripters_cafeログ08/08/16[]椅子の話から、椅子にセットするアニメーションの優先順位の話になりました。椅子に仕込むアニメーションなどで、優先順位が4に設定されていると思われるものを多く見かけます。このようなアニメが設定されている椅子の場合、たとえばタイニーア
Scripters_cafeログ08/11/01[]アバターが椅子オブジェクトに座ると、そのオブジェクトのリンクセットの末尾に子プリムのような扱いで追加されます。この時、リンクセット内でアバターのリンク番号はプリム数と同じ数字(末尾)になります。アバターが立ち上がると、そのリンク
Scripters_cafeログ08/07/19[]ポーズアニメーションを制御するHUDを作成していたyouさんから、「アニメの停止がイマイチ」という話がありました。アバターに再生されているアニメーションの一覧を llGetAnimationList() 関数で取得して、不必要な
Scripters_cafeログ08/08/30[]教えてセカンドライフに上がった質問から、アニメーションの停止に関する仕様の話になりました。アニメーション後、停止処理をしなくても大丈夫ですか?この質問にあるように身に着けるアイテムの場合、取り外した時点で多くの処理を行うことがで
Scripters_cafeログ08/06/14[]いつまでたっても「もやもや」が解消されない場合の対処方法現在のoutfitを保存する→保存していないと元に戻れなくなるので注意!Advancedメニューを表示するAdvanced→Character→Character Test
Scripters_cafeログ08/04/12[]ネックレスを作成する場合に、首の周りをプリムで一周させたりしますが、リアルな形状にするためには数学計算などが必要になります。しかし Second Life には物理シミュレーション機能が備わっているので、物理シミュレーションを使
Scripters_cafeログ09/01/10[]ビューアーのバージョン1.22から、3D空間内のオブジェクトへのタッチ処理が「pick rendering」「raycast method」という処理によるタッチオブジェクトの検出に変更されました。Release Notes f
Scripters_cafeログ08/04/12[]Havok4 がメイングリッドに全面適用され、当該 jira エントリも解決済みということになったようです。ただし jira のコメントでは、Linden 側が明示的にこの問題の原因に対して対処した、ということではなくて、「なお
Scripters_cafeログ08/12/27[]LSLでアバターの身長を取得するにはllGetAgentSize関数を使用します。llGetAgentSizeこの関数で返される身長ですが、そのまま使用するとアバターの見た目の大きさと若干異なっています。(返されたサイズの高さの
Scripters_cafeログ08/03/22[]Keimarさんが、Taifrogさんの「記憶粘土」を使って早速小ネタツールを作ったとのことで見せていただきました。タッチすると状態(形状)が変わるようになっていました。(タッチ制御やパーティクルを出すスクリプトを、記憶粘土と組
Scripters_cafeログ08/05/31[]アニメーションを販売している方からの問い合わせでアニメーションベンダーのスクリプトが上手く動作していない件を調査したところ、スクリプトエラーなどが表示されることなく、パーミッションの取得に失敗しているケースが分かりました。【前提
Scripters_cafeログ08/05/24[]Deedしたオブジェクトでは、LSLの一部の機能が使えなくなります。この情報については、以下のwikiにまとめられていたのをFakeさんが教えてくれました。→rpgstats GroupObjects特に記載のない限り、コミュニ
Scripters_cafeログ08/08/02[]土地のメディア設定を書き換えるスクリプトを、グループにDeedされている土地で実行する場合、スクリプトの入ったオブジェクトもグループにDeedする必要があります。RezされたオブジェクトをDeedした場合、そのオブジェクト内のス
Scripters_cafeログ08/10/11[]プリムをShift+ドラッグでコピーした時に中のスクリプトはどうコピーされる?の話の最中に、「そういえばCopy Selectionの時はどうなるんだろう」という話に。Copy Selectionとは、オブジェクト編集ウィンドウ
Scripters_cafeログ08/12/06[]装着物のサイズを変更するスクリプトについてです。スクリプトでサイズ変更させる場合、いくつか注意することがあります。float演算を繰り返すと誤差が積み重なる[]例えばオブジェクトのサイズを「現在のサイズ×0.1」というような演算
Scripters_cafeログ08/07/19[]以前のオフィスアワーでも一度話題に上がったことがあったのですが、オブジェクトのインベントリの中に入っているアイテムのキー(UUID)を llGetInventoryKey() 関数を使用して取得する場合、対象のアイテムに対して所
Scripters_cafeログ目次1 08/05/101.1 コンテンツ内のオブジェクトをAllow anyone to copy1.2 コンテンツ内のサウンドをAllow anyone to copy1.3 コンテンツ内のアニメーションをAllow anyone to cop
Scripters_cafeログ09/01/10[]オブジェクトのコンテンツの内容に従って初期化処理を行うスクリプトの場合、コンテンツの内容が変化したら自動的に再初期化されると便利かもしれません。しかし、コンテンツへのオブジェクトの追加は次のような挙動であるため、スクリプトの作り
Scripters_cafeログ08/03/15[]お題リストに書いていた、「みんなの視点を強制的に誰か(例えば先生役)が制御するツールの妄想」という件ですが、偶然Tomonekoさんが同じようなものを作られていたとのことで、その場で見せていただきました。Tomonekoさんのツ
Scripters_cafeログ08/05/24[]この日Seagelさんが「おにごっこ(をするしっぽ)」のアイテムを知り合いからもらってきたとのことで、みなさんに配布して遊んでいました。このおにごっこアイテムは非常に単純なもので、「おにごっこ」とチャットでしゃべるとアイテムを身
Scripters_cafeログ08/08/02[]SIMサーバーへのMonoエンジンの適用と同時に、いくつかの新しいLSL関数が追加されるようです。llDetectedTouchBinormalllDetectedTouchFacellDetectedTouchNormalll
Scripters_cafeログ08/09/13[]llSensor/llSensorRepeatに指定するフラグについてです。llSensorllSensorRepeatフラグには以下の4種類があります。AGENTACTIVEPASSIVESCRIPTEDwiki.second
Scripters_cafeログ08/06/14[]最近導入されたLSL関数にllSetClickAction()という関数があるよ、という話。-llSetClickActionこの関数を使用すると、オブジェクトにタッチしたときのアクション(これまでは編集ダイアログにて設定)をス