BlackSheep-LSL@Wiki内検索 / 「llTakeCamera」で検索した結果

検索 :
  • 制御系
    ...st rules) llTakeCamera 関数 カメラコントロールを開始する(llSetCameraParamsで代替) llTakeCamera(key avatar) REZ 関数・イベント名 区分 概要 定義 object_rez イベント 他のオブジェクトをrezし終えたとき[参考]初級lsl-18 object_rez(key id) on_rez イベント オブジェクトがrezされたとき[参考]初級lsl-18 on_rez(integer start_param) llRezAtRoot 関数 オブジェクトをrezする(ルートプリムの中心座標基準) llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param) llRezObject 関数 オブジ...
  • llReleaseCamera
    llReleaseCamera llReleaseCamera(key agent) カメラコントロールを終了する。 似たような関数にllClearCameraParamsがあるが、llClearCameraParamsはあくまでもカメラ制御のパラメータをデフォルトに戻して制御を一時停止するのみとなる。 llReleaseCameraはカメラ制御を完全に終了する。 カメラ制御に関しては高度なカメラ制御を参照。 名前 コメント
  • llGetCameraPos
    llGetCameraPos vector llGetCameraPos() カメラの位置を取得する。 この関数を実行するにはPERMISSION_TRACK_CAMERAの取得が必要。 llGetCameraRot関数と組み合わせて使うことで、アバターがどこを見ているかを調べることができる。 以下の例はカメラ位置と注目点を表示するアタッチメントである。 llSetCameraAtOffset関数やllSetCameraEyeOffset関数に指定する値を調べるのに有用。 key avatar=NULL_KEY; vector pos; vector look; get_permission(){ key permkey = llGetPermissionsKey(); if (permkey != avatar || avatar == NUL...
  • llGetPermissions
    llGetPermissions integer llGetPermissions() 現在取得しているパーミッションを得る。 戻り値はビットフィールドになっているので以下の定数を使って&演算を行い、必要なパーミッションが取得されているかどうかをチェックする。 定数名 説明 対応する関数 PERMISSION_DEBIT L$の支払い権限 llGiveMoney PERMISSION_TAKE_CONTROLS キー操作取得の権限 llTakeControls?、llReleaseControls PERMISSION_TRIGGER_ANIMATION アニメーション実行権限 llStartAnimation?、llStopAnimation? PERMISSION_ATTACH アタッチ制御権限 llAttachToAvatar、llDetachFromAv...
  • llRequestPermissions
    llRequestPermissions llRequestPermissions(key agent, integer perm) 引数agentで指定したUUIDのアバターに対して、引数permで指定したパーミッションの取得要求を出す。 パーミッション要求が出されると、アバターのクライアント上にパーミッションダイアログが表示され、許可もしくは不許可の回答を求められる。 アバターが回答するとrun_time_permissions?イベントが発生し、パーミッションが取得できたのか、それともできなかったかの判定を行うことができる。 引数permに指定可能な定数は以下の通り。 定数名 値 説明 使用可能になる関数 PERMISSION_DEBIT 2 スクリプトオーナーの所持金からの支払許可 llGiveMoney PERMISSION_TAKE_CONTROL...
  • llSetCameraParams
    llSetCameraParams llSetCameraParams(list rules) カメラを制御する。 制御用のパラメータはリスト変数に格納して引数rulesとして渡す。 引数rulesは以下の形式のリストでなければならない。 [パラメータ定数1, 値1, パラメータ定数2, 値2, . . . ] llSetCameraParams関数を使うには、カメラ制御パーミッションを取得していなければならない。 カメラ制御パーミッションは定数PERMISSION_CONTROL_CAMERAで定義されており、以下のようにして取得要求を出す。 llRequestPermissions(id, PERMISSION_CONTROL_CAMERA); 変数idはカメラ制御を行うアバターのUUIDである。 引数rulesに指定できるパラメータ定数と値...
  • llGetCameraRot
    llGetCameraRot rotation llGetCameraRot() カメラの角度を取得する。 この関数を実行するにはPERMISSION_TRACK_CAMERAの取得が必要。 llGetCameraPos関数と組み合わせて使うことで、アバターがどこを見ているかを調べることができる。 サンプルはllGetCameraPos関数の説明を参照。 名前 コメント
  • llSetCameraAtOffset
    llSetCameraAtOffset llSetCameraAtOffset(vector offset) アバターがオブジェクトに座ったときのカメラ(視点)の向きを引数offsetで指定された方向に設定する。 この関数はアバターがオブジェクトに座る前に実行しておく必要がある。 すでに座っているアバターの視点をコントロールすることはできない。 例えば以下のコードはオブジェクトに座ったアバターの視点をオブジェクトの上方5mの位置に向ける。 default { state_entry(){ llSetCameraAtOffset( 0,0,5 ); } } オブジェクトに座ったときのアバターのカメラ位置(目の位置)を変更するにはllSetCameraEyeOffset関数を使う。 カメラの位置を方向をコントロールすると、例えばアバターがオブジ...
  • llSetCameraEyeOffset
    llSetCameraEyeOffset llSetCameraEyeOffset(vector offset) アバターがオブジェクトに座ったときのカメラ(視点)の位置を引数offsetで指定した場所に設定する。 引数offsetに指定するのはオブジェクトの中心からの相対位置である。 この関数はアバターがオブジェクトに座る前に実行しておく必要がある。 すでに座っているアバターの視点位置をコントロールすることはできない。 例えば以下のコードはオブジェクトに座ったアバターのカメラ位置をオブジェクトの後方(X軸マイナス方向)3mの位置する。 default { state_entry(){ llSetCameraAtOffset( -3,0,0 ); } } オブジェクトに座ったときのアバターのカメラの向き(視点の方向)を変更するに...
  • リファレンス(名前順)
    ...ern) T llTakeCamera? カメラコントロールを開始する(llSetCameraParamsで代替) llTakeCamera(key avatar) llTakeControls? キーコントロールを開始する llTakeControls(integer controls, integer accept, integer pass_on) llTan? タンジェントを得る float llTan(float theta) llTarget? オブジェクトの到達目標地点を設定する integer llTarget(vector position, float range) llTargetOmega? オブジェクトをスムースに回転させる(参考) llTargetOmega(vector axis, float spinrate, float gain) ll...
  • llClearCameraParams
    llClearCameraParams llClearCameraParams() スクリプトで制御していたカメラのパラメータを全てリセットしてデフォルト状態に戻す。 使用する際にはPERMISSION_CONTROL_CAMERAパーミッションが必要である。 スクリプトからカメラを制御するにはllSetCameraParams関数を使う。
  • リファレンス(機能別)
    ...st rules) llTakeCamera? カメラコントロールを開始する(llSetCameraParamsで代替) llTakeCamera(key avatar) REZ llRezAtRoot オブジェクトをrezする(ルートプリムの中心座標基準) llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param) llRezObject オブジェクトをrezする(オブジェクトの重心基準)(参考) llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param) コンテンツ llAllowInventoryDrop インベントリへのドロップを許可(あるいは非許可...
  • llReleaseControls
    llReleaseControls llReleaseControls() キーコントロールを終了する。 キーコントロールとはアバターのキー入力を取得する制御で、llTakeControls?関数を使って開始される。 llTakeControls?関数でキーコントロールを開始するにはPERMISSION_TAKE_CONTROLSパーミッションが必要であるが、llReleaseControls関数を実行するとコントロールが終了するだけでなく、PERMISSION_TAKE_CONTROLSパーミッションも解除される。 再びキーコントロールを開始する際にはllRequestPermissions関数を使って再度パーミッションの取得から始めなければならない。 ...
  • 高度なカメラ制御
    はじめに カメラ制御とはポジション フォーカス ロック ディスタンス ピッチ ビハインドネス ラグ スレッショルド カメラ制御の関数llSetCameraParams関数 llClearCameraParams関数 llReleaseCamera関数 カメラ制御スクリプト俯瞰カメラ 固定追尾カメラ 完全固定カメラ カメラの動的制御 はじめに 「初級スクリプト」でカメラ制御について簡単な方法は紹介したのですが、さらに踏み込んだカメラ制御について書いておこうと思います。 高度なカメラ制御を使うと、一定の場所にカメラを固定するだけではなく、例えばアバターの周囲をぐるぐると回転させたり、俯瞰視点にしてみたり、はたまたカメラを固定してアバターが自由に歩き回れるようなものなど、面白い見せ方がいろいろとできます。 こうしたスクリプトは動画作成や乗り物、ライドなどに応用することができます。 ...
  • データ系
    データ系 数学 関数・イベント名 区分 概要 定義 llAbs 関数 integer型の絶対値を得る integer llAbs(integer val) llAcos 関数 アークコサインを得る float llAcos(float val) llAsin 関数 アークサインを得る float llAsin(float val) llAtan2 関数 アークタンジェントを得る float llAtan2(float y, float x) llCeil 関数 少数以下を切り上げる integer llCeil(float val) llCos 関数 コサインを得る float llCos(float theta) llFabs 関数 float型の絶対値を得る float llFabs(float num) llFloor 関数 小数部を切り捨てる integer llFloor(f...
  • llGetNumberOfNotecardLines
    llGetNumberOfNotecardLines key llGetNumberOfNotecardLines(string name) nameに指定した名前のノートカードの行数を調べるよう要求を出し、問い合わせ番号(key型)を返す。 要求の結果はdataserver?イベントにて受け取ることができる。 指定したノートカードはオブジェクトのコンテンツ内になければならない。 dataserver?イベントでは調べた結果がstring型の引数で渡されてくるが、これをinteger型にキャストすれば行数として扱うことができる。 以下の例はノートカード"hogehoge"の行数を調べる。 default { state_entry() { llGetNumberOfNotecardLines("hogehoge"...
  • llGetNotecardLine
    llGetNotecardLine key llGetNotecardLine(string name, integer line) オブジェクトのコンテンツ内にあるノートカードnameのline行目を読み取るよう要求を出し、問い合わせ番号(key型)を返す。 要求の結果はdataserver?イベントにて受け取ることができる。 この関数の詳細な使い方については「ノートを使おう(初級スクリプト第十二回)」の記事を参照。 名前 コメント
  • スクリプト小技
    LSLの常套手段やちょっと気の利いた使い方、特殊な関数など、tipsのような記事です。 基本的にLSLの基礎がわかっている方向けの内容になっています。 回転について(記述中) はじめに rotation型 vector型 vectorとrotation間の変換 回転の向きについて rotationの合成 回転の合成順序 グローバル座標系とローカル座標系 リンクプリムの回転 テレポート テレポートハック 移動型テレポーター LSLで日本語を使う はじめに listenによる入力 URLエスケープの使用 その他の方法 パーティクル パーティクルとは パーティクル関数(llParticleSystem関数) パーティクルモジュールパラメータの説明マスク・パラメータ パターン・パラメータ その他詳細パラメータ 応用編 鍵をかける はじめに 鍵をかけることの意味操作...
  • llDetectedName
    llDetectedName string llDetectedName(integer number) 検知されたアバター/オブジェクトの名称を取得する。 llDetectedNameはデテクト系の関数の一つである。 デテクト系関数についてはllDetectedKeyの説明もしくは初級スクリプト第二十回「センサーを使おう」のセンサーイベントについての説明を参照のこと。 なお、バグなのか仕様なのか不明だが、llDetectedName関数を使用した時点で対象のアバター/オブジェクトがSIM外に移動したり、EXITしてしまっている場合は、名前ではなくUUIDを返すらしい。 以下の例はタッチしたアバターの名前を表示する。 default { touch_start(integer num_detected) { llSay(0, "...
  • カメラ制御
    はじめに カメラコントロールllSetCameraEyeOffset(vector offset); llSetCameraAtOffset(vector offset); 定点カメラスクリプト 今回のポイント はじめに 最後に衝突について説明して初級スクリプト講座を終えようと思っていたのですが、最近、カメラのコントロールが意外に面白い効果を出せることに気づいたので、今回はカメラの制御について書きたいと思います。 SLで言うところのカメラとは、「視点」のことです。 通常、SLの視点はユーザーが自由に動かすことができます。 ALTを押しながらアバターを左クリックすると、そのアバターに注目したりもできますね。 結構自由なカメラコントロールが許されていて、私のように趣味でムービーを作る者にとっては重宝しています。 スクリプトからカメラをコントロールする方法も用意さ...
  • llGetInventoryName
    llGetInventoryName string llGetInventoryName(integer type, integer number) コンテンツ内にある指定したtypeのnumber番目のアイテムの名前を返す。 numberはゼロから始まるアイテムの番号である。 指定したアイテムが存在しない場合は空文字""が返る。 アイテムのタイプには以下の値を使用する。 定数 値 説明 INVENTORY_ALL -1 全種類 INVENTORY_ANIMATION 20 アニメーション INVENTORY_BODYPART 13 ボディパーツ INVENTORY_CLOTHING 5 服 INVENTORY_GESTURE 21 ジェスチャー INVENTORY_LANDMARK 3 ランドマーク INVENTO...
  • 看板を作ろう
    はじめに フローティングテキストllSetText関数 回転看板llTargetOmega関数 アニメーション看板llSetTextureAnim関数 地図看板llSetTouchText関数 llMapDestination関数 ランドマーク看板llGiveInventoryList関数 まとめ はじめに 第六回~第八回は初級スクリプトの最初の山場でした。 へヴィな内容が続きましたので、今回はちょっと息抜き的に、しかしながら実用的なスクリプトを作ってみたいと思います。 SLで店をやるという人は多いでしょう。 そして商品の販売用や、宣伝のために、看板を作りたいという人もいるかと思います。 綺麗なテクスチャさえ用意すれば、それなりの看板を作ることができますが、この記事は一応スクリプトの勉強ですのでw、スクリプトを使った動きのある看板に挑戦してみましょう。 照明...
  • llGetStartParameter
    llGetStartParameter integer llGetStartParameter() スクリプトのスタートパラメータを返す。 スタートパラメータとはllRezObject関数やllRemoteLoadScriptPin関数で指定された整数値のことである。 on_rez?イベントに渡される引数と同値。 通常の方法で(単純に保存した、インベントリからオブジェクトにドロップした等)スクリプトが開始されたときにはスタートパラメータはゼロである。 また、llRezObject関数などでスタートパラメータが指定されていた場合でも、スクリプトがリセットされるとスタートパラメータはゼロに戻る。 名前 ...
  • 土地系
    土地系 BAN 関数・イベント名 区分 概要 定義 llAddToLandBanList 関数 土地からアバターをBANする llAddToLandBanList(key agent, float hours) llAddToLandPassList 関数 土地の通行許可をアバターに与える llAddToLandPassList(key agent, float hours) llRemoveFromLandBanList 関数 BANリストから指定アバターを削除する llRemoveFromLandBanList(key avatar) llRemoveFromLandPassList 関数 通行許可リストから指定アバターを削除する llRemoveFromLandPassList(key avatar) 土地 関数・イベント名 区分 概要 定義 llEdgeOfWor...
  • 物理3D系
    物理3D系 位置 関数・イベント名 区分 概要 定義 at_target イベント オブジェクトが到達目標地点に達したとき at_target(integer tnum, vector targetpos, vector ourpos) moving_end イベント 移動が終了したとき[参考]初級lsl-22 moving_end() moving_start イベント 移動が開始されたとき[参考]初級lsl-22 moving_start() not_at_target イベント オブジェクトが到達目標地点に達していないとき not_at_target() llDetectedPos 関数 検出されたアバター/オブジェクトの位置を得る[参考]初級lsl-20 vector llDetectedPos(integer number) llEdgeOfWorld 関数 ...
  • llAtan2
    llAtan2 float llAtan2(float y, float x) y/xで得られるタンジェントのアークタンジェントを得る。 アークタンジェントとは通常、タンジェントの逆関数である。 例えば以下の関数は引数radに指定した小数値と同じ値を返す。 float test(float rad) { float tan = llTan(rad); float atan = llAtan2(tan, 1.0); return atan; } radに1.57を指定したとすると、llTanの戻り値は1255.765592。 llAtan2の引数に1255.765592, 1.0を指定すると、戻り値は1.57である。
  • llGetScriptName
    llGetScriptName string llGetScriptName() 現在実行中のスクリプト名を返す。 しばしば自動消滅ロジックを実装する際に利用する。 以下のコードは開始後30秒でスクリプトを自動消滅させる。 敵に秘密を知られたくない場合はこのような自爆装置を組み込むとMIっぽい。 default { state_entry(){ llSetTimerEvent(30.0); } timer(){ llRemoveInventory(llGetScriptName()); } } 名前 ...
  • llGetLinkName
    llGetLinkName string llGetLinkName(integer linknum) linknumで示されるリンクprimの名前を返す。 オブジェクトが単一primの場合、linknumに指定できる有効な値は0のみである。 オブジェクトがリンクされている場合は、ルートprimのリンクナンバーは1となり、2以降は子primである。 以下の例はリンクオブジェクトにおいて、タッチされたprimの名前を返す。 default { touch_start(integer detected){ llSay(0, "Touched prim is " + llGetLinkName(llDetectedLinkNumber(0))); } } この関数はオブジェクト上の「ボタン」を実装する際に有用である。 タッチさ...
  • llKey2Name
    llKey2Name string llKey2Name(key id) 引数idに指定したUUIDのアバター/オブジェクトの名前を返す。 しかしながら、調べるアバター/オブジェクトは同一SIMに存在しなければならない(隣接SIMでもOKらしいが)。 この関数の逆(名前からUUIDを調べる関数)は存在しない。 しかしながら、代替手段がある。 llHTTPRequestのサンプルコードを参照のこと。 グループ -- 名無しさん (2009-01-30 13 29 01) 名前 コメント
  • 特殊効果系
    特殊効果系 アニメーション 関数・イベント名 区分 概要 定義 llGetAnimation 関数 指定アバターが実行中の基本アニメーションを得る string llGetAnimation(key id) llGetAnimationList 関数 指定アバターが実行中の全アニメーションを得る[参考]初級lsl-13 list llGetAnimationList(key id) llStartAnimation 関数 アニメーションを開始する[参考]初級lsl-13 llStartAnimation(string anim) llStopAnimation 関数 アニメーションを停止する[参考]初級lsl-13 llStopAnimation(string anim) 音 関数・イベント名 区分 概要 定義 llAdjustSoundVolume 関数 サウンドのボリュー...
  • ノートを使おう
    はじめに ノートカード読取の仕組みllGetNotecardLine関数 dataserverイベント 典型的なパターン ノートカード対応ベンダーllParseString2List関数 for文 今回の歩イント はじめに ベンダースクリプトの改良編です。 前回までで機能面は十分に満たすものを作りましたが、今回は使い勝手のよいものになるよう改造を施します。 改良点は商品データの管理の部分です。 前回までのスクリプトでは、商品データをリスト型変数に定義していましたが、この方法だと商品の追加や変更があったときにいちいちスクリプトを直さなければなりません。 そこで、商品データはSLのノートカードを使って管理するようにし、ノートカードを切り替えるだけで扱う商品を変えられるようなベンダーを考えます。 商品のデータに対して、そのデータを使ってアレコレ操作する仕組みを「ロ...
  • llRequestAgentData
    llRequestAgentData key llRequestAgentData(key id, integer data) 引数idに指定したUUIDを持つアバターの情報の取得要求を出す。 取得したい情報は引数dataで指定する。 アバターの情報はdataserver?イベントで通知されるが、データを識別するために戻り値のkeyを使用する。 使用例: key qid; // 識別用キー変数 default { state_entry(){ qid = llRequestAgentData(llGetOwner(), DATA_BORN); // オーナーの生年月日を要求、要求IDをqidに保持 } dataserver(key queryid, string data){ if (qid == queryid){ // 要求...
  • llAddToLandBanList
    llAddToLandBanList llAddToLandBanList(key agent, float hours) agentに指定したUUIDのアバターをhoursに指定した時間だけ土地のBANリストに追加する。 hoursに0.0を指定すると、無期限のBANとなる。 また、hoursの下限値は0.01で、1時間の1%は36秒であるから、最小BAN期間は30秒程度である。 BANリストからアバターを取り除く場合(=立ち入りを許可する場合)はllRemoveFromLandBanList関数を使用する。 なお、BANしたいアバターのUUIDがわからない場合はこの関数を使ってBANすることができない。 LSLにはアバター名からUUIDを取得する関数が存在しないので、名前だけしかわからない相手をBANするのは困難である。 「すみません、あなたをBANし...
  • llCollisionFilter
    llCollisionFilter llCollisionFilter(string name, key id, integer accept) 衝突判定にフィルターを設定する。 フィルターとは、特定のアバターやオブジェクトの衝突判定を有効にしたり無効にしたりすることを言う。 引数name及びidにはフィルター対象となるアバター/オブジェクトの名前/UUIDを指定する。 引数acceptがTRUEの場合は衝突判定を有効とし、FALSEの場合は無効とする。 以下のようにすると"Miz Cremorne"の衝突判定を無効とし、無敵状態にする。 llCollisionFilter("Miz Cremorne", "xxxx...xxxxx", FALSE); (注:UUIDは適当に書いてあるので実際に...
  • llHTTPRequest
    llHTTPRequest key llHTTPRequest(string url, list parameters, string body) 引数urlのアドレスに対してparametersとbodyを使ってHTTPリクエストを送る。 いわゆるWeb連携を行うための関数である。 urlに指定するのは、Webブラウザでお馴染みの、"http //"で始まるURLアドレスである。 parametersには以下のようなキーと値のセットをリストとして指定する。 [キー1, 値1, キー2, 値2...] 必要な数だけキーと値のセットを繰り返す。 指定できるキーは以下の通り。 キー キーの値 値の型 値の初期値 説明 HTTP_METHOD 0 string "GET" "GET&qu...
  • llDetectedLinkNumber
    llDetectedLinkNumber integer llDetectedLinkNumber(integer number) タッチもしくは衝突イベントがどのprimにおいて起こったのかを取得する。 戻り値はリンクナンバーである。 例えばタッチイベント内で使用した場合は、タッチされたprimのリンクナンバーを返す。 衝突イベント内であれば、衝突したprimのリンクナンバーを返す。 オブジェクトが単一primの場合は、戻り値は0である。 2つ以上のprimがリンクされていた場合、ルートprimは1、2以降は子primとなる。 この関数はタッチイベントもしくは衝突イベント内でしか効果がない。 llDetectedLinkNumberはデテクト系の関数の一つである。 デテクト系関数についてはllDetectedKeyの説明もしくは初級スクリプト第...
  • アバター/オブジェクト系
    アバター/オブジェクト系 アバター 関数・イベント名 区分 概要 定義 llGetAgentInfo 関数 指定アバターの状態を得る(飛行・AWAYなどの動作及びアタッチメントの有無等) integer llGetAgentInfo(key id) llGetAgentSize 関数 指定アバターのサイズを得る vector llGetAgentSize(key id) llPointAt 関数 現在動作せず llPointAt(vector pos) llRequestAgentData 関数 アバターデータの取得を要求する key llRequestAgentData(key id, integer data) llStopPointAt 関数 現在動作せず llStopPointAt() グループ 関数・イベント名 区分 概要 定義 llDetectedGroup 関数...
  • エラー対応
    エラーが出る原因と対処方法についてまとめてみました。 LSLに関わって発生するエラーには主に3種類あります。 コンパイルエラー(Compiler Errors) ランタイムエラー(Run-Time Errors) ビルドエラー(Build Errors) 以下にエラーの種類と原因、対処方法について書いていますので参考にしてみて下さい。 コンパイルエラーSyntax Error Type mismatch Function call mismatches type or number of arguments Name not defined within scope Name previously declared within scope Use of vector or quaternion method on incorrect type Lists can...
  • llSameGroup
    llSameGroup integer llSameGroup(key id); 引数idに指定したアバターまたはオブジェクトの所属グループが、スクリプト実行中のオブジェクトのグループと一致するかどうかを調べる。 一致する場合はTRUEを返し、一致しない場合はFALSEを返す。 スクリプト実行中のオブジェクトのグループが未設定(none)の場合は、引数にNULL_KEYを指定した場合のみTRUEを返す。 名前 コメント
  • llBreakAllLinks
    llBreakAllLinks llBreakAllLinks() オブジェクトのリンクを全て解除する。 この関数を実行するにはPERMISSION_CHANGE_LINKSパーミッションを取得していなければならない。 バラバラ関数の例。 オブジェクトを物理にしてたりすると崩壊が楽しめる。 default { touch_start(integer num_detected) { if (llDetectedKey(0) == llGetOwner()){ llRequestPermissions(llDetectedKey(0), PERMISSION_CHANGE_LINKS); } } run_time_permissions(integer perm) { if (perm PERMI...
  • 音を鳴らそう
    はじめに サウンドを扱う関数 音の出るドア ループサウンド 今回のポイント はじめに 今回のスクリプトは簡単です。 サウンドの再生についてはもっと早くに取り上げるべきでしたが、ついつい後回しになってしまいました(^^; オブジェクトにちょっとした音を組み込むことは、簡単なわりに効果的です。 例えば照明のON/OFFをするときにスイッチ音を付けたり、アニメーションと一緒に効果音を付けたりするだけで、よりリアルで面白いものを実現することができます。 基本的にはスクリプトで実現できる音とは、効果音のことだと思ってください。 BGMのような長いサウンドを鳴らすことは容易ではありません。 というのも、SLにアップロード可能なサウンドは10秒以内に限られているためです。 今回は簡単な例として、以前作ったドアのスクリプトに、開閉の音を組み込んでみたいと思います。 ...
  • llEjectFromLand
    llEjectFromLand llEjectFromLand(key user) userに指定されたUUIDを持つアバターを土地から吹き飛ばす。 スクリプトのオーナーの土地に限り有効。 この関数の餌食になったアバターは文字通り「吹き飛ば」される。 バシルーラみたいなものである。 sitしていても防御することはできない。 建物内などに居た場合でも、屋根を突き抜けて吹き飛ばされてしまう。 lslWiki等を参照すると、この関数の使用時には事前に「警告」をすることが推奨されている。 いきなり吹き飛ばすのでは迷惑行為と見なされかねないからである。 高速で吹き飛ばされると、人によってはクライアントがクラッシュする可能性もある。 単に侵入者を排除したいのであれば、まずllTeleportAgentHome?関数の使用を検討すべきであろう。 とか言いつ...
  • llGetObjectName
    llGetObjectName string llGetObjectName() オブジェクトまたはprimの名前を返す。 primの名前を返すのは、子primにおいて使用された場合である。 ルートprimで使用された場合はオブジェクト名を返す。 オブジェクトの名前をスクリプトから変更するにはllSetObjectName?関数を使う。 名前 コメント
  • llGetParcelDetails
    llGetParcelDetails list llGetParcelDetails(vector pos, list details) posで示される位置の土地の情報を得る。 得られる情報は名称、説明、オーナーUUID、グループUUID、面積の5つ。 引数detailsには以下の値をリストにして指定する。 定数名 値 意味 文字長 戻り値の型 PARCEL_DETAILS_NAME 0 土地の名称 63 string PARCEL_DETAILS_DESC 1 土地の説明 127 string PARCEL_DETAILS_OWNER 2 土地オーナーのUUID (36) key PARCEL_DETAILS_GROUP 3 土地グループのUUID (36) key PARCEL_DETAILS_AREA 4 面積(sqm) (5)...
  • llGetPrimitiveParams
    llGetPrimitiveParams list llGetPrimitiveParams(list params) primの属性値を返す。 引数paramsには取得したい属性のリストを指定する。 戻り値は引数に指定した属性に応じたリスト型のデータとなる。 基本的に、buildツールを使って指定可能なprimの設定値は全てこの関数を使用して取得できる。 また、この関数の戻り値を使ってllSetPrimitiveParams?関数を実行すると、buildツールと同様にprimを編集することが可能である。 これはつまりbuildの自動化が実現できることを意味する。 鏡面コピースクリプトなどは、この関数を使ってコピー元のprimの属性値を取得し、必要なパラメータに鏡面変換をかけた後、llSetPrimitiveParams?関数でコピー後のprimを形成する。 ...
  • llBreakLink
    llBreakLink llBreakLink(integer linknum) 指定したリンクナンバーのprimのリンクを解除する。 通称、縁切り関数。 この関数を実行するにはPERMISSION_CHANGE_LINKSパーミッションを取得していなければならない。 タッチしたprimのリンクを外す例。 integer link_number; default { touch_start(integer num_detected) { if (llDetectedKey(0) == llGetOwner()){ link_number = llDetectedLinkNumber(0); llRequestPermissions(llDetectedKey(0), PERMISSION_CHANGE_LI...
  • パーティクル
    パーティクルとは パーティクル関数(llParticleSystem関数) パーティクルモジュールパラメータの説明マスク・パラメータ パターン・パラメータ その他詳細パラメータ 応用編 パーティクルとは 小技というわけではありませんが、パーティクルシステムについては設定すべきパラメータが非常に多く、わかりにくいという声をしばしば聞きます。 ですので今回はパーティクルシステムの解説とサンプル・スクリプトを書いておくことにします。 パーティクルとは粒子のことです。 SLのパーティクルシステムは、煙や火、水しぶきなどの粒子を表現するための仕組みのことを言います。 スクリプトを使う以外にパーティクルを制御する方法はありません。 従って、粒子を使った表現をしようと思ったら、パーティクルシステムのスクリプトを使わなければなりません。 よく見かけるパーティクルを列...
  • llGetLandOwnerAt
    llGetLandOwnerAt key llGetLandOwnerAt(vector pos) 引数posで指定した位置の土地所有者のUUIDを返す。 もしもposの位置の土地がグループ所有だった場合はグループのKEYを返す。 名前 コメント
  • llGetInventoryType
    llGetInventoryType integer llGetInventoryType(string name) コンテンツ内にある指定した名前のアイテムのタイプを返す。 一般的に、引数nameで指定したアイテムがコンテンツ内に存在するかどうかをチェックするのに利用される。 戻り値は以下のいずれかとなる。 定数 値 説明 INVENTORY_NONE -1 アイテムは存在しない INVENTORY_ANIMATION 20 アニメーション INVENTORY_BODYPART 13 ボディパーツ INVENTORY_CLOTHING 5 服 INVENTORY_GESTURE 21 ジェスチャー INVENTORY_LANDMARK 3 ランドマーク INVENTORY_NOTECARD 7 ノートカード INVENTORY_OB...
  • 鍵をかける
    はじめに 鍵をかけることの意味操作できる人を限定する方法 鍵をかける 強制排除スクリプト はじめに やもさんより質問いただいたスクリプトについて解説です。 [やもさんからの質問] 最近自分で服を作るようになり試着の為の更衣室を用意したのですが ドアに鍵をかけるか、自分にしか開けられないドアするにはどのようにしたら良いのでしょうか? これって結構ニーズのある話だと思います。 着替えの最中は裸になることも多く、やはり人に見られたくない場合がありますので・・・。 また、Kirさんからも関連のある質問をいただきました。 [Kirさんからの質問] なんとか、オーナー限定にて動作するように改良したいのですが、 if (llDetectedKey(0) == llGetOwner()){ handle=llListen(channel, "&qu...
  • @wiki全体から「llTakeCamera」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

記事メニュー
目安箱バナー