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

検索 :
  • 特殊効果系
    ...ger type) llSetVehicleVectorParam 関数 ビークルのvector型パラメータを設定する llSetVehicleVectorParam(integer param, vector vec) 名前 コメント
  • llRemoveVehicleFlags
    llRemoveVehicleFlags llRemoveVehicleFlags(integer flags) llSetVehicleFlags?関数を使ってONにしたビークルフラグ(ビークルの動作設定)をOFFにする。 引数flagsにはOFFにしたいビークルフラグを指定する。 ビークルフラグについてはllSetVehicleFlags?を参照。 なお、引数flagsに-1を指定すると、全てのビークルフラグをOFFにする。 名前 コメント
  • リファレンス(名前順)
    ...ger type) llSetVehicleVectorParam? ビークルのvector型パラメータを設定する llSetVehicleVectorParam(integer param, vector vec) llShout 半径100mの範囲にチャットメッセージを送信する llShout(integer channel, string text) llSin? サインを得る float llSin(float theta) llSitTarget? オブジェクトのsit位置を設定する(参考) llSitTarget(vector offset, rotation rot) llSleep? スクリプトを指定秒数停止させる llSleep(float sec) llSqrt? 平方根を得る float llSqrt(float val) llStartAnimatio...
  • リファレンス(機能別)
    ...ger type) llSetVehicleVectorParam? ビークルのvector型パラメータを設定する llSetVehicleVectorParam(integer param, vector vec) データ系 数学 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 f...
  • llSetCameraParams
    llSetCameraParams llSetCameraParams(list rules) カメラを制御する。 制御用のパラメータはリスト変数に格納して引数rulesとして渡す。 引数rulesは以下の形式のリストでなければならない。 [パラメータ定数1, 値1, パラメータ定数2, 値2, . . . ] llSetCameraParams関数を使うには、カメラ制御パーミッションを取得していなければならない。 カメラ制御パーミッションは定数PERMISSION_CONTROL_CAMERAで定義されており、以下のようにして取得要求を出す。 llRequestPermissions(id, PERMISSION_CONTROL_CAMERA); 変数idはカメラ制御を行うアバターのUUIDである。 引数rulesに指定できるパラメータ定数と値...
  • llSetColor
    llSetColor llSetColor(vector color, integer face) 引数faceで指定した面の色を引数colorで指定した色にする。 色の指定はvector型で行うが、値の範囲は 0.0, 0.0, 0.0 ~ 1.0, 1.0, 1.0 となる。 3つの要素のうち先頭からRed、Green、Blueの色要素の指定となっている。 Webページ等の色指定で一般的なRGB形式は0~255の範囲で色要素の強さを指定するが、LSLでは0.0~1.0の範囲なので注意すること。 0~255の色要素をLSL用に変換するには、255で割り算してやれば良い。 一般的なRGB形式の指定値との対比を参考までに掲載しておく。 0~255 16進数 LSL 0 0 0 64 40 0.25 128 80 0.5 192 C0 0.75 255 FF 1...
  • llGetPrimitiveParams
    llGetPrimitiveParams list llGetPrimitiveParams(list params) primの属性値を返す。 引数paramsには取得したい属性のリストを指定する。 戻り値は引数に指定した属性に応じたリスト型のデータとなる。 基本的に、buildツールを使って指定可能なprimの設定値は全てこの関数を使用して取得できる。 また、この関数の戻り値を使ってllSetPrimitiveParams?関数を実行すると、buildツールと同様にprimを編集することが可能である。 これはつまりbuildの自動化が実現できることを意味する。 鏡面コピースクリプトなどは、この関数を使ってコピー元のprimの属性値を取得し、必要なパラメータに鏡面変換をかけた後、llSetPrimitiveParams?関数でコピー後のprimを形成する。 ...
  • 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 ); } } オブジェクトに座ったときのアバターのカメラの向き(視点の方向)を変更するに...
  • 制御系
    制御系 パーミッション 関数・イベント名 区分 概要 定義 run_time_permissions イベント パーミッション要求に返答があったとき[参考]初級lsl-11 run_time_permissions(integer perm) llGetPermissions 関数 スクリプトのパーミッション情報を知る integer llGetPermissions() llGetPermissionsKey 関数 スクリプトの保持しているパーミッション対象者のUUIDを得る[参考]初級lsl-13 key llGetPermissionsKey() llRequestPermissions 関数 パーミッションを要求する[参考]初級lsl-11 llRequestPermissions(key agent, integer perm) コントロール 関数・イベント名 区...
  • llGetVel
    llGetVel vector llGetVel() オブジェクトの速度(m/s)を得る。 戻り値はvectorであるので、当然ながらオブジェクトが移動している方向を知ることも可能である。 単純にオブジェクトの速度を得たいなら、 float speed = llVecMag(llGetVel()); とすると純粋な速度(m/s)がfloat型で得られる。 llVecMag関数はvectorの長さを得る関数。 オブジェクトの移動方向を知りたいなら、 vector normal = llVecNorm(llGetVel()); このようにすると長さ1mのvectorを得ることができる。 長さ1mのvectorのことを単位ベクトルと言い、何かと便利な代物である。 何が便利かって、例えば、オブジェクトの進行方向5m先の座標を得たいと思った...
  • パーティクル
    パーティクルとは パーティクル関数(llParticleSystem関数) パーティクルモジュールパラメータの説明マスク・パラメータ パターン・パラメータ その他詳細パラメータ 応用編 パーティクルとは 小技というわけではありませんが、パーティクルシステムについては設定すべきパラメータが非常に多く、わかりにくいという声をしばしば聞きます。 ですので今回はパーティクルシステムの解説とサンプル・スクリプトを書いておくことにします。 パーティクルとは粒子のことです。 SLのパーティクルシステムは、煙や火、水しぶきなどの粒子を表現するための仕組みのことを言います。 スクリプトを使う以外にパーティクルを制御する方法はありません。 従って、粒子を使った表現をしようと思ったら、パーティクルシステムのスクリプトを使わなければなりません。 よく見かけるパーティクルを列...
  • 高度なカメラ制御
    はじめに カメラ制御とはポジション フォーカス ロック ディスタンス ピッチ ビハインドネス ラグ スレッショルド カメラ制御の関数llSetCameraParams関数 llClearCameraParams関数 llReleaseCamera関数 カメラ制御スクリプト俯瞰カメラ 固定追尾カメラ 完全固定カメラ カメラの動的制御 はじめに 「初級スクリプト」でカメラ制御について簡単な方法は紹介したのですが、さらに踏み込んだカメラ制御について書いておこうと思います。 高度なカメラ制御を使うと、一定の場所にカメラを固定するだけではなく、例えばアバターの周囲をぐるぐると回転させたり、俯瞰視点にしてみたり、はたまたカメラを固定してアバターが自由に歩き回れるようなものなど、面白い見せ方がいろいろとできます。 こうしたスクリプトは動画作成や乗り物、ライドなどに応用することができます。 ...
  • アバター/オブジェクト系
    アバター/オブジェクト系 アバター 関数・イベント名 区分 概要 定義 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 関数...
  • 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...
  • スクリプト小技
    LSLの常套手段やちょっと気の利いた使い方、特殊な関数など、tipsのような記事です。 基本的にLSLの基礎がわかっている方向けの内容になっています。 回転について(記述中) はじめに rotation型 vector型 vectorとrotation間の変換 回転の向きについて rotationの合成 回転の合成順序 グローバル座標系とローカル座標系 リンクプリムの回転 テレポート テレポートハック 移動型テレポーター LSLで日本語を使う はじめに listenによる入力 URLエスケープの使用 その他の方法 パーティクル パーティクルとは パーティクル関数(llParticleSystem関数) パーティクルモジュールパラメータの説明マスク・パラメータ パターン・パラメータ その他詳細パラメータ 応用編 鍵をかける はじめに 鍵をかけることの意味操作...
  • llClearCameraParams
    llClearCameraParams llClearCameraParams() スクリプトで制御していたカメラのパラメータを全てリセットしてデフォルト状態に戻す。 使用する際にはPERMISSION_CONTROL_CAMERAパーミッションが必要である。 スクリプトからカメラを制御するにはllSetCameraParams関数を使う。
  • 物理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 関数 ...
  • テレポート
    テレポートハック 移動型テレポーター テレポートハック 初心者さん向けのスクリプト解説記事を書いたところ、 「んなことはわかってる!もっと役に立つことを書かんかい!」 というお叱りを受けたので(笑)、ある程度スクリプトのことはわかっている人向けに、スクリプトの小技を紹介するカテゴリを設けました。 まずは有名どころから。 「テレポートハック」と呼ばれるスクリプトです。 最初にスクリプトコードを載せておきます。 01 vector offset = 0.0, 0.0, 10.0 ; // テレポート位置 02 rotation rot = ZERO_ROTATION; 03 04 default { 05 state_entry(){ 06 llSitTarget(offset, rot); 07 } 08 ...
  • llSetLinkColor
    llSetLinkColor llSetLinkColor(integer linknumber, vector color, integer face) 引数linknumberのリンクprimに関して、引数faceで指定した面の色を引数colorで指定した色にする。 引数colorについてはllSetColor関数を参照。 引数faceについてはllGetColor関数を参照。 名前 コメント
  • 照明を作ろう
    はじめに build ライト効果の設定 初めての照明スクリプト 同じ処理をまとめよう 今回のポイント はじめに 椅子、ドアと作ってきたことで、だいぶスクリプトの構成については理解できてきたと思います。 今回はさらに練習として、照明を作ってみましょう。 ただの照明では面白くありませんので、カラフルに色が変わるものにしたいと思います。 build お好みで照明器具を作りましょう。 ランプ型、蛍光灯型、電球型、なんでも構いません。 私はこんなのを作りました。 Snapshot_107.jpg 手抜きなスタンドライトですw ライト効果の設定 今回のスクリプトは、タッチするたびに照明の色が変わるものにしましょう。 最初は明かりがついていなくて、タッチすると赤く光り、次にタッチすると緑、さらにタッチすると青、もう一度タッチすると照明が消える(...
  • 土地系
    土地系 BAN 関数・イベント名 区分 概要 定義 llAddToLandBanList 関数 土地からアバターをBANする llAddToLandBanList(key agent, float hours) llAddToLandPassList 関数 土地の通行許可をアバターに与える llAddToLandPassList(key agent, float hours) llRemoveFromLandBanList 関数 BANリストから指定アバターを削除する llRemoveFromLandBanList(key avatar) llRemoveFromLandPassList 関数 通行許可リストから指定アバターを削除する llRemoveFromLandPassList(key avatar) 土地 関数・イベント名 区分 概要 定義 llEdgeOfWor...
  • llVecNorm
    llVecNorm vector llVecNorm(vector v) 引数に指定したvector値vの単位ベクトルを得る。 単位ベクトルとは長さが1となるようなvector値のことで、指し示す方向は元のベクトルと同じもののことを言う。 例えば 2,0,0 はX方向に2mの大きさを持つベクトルであるが、このベクトルの単位ベクトルは、 1,0,0 である。 方向は同じX方向で、大きさが1mとなっている。 単位ベクトルがどのような場合に使えるかと言うと、例えばある二つのオブジェクトA,Bがあり、オブジェクトAをオブジェクトBに向けて15cmずつ動かしたい、などという状況を考えてみる。 オブジェクトAの座標をv1、Bの座標をv2とすると、AからBへ向かうベクトルは、v2 - v1である。 その単位ベクトルをv0とすると、 vector v0 = ll...
  • llGetColor
    llGetColor vector llGetColor(integer face) 指定した面の色を得る。 faceにはprimの面を示す整数値を指定するが、例えばキューブタイプのprimであれば各面の値は以下のようになっている。 通常時 面 faceの値 上面 0 -Y方向の面 1 +X方向の面 2 +Y方向の面 3 -X方向の面 4 下面 5 Hollow(くり抜き)の場合 面 faceの値 上面 0 -Y方向の面 1 +X方向の面 2 +Y方向の面 3 -X方向の面 4 hollow内部 5 下面 6 パスカットの場合 面 faceの値 上面 0 -Y方向の面 1 +X方向の面 2 +Y方向の面 3 -X方向の面 4 下面 5 パスカット開始面 6 パスカット終了面 7 くり抜いてパスカットしちゃったりした場合 面 faceの値 上面 0 ...
  • エラー対応
    エラーが出る原因と対処方法についてまとめてみました。 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...
  • データ系
    データ系 数学 関数・イベント名 区分 概要 定義 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...
  • llList2Vector
    llList2Vector vector llList2Vector(list src, integer index) リストsrcのindex番目の要素をvector型として取り出す。 先頭要素は0番目と数えるので注意すること。 指定した要素がvector型として取り出せないような要素だった場合(例えば0.27とか"yah-yah"など)はZERO_VECTORが返る。 仮に文字列で" 10.0, 0.0, 12.5 "などと入っていた場合でも、戻り値はZERO_VECTORになるようだ。 ただしこの場合、一旦文字列で要素を取り出し、それからvector型にキャストすると正しく読み込める。 vector p = (vector)llList2String(pos,0); ...
  • ダイアログを使おう
    はじめに ダイアログllDialog関数 ダイアログ対応版照明スクリプト リストを使いこなすllListFindList関数 今回のポイント はじめに 照明スクリプトだけで三回にも及んでしまいました(^^; ですが、照明スクリプト一回目の「ユーザー関数」、二回目の「listen」、そして今回の「ダイアログ」はlslの中でも使用頻度の高いものばかりですので、ぜひとも使い方をマスターしていただきたい部分です。 この回から初めて見たという方は、第六回の「照明を作ろう」から戻ってお読みいただくのが良いかと思います。 照明のスクリプト作成について順を追って解説しております。 さすがに照明スクリプトがこれだけ続くと、いいかげん目がチカチカして来そうですw 今回は頑張って完成まで行き着きたいと思います。さて照明スクリプトですが、前回までで、チャットで色名を発言することで照明の色...
  • llScaleTexture
    llScaleTexture llScaleTexture(float horizontal, float vertical, integer side) 引数faceで指定した面のテクスチャのスケール(リピート)を設定する。 スケールは引数horizontalで水平方向の倍率、引数verticalで垂直方向の倍率を指定する。 この関数で指定する水平・垂直方向のテクスチャ倍率は、ビルドツールで指定できる"Repeats per Face Horizontal (U)"及び"Vertical (V)"と等しい。 面の指定方法はllGetColor関数の説明を参照。 primの形状によって面番号は異なる。 この関数の実行には0.2秒かかる。 テクスチャのスケールをコントロールするには他にllSetPrimitiv...
  • prim間通信
    はじめに 色を変える 簡易版カラーチェンジャー 拡張性の問題 prim間通信の仕組みllMessageLinked関数 link_messageイベント カラーチェンジャースクリプト ロングタッチ 今回のポイント はじめに しばしばカツラなどに組み込まれている色変更のスクリプトを作ってみましょう。 単純に色を変えるだけのスクリプトであれば、ここまで読んできた方には簡単に出来ると思います。 ですが、今回は特にprim間の通信を行う方法使って、拡張性の高いスクリプトを考えてみたいと思います。 prim間通信とは、llMessageLinked()という関数を使い、リンクされているprim同士でメッセージをやり取りする方法です。 これを使うと、一つのprimを操作したときに、別のprimを操作することができるようになります。 色を変える primの色を変えるのは...
  • rez!
    はじめに rezするllRezObject rezされるon_rez?(integer param) temp rezスクリプト 今回のポイント はじめに 初級者向けに説明すべきことはもはやほとんど残っていません(^^; もちろん、lslに関してはまだまだ膨大な機能があり、触れていない部分は多いのですが、あくまでも「初級」ということであれば、残っているのは今回扱うrezを含めて2、3の項目くらいかと思います。 ちなみに今まで一切触れてこなかった機能として、物理系のスクリプトがあります。 物理系のスクリプトとは、SL内の物理的なオブジェクトを扱うための関数群のことです。 例えば加速させたり、重力を無くしたり、コマのように回転する力を加えたりできるのですが、これらの関数についてはスクリプトの知識というよりはSL内物理学の知識が必要になってきますので、初級者向けの対象外と...
  • llGetBoundingBox
    llGetBoundingBox list llGetBoundingBox(key object) 指定したUUIDのオブジェクト(またはアバター)の当たり判定領域を取得する。 当たり判定の領域のことをバウンディングボックスと言う。 通常バウンディングボックスはオブジェクトをすっぽり覆う立方体で示される。 この関数の戻り値は、vector型変数を二つ含むリストである。 二つのvectorは、バウンディングボックスの最小コーナー座標及び最大コーナー座標を示す。 以下の例はLSL-Wikiからそのまま持ってきたスクリプトであるが、バウンディングボックスを視覚化する。 半透明のキューブに以下のスクリプトを仕込み、チャンネル3で対象のオブジェクト名を指定する。 例えば「/3 Miz Cremorne」と発言すれば、私のアバターのバウンディングボックスを見ること...
  • 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...
  • llRezObject
    llRezObject llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param) 引数inventoryで指定した名前のオブジェクトをrezする。 オブジェクトはコンテンツ内になければならない。 コンテンツ内に無いオブジェクトをrezしようとすると、 Couldn t find object XXXX というエラーが発生する。 また、rez不可能なアイテム(テクスチャとかサウンドなど)を指定すると、 Unable to create requested object. Object is missing from database. と叱られるんだそうだ(未確認)。 rezする位置は引数posで指定するが、posはワールド座標なので注意すること...
  • カメラ制御
    はじめに カメラコントロール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、スクリプトを使った動きのある看板に挑戦してみましょう。 照明...
  • イベント系
    イベント系 タッチ 関数・イベント名 区分 概要 定義 touch イベント タッチされているとき touch(integer num_detected) touch_end イベント タッチが終了したとき touch_end(integer num_detected) touch_start イベント タッチが開始されたとき touch_start(integer num_detected) llSetTouchText 関数 パイメニューの「Touch」を他の文字列に変更する llSetTouchText(string text) アタッチ 関数・イベント名 区分 概要 定義 attach イベント アタッチ/デタッチされたとき[参考]初級lsl-21 attach(key id) llAttachToAvatar 関数 オブジェクトをAttachさせる ...
  • llApplyImpulse
    llApplyImpulse llApplyImpulse(vector force, integer local) 物理オブジェクトに瞬間的な力を加える。 力の方向及び強さは引数forceで指定する。 引数localがTRUEの場合、forceはオブジェクトのローカル軸に対して働き、FALSEの場合はグローバル座標に対して働く。 物理オブジェクトに力を加える関数としては、大別してこのllApplyImpulse関数とllSetForce?関数の二つがある。 この二種類の関数の違いは、加える力が瞬間的か恒久的かの違いである。 インパルス系の関数は、瞬間的な力である。 例えばゴルフボールをグラブで引っぱたいたような場合、ボールに加えられる力は瞬間的なものであって、その後ボールは徐々にエネルギーを失い、落下する。 フォース系の関数は恒久的な力である。 ロケ...
  • llVecDist
    llVecDist float llVecDist(vector v1, vector v2) 引数に指定した二つのvector値v1とv2の間の距離を返す。 以下引数と戻り値の例: v1 v2 戻り値(距離) 0,0,0 1,0,0 1 0,0,0 0,0,-10 10 10,0,10 10,0,0 10 20,0,19 20,0,0 19 この関数の内部処理は2次元座標における2点間の距離の計算と同様である。 座標(x1,y1)と(x2,y2)の距離 = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)の平方根 いわゆる三平方の定理。 三次元版は、 座標(x1,y1,z1)と(x2,y2,z2)の距離 = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z...
  • llGetTorque
    llGetTorque vector llGetTorque() トルクを得る。 トルクというのはオブジェクトの物理回転力のことである。 間違ってもティルクではない。 物理オブジェクトの「フォース」と言うと永続的なオブジェクトの運動力を指すが、フォースは直線的な力である。 トルクは同様に永続的な運動力だが、回転を与える力である。 llGetForce関数やllSetTorque?関数も参照のこと。 名前 コメント
  • インターフェース系
    インターフェース系 UI 関数・イベント名 区分 概要 定義 llDialog 関数 ダイアログを表示する[参考]初級lsl-8 llDialog(key id, string message, list buttons, integer chat_channel) llMapDestination 関数 マップに指定位置を表示する[参考]初級lsl-9 llMapDestination(string sim_name, vector position, vector lookat) llSetSitText 関数 パイメニューの「Sit」を他の文字列に変更する llSetSitText(string text) llSetText 関数 フロートテキストを設定する[参考]初級lsl-9 llSetText(string text, vector color, float al...
  • 属性系
    属性系 面 関数・イベント名 区分 概要 定義 llGetNumberOfSides 関数 primの面数を得る integer llGetNumberOfSides() テクスチャ 関数・イベント名 区分 概要 定義 llGetTexture 関数 指定面のテクスチャーを得る string llGetTexture(integer side) llGetTextureOffset 関数 テクスチャーのオフセット値を得る vector llGetTextureOffset(integer side) llGetTextureRot 関数 テクスチャーの回転角度を得る float llGetTextureRot(integer side) llGetTextureScale 関数 テクスチャーのサイズを得る vector llGetTextureScale(integer side...
  • llGetSunDirection
    llGetSunDirection vector llGetSunDirection() 太陽の位置を示す単位ベクトルを得る。 この関数はSL内で見かけ上の「昼」か「夜」かを判定するのに利用される。 すなわち、llGetSunDirection関数の戻り値のZ値(垂直方向)が、 プラスであれば太陽は地平線よりも「上」=「昼」 マイナスであれば太陽は地平線よりも「下」=「夜」 と判断できる。 この関数の戻り値は、クライアントから変更可能な太陽位置とは無関係である。 たとえクライアント側で太陽の位置を「真昼」に設定していたとしても、実際にはSIMでは太陽が沈んでいるかもしれない。 関数の戻り値は実際の太陽の位置のほうである。 以下の例は夜か昼かを太陽の位置で判断する。 default { touch_start(integer detec...
  • llDetectedVel
    llDetectedVel vector llDetectedVel(integer number) 検知されたアバター/オブジェクトの速度及び進行方向を取得する。 主に衝突イベントにて使用される。 llDetectedVelはデテクト系の関数の一つである。 デテクト系関数についてはllDetectedKeyの説明もしくは初級スクリプト第二十回「センサーを使おう」のセンサーイベントについての説明を参照のこと。 以下の例は衝突したアバター/オブジェクトの速度を表示する。 default { collision_start(integer num_detected) { llSay(0, "Detected velocity is " + (string)llVecMag(llDetectedVel(0))); ...
  • llEuler2Rot
    llEuler2Rot rotation llEuler2Rot(vector vec) Euler形式の回転値をクォータニオン形式に変換する。 Eulerはオイラーと読む。 偉い人の名前である。 オイラー形式の回転値とは、X,Y,Zの回転角度をラジアンで指定したもののことで、LSLではvector型の変数で扱う。 クォータニオン形式の回転値とはLSLのrotation型のデータのことである。 回転を扱う際にクォータニオンが便利である理由について詳細には説明しないが、LSLにおいては回転は全てクォータニオンで扱われる。 しかしながら、一般的に回転値を指定するときにはクォータニオン形式はわかりにくく、オイラー形式のほうが比較的イメージしやすい。 そのため、我々人類が回転値をコーディングするときにはオイラー形式を使用し、LSLの回転関数を使うときにはこのll...
  • llGetInventoryNumber
    llGetInventoryNumber integer llGetInventoryNumber(integer type) 指定したtypeのアイテムがコンテンツ内にいくつあるかを返す。 アイテムのタイプには以下の値を使用する。 定数 値 説明 INVENTORY_ALL -1 全種類 INVENTORY_ANIMATION 20 アニメーション INVENTORY_BODYPART 13 ボディパーツ INVENTORY_CLOTHING 5 服 INVENTORY_GESTURE 21 ジェスチャー INVENTORY_LANDMARK 3 ランドマーク INVENTORY_NOTECARD 7 ノートカード INVENTORY_OBJECT 6 オブジェクト INVENTORY_SCRIPT 10 スクリプト INVE...
  • llPushObject
    llPushObject llPushObject(key id, vector impulse, vector angular_impulse, integer local) 引数idのUUIDで示されるオブジェクトまたはアバターを、impulse、angular_impulseに指定した強さでプッシュする。 impulseは直線方向に働く力、angular_impulseは回転を与える力になる。 引数localがTRUEだった場合、impulse、angular_impulseの数値はローカル座標系に対する向きと解釈される。 この関数はllPushObjectが"restricted"に設定されている土地上ではオーナーにのみ有効である。 ...
  • 回転について
    はじめに 回転を扱うプログラミングは、初めての人には少々敷居の高いものです。 何故なら回転は3Dグラフィックの知識がないと理解しにくく、例えばπ(パイ)とか三角関数のように、学校の数学で習うようなものではないからです。 まったく予備知識がない状態で回転の処理に取り組むのは、非常に難解なパズルに挑むのに似ています。 そう、例えばルービックキューブを独力で解ける人なら、回転プログラムも簡単に理解できるかもしれません(^^; ある程度LSLを使いこなしている人であっても、 「回転だけは・・・」 苦手意識を持っている人も少なくないくらいです。 私が受ける質問の中でも、回転関連のものはかなり多いです。 そんなわけで、ハッキリ言って回転は難しいです(^^; にもかかわらず回転を使わないといけない場面というのは非常に多いのです。 例えば単純なドアを作るのにも、回転は出てきま...
  • @wiki全体から「llSetVehicleVectorParam」で調べる

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

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