LlSetPrimitiveParams/ja
From Second Life Wiki
Second Life Wiki > LlSetPrimitiveParams/ja
Contents |
| フラグ | 説明 | 使い方 |
|---|---|---|
| PRIM_NAME | プリムの名前を設定します。 | [ PRIM_NAME, string name ] |
| PRIM_DESC | プリムの説明を設定します。 | [ PRIM_DESC, string description ] |
| PRIM_TYPE | プリムの形状を設定します。 | [ PRIM_TYPE, integer flag ] + フラグパラメータ |
| PRIM_SLICE | プリム属性のスライスを設定します。 | [ PRIM_SLICE, vector slice ] |
| PRIM_PHYSICS_SHAPE_TYPE | プリムの物理形状タイプを設定します。 | [ PRIM_PHYSICS_SHAPE_TYPE, integer type ] |
| PRIM_MATERIAL | プリムの素材を設定します。 | [ PRIM_MATERIAL, integer flag ] |
| PRIM_PHYSICS | プリムの物理状態を設定します。 | [ PRIM_PHYSICS, integer boolean ] |
| PRIM_TEMP_ON_REZ | 臨時 属性を設定します。 | [ PRIM_TEMP_ON_REZ, integer boolean ] |
| PRIM_PHANTOM | オブジェクトのファントム状態を設定します。 | [ PRIM_PHANTOM, integer boolean ] |
| PRIM_POSITION | プリムの位置を設定します。 | [ PRIM_POSITION, vector position ] |
| PRIM_POS_LOCAL | プリムのローカル位置を設定します。 | [ PRIM_POS_LOCAL, vector position ] |
| PRIM_ROTATION | プリムの回転を設定します。 | [ PRIM_ROTATION, rotation rot ] |
| PRIM_ROT_LOCAL | プリムのローカル回転を設定します。 | [ PRIM_ROT_LOCAL, rotation rot ] |
| PRIM_SIZE | プリムの大きさを設定します。 | [ PRIM_SIZE, vector size ] |
| PRIM_TEXTURE | プリムのテキスチャ属性を設定します。 | [ PRIM_TEXTURE, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians ] |
| PRIM_TEXT | プリムのフローティングテキストを設定します。 | [ PRIM_TEXT, string text, vector color, float alpha ] |
| PRIM_COLOR | 面の色を設定します。 | [ PRIM_COLOR, integer face, vector color, float alpha ] |
| PRIM_BUMP_SHINY | 面の輝きと凹凸を設定します。 | [ PRIM_BUMP_SHINY, integer face, integer shiny, integer bump ] |
| PRIM_POINT_LIGHT | プリムをポイントライトとして設定します。 | [ PRIM_POINT_LIGHT, integer boolean, vector color, float intensity, float radius, float falloff ] |
| PRIM_FULLBRIGHT | 表面の明るさ全開フラグを設定します。 | [ PRIM_FULLBRIGHT, integer face, integer boolean ] |
| PRIM_FLEXIBLE | プリムをフレキシブルに設定します。 | [ PRIM_FLEXIBLE, integer boolean, integer softness, float float, float float, float float, float float, vector force ] |
| PRIM_TEXGEN | 表面のテクスチャモードを設定します。 | [ PRIM_TEXGEN, integer face, integer type ] |
| PRIM_GLOW | 表面のグロー属性を設定します。 | [ PRIM_GLOW, integer face, float intensity ] |
| PRIM_CAST_SHADOWS | プリムのキャストシャドウ属性を設定します。(廃止予定) | [ PRIM_CAST_SHADOWS, integer boolean ] |
| PRIM_TYPE_LEGACY | プリムの形状を設定します。(レガシー項目, 廃止予定) | [ 1, integer flag ] + flag_parameters |
| パラメータ | 付与パラメータ | 説明 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [ PRIM_NAME ] | 27 | [ string name ] | プリムの名前を設定します。 | ||||||||||||||||||
| [ PRIM_DESC ] | 28 | [ string description ] | プリムの説明を設定します。 | ||||||||||||||||||
| [ PRIM_TYPE ] | 9 | [ integer flag ] | プリムの形状を設定します。 | ||||||||||||||||||
| フラグ定数 | set | ||||||||||||||||||||
| PRIM_TYPE_BOX | 0 | [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_CYLINDER | 1 | [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_PRISM | 2 | [ integer hole_shape, vector cut, float hollow, vector twist, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_SPHERE | 3 | [ integer hole_shape, vector cut, float hollow, vector twist, vector dimple] | |||||||||||||||||||
| PRIM_TYPE_TORUS | 4 | [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ] | |||||||||||||||||||
| PRIM_TYPE_TUBE | 5 | [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ] | |||||||||||||||||||
| PRIM_TYPE_RING | 6 | [ integer hole_shape, vector cut, float hollow, vector twist, vector hole_size, vector top_shear, vector advanced_cut, vector taper, float revolutions, float radius_offset, float skew ] | |||||||||||||||||||
| PRIM_TYPE_SCULPT | 7 | [ string map, integer type ] Sculpted_Prims:_FAQ | |||||||||||||||||||
| hole_shape フラグ | 形状 | hole_shape フラグ | 形状 | ||||||||||||||||||
| PRIM_HOLE_DEFAULT | 0x00 | デフォルト | PRIM_HOLE_SQUARE | 0x20 | 正方形 | ||||||||||||||||
| PRIM_HOLE_CIRCLE | 0x10 | サークル | PRIM_HOLE_TRIANGLE | 0x30 | 三角形 | ||||||||||||||||
| type フラグ | 形状 | 説明 | |||||||||||||||||||
| PRIM_SCULPT_TYPE_SPHERE | 1 | 球形 | 上端と下端で収束し、左端が右端に縫合される | ||||||||||||||||||
| PRIM_SCULPT_TYPE_TORUS | 2 | トーラス | 上端が下端に縫合され、左端が右端に縫合される | ||||||||||||||||||
| PRIM_SCULPT_TYPE_PLANE | 3 | 平面 | 収束や縫合は行われない | ||||||||||||||||||
| PRIM_SCULPT_TYPE_CYLINDER | 4 | シリンダー | 左端が右端に縫合される | ||||||||||||||||||
| PRIM_SCULPT_FLAG_INVERT | 64 | 裏返し | 裏返しに表示 (法線を逆転させる) | ||||||||||||||||||
| PRIM_SCULPT_FLAG_MIRROR | 128 | ミラー | スカルプトされたプリムを X 軸上で反転する | ||||||||||||||||||
| [ PRIM_SLICE ] | 35 | [ vector slice ] | プリム属性のスライスを設定します。 | ||||||||||||||||||
| [ PRIM_PHYSICS_SHAPE_TYPE ] | 30 | [ integer type ] | プリムの物理形状タイプを設定します。 | ||||||||||||||||||
| typeフラグ | 値 | 説明 | ノート | ||||||||||||||||||
| PRIM_PHYSICS_SHAPE_PRIM | 0 | ノーマルプリム形状の物理に使います | メッシュでないオブジェクトのデフォルト値です | ||||||||||||||||||
| PRIM_PHYSICS_SHAPE_CONVEX | 2 | プリムの凸包形状の物理に使います | メッシュオブジェクトのデフォルト値です | ||||||||||||||||||
| PRIM_PHYSICS_SHAPE_NONE | 1 | プリムの物理形状を無視します | これをルートプリムに適用することはできません | ||||||||||||||||||
| [ PRIM_MATERIAL ] | 2 | [ integer material] | プリムの素材を設定します。素材は標準の 衝突音 と スプライト を決定します。 | ||||||||||||||||||
| 素材 フラグ | 説明 | ||||||||||||||||||||
| PRIM_MATERIAL_STONE | 0 | 石材 | |||||||||||||||||||
| PRIM_MATERIAL_METAL | 1 | 金属 | |||||||||||||||||||
| PRIM_MATERIAL_GLASS | 2 | ガラス | |||||||||||||||||||
| PRIM_MATERIAL_WOOD | 3 | 木材 | |||||||||||||||||||
| PRIM_MATERIAL_FLESH | 4 | 肌 | |||||||||||||||||||
| PRIM_MATERIAL_PLASTIC | 5 | プラスチック | |||||||||||||||||||
| PRIM_MATERIAL_RUBBER | 6 | ゴム | |||||||||||||||||||
| | 7 | 光, 廃止済み: [ PRIM_FULLBRIGHT, ALL_SIDES, TRUE ] と同じように見えます | |||||||||||||||||||
| [ PRIM_PHYSICS ] | 3 | [ integer boolean ] | 物理状態を設定します。 | ||||||||||||||||||
| [ PRIM_TEMP_ON_REZ ] | 4 | [ integer boolean ] | テンポラリ属性 | ||||||||||||||||||
| [ PRIM_PHANTOM ] | 5 | [ integer boolean ] | ファントム状態を設定します。 | ||||||||||||||||||
| [ PRIM_POSITION ] | 6 | [ vector position ] | 位置を設定します。 | ||||||||||||||||||
| [ PRIM_POS_LOCAL ] | 33 | [ vector position ] | ローカル位置を設定します。 | ||||||||||||||||||
| [ PRIM_ROTATION ] | 8 | [ rotation rot ] | 回転を設定します。 | ||||||||||||||||||
| [ PRIM_ROT_LOCAL ] | 29 | [ rotation rot ] | ローカル回転を設定します。 | ||||||||||||||||||
| [ PRIM_SIZE ] | 7 | [ vector size ] | 大きさを設定します。 | ||||||||||||||||||
| [ PRIM_TEXTURE, integer face ] | 17 | [ string texture, vector repeats, vector offsets, float rotation_in_radians ] |
| ||||||||||||||||||
| [ PRIM_TEXT ] | 26 | [ string text, vector color, float alpha ] |
| ||||||||||||||||||
| [ PRIM_COLOR, integer face ] | 18 | [ vector color, float alpha ] |
| ||||||||||||||||||
| [ PRIM_BUMP_SHINY, integer face ] | 19 | [ integer shiny, integer bump ] | |||||||||||||||||||
| shiny と bump のフラグ | 説明 | ||||||||||||||||||||
| PRIM_SHINY_NONE | 0 | なし | |||||||||||||||||||
| PRIM_SHINY_LOW | 1 | 低 | |||||||||||||||||||
| PRIM_SHINY_MEDIUM | 2 | 中 | |||||||||||||||||||
| PRIM_SHINY_HIGH | 3 | 高 | |||||||||||||||||||
| PRIM_BUMP_NONE | 0 | なし: 凹凸なし | |||||||||||||||||||
| PRIM_BUMP_BRIGHT | 1 | 明るさ:明るい光で生成されるもの | |||||||||||||||||||
| PRIM_BUMP_DARK | 2 | 暗さ:暗い光で生成されるもの | |||||||||||||||||||
| PRIM_BUMP_WOOD | 3 | 木目調 | |||||||||||||||||||
| PRIM_BUMP_BARK | 4 | 木の皮 | |||||||||||||||||||
| PRIM_BUMP_BRICKS | 5 | レンガ | |||||||||||||||||||
| PRIM_BUMP_CHECKER | 6 | チェッカー | |||||||||||||||||||
| PRIM_BUMP_CONCRETE | 7 | コンクリート | |||||||||||||||||||
| PRIM_BUMP_TILE | 8 | クラスティ・タイル | |||||||||||||||||||
| PRIM_BUMP_STONE | 9 | カットストーン:ブロック | |||||||||||||||||||
| PRIM_BUMP_DISKS | 10 | ディスク:束ねた輪っか | |||||||||||||||||||
| PRIM_BUMP_GRAVEL | 11 | 砂利 | |||||||||||||||||||
| PRIM_BUMP_BLOBS | 12 | ペトリ: 簡単なアメーバのような形状 | |||||||||||||||||||
| PRIM_BUMP_SIDING | 13 | 羽目板 | |||||||||||||||||||
| PRIM_BUMP_LARGETILE | 14 | ストーン・タイル | |||||||||||||||||||
| PRIM_BUMP_STUCCO | 15 | しっくい | |||||||||||||||||||
| PRIM_BUMP_SUCTION | 16 | 吸い込み:リング | |||||||||||||||||||
| PRIM_BUMP_WEAVE | 17 | 織目 | |||||||||||||||||||
| [ PRIM_FULLBRIGHT, integer face ] | 20 | [ integer boolean ] | |||||||||||||||||||
| [ PRIM_FLEXIBLE ] | 21 | [ integer boolean, integer softness, float float, float float, float float, float float, vector force ] | |||||||||||||||||||
| [ PRIM_TEXGEN, integer face ] | 22 | [ integer mode ] | |||||||||||||||||||
| モード定数 | 説明 | ||||||||||||||||||||
| PRIM_TEXGEN_DEFAULT | 0 | ||||||||||||||||||||
| PRIM_TEXGEN_PLANAR | 1 | ||||||||||||||||||||
| [ PRIM_POINT_LIGHT ] | 23 | [ integer boolean, vector color, float intensity, float radius, float falloff ] | |||||||||||||||||||
| [ PRIM_GLOW, integer face ] | 25 | [ float intensity ] | |||||||||||||||||||
| [ | 24 | [ integer boolean ] | 廃止予定: プリミティブに影を割り付ける | ||||||||||||||||||
| [ 1 ] | 1 | [ integer flag, paramaters ] | |||||||||||||||||||
| flag 定数 | フラグパラメータ | ||||||||||||||||||||
| PRIM_TYPE_BOX | 0 | [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_CYLINDER | 1 | [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_PRISM | 2 | [ vector cut, float hollow, float twist_end, vector top_size, vector top_shear ] | |||||||||||||||||||
| PRIM_TYPE_SPHERE | 3 | [ vector cut, float hollow, vector dimple ] | |||||||||||||||||||
| PRIM_TYPE_TORUS | 4 | [ vector cut, float hollow, float twist_end, float hole_size_y, vector top_shear, vector advanced_cut ] | |||||||||||||||||||
| PRIM_TYPE_TUBE | 5 | [ vector cut, float hollow, float twist_end, float topshear_x ] | |||||||||||||||||||
警告
- この関数は 0.2 秒間、スクリプトを停止します。
- texture がプリムの中で見つからない場合、かつこれが UUID でない場合、またはこれがtextureでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
- texture が UUID である場合、オブジェクト自体に新たな アセット権限 が発生するようなことはありません。
- アセットをプリムのインベントリの中に置いた場合、これまで発生していた使用制限は新しいオブジェクトで新たに作成されません。
- ストレージ媒体として フローティングテキスト の機能が使えると思わないでください。これは不完全ですし、安全なものでもありません。
- フローティングテキストはサーバの更新時に変更になったことが過去にあり、その際に既に設定されている内容は消去されていました。将来も変更が発生する可能性があります。
- 「不可視」[1] のフローティングテキストもクライアントに送信されます。
- 不可視にしているテキストを表示することのできるクライアントを持っている人が見れてしまう可能性があります。
- テキストが含まれている通信パケットが盗聴され、テキストが読まれる可能性があります。
- top_size とクライアントの値は異なります。範囲は一致しておらず、変換が必要です。シンプルな計算式は、結果 = 1.0 - value です。詳細は top_size Explained をご覧ください。
- map がプリムの中で見つからない場合、かつこれが UUID でない場合、またはこれがtextureでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
- map が UUID である場合、オブジェクト自体に新たな アセット権限 が発生するようなことはありません。
- アセットをプリムのインベントリの中に置いた場合、これまで発生していた使用制限は新しいオブジェクトで新たに作成されません。
- PRIM_POSITION caveats
- 状況によって position は ローカル座標 か リージョン座標 のどちらかを指定する必要があります。詳細は llSetPosの仕様 を参照してください。
- アタッチされていないルートプリムの場合、プリムが動ける範囲は限られています。PRIM_POSITION 1 コールあたり 10m に制限されています。WarpPos を参照してください。これは非常に特殊なケースです。 Do not rely on rule duplication of other flags - 結果は不定で、将来 きっと 壊れます。
- PRIM_POSITION で アバター を動かすときは、
- アバターが座っているプリムを動かしてもアバターは動きません。
- アバターを動かしても、アバターが座っているプリムは動きません。
- 座っている位置の座標はプリムの座標に素直に連動しません。SitTargetを更新 を使ってください。
- position が中心から 54 メートルを超えると、エラーを出さずに失敗します。
- PRIM_PHANTOM, PRIM_PHYSICS と PRIM_TEMP_ON_REZ はオブジェクト全体(リンクセット)に適用されます。
- 値はズレたり、切り捨てられたり、上限があったりすることもあります。描画の前にデシリアライゼーションの過程でクライアントがかける制限もあれば、SIM が値を格納する前にかける制限もあります。
- vector と rotation をテストする時には、(それぞれ) llVecDist と llAngleBetween を使ってファジングを行いましょう。
- face が ALL_SIDES であれば flag は全ての面に作用します。
- face が存在しない面を指している場合、 flag はエラーを出さずに復帰します。
- スクリプトは、2004年9月以前のものはPRIM_TYPEが1の値を示すかどうかで書かれていました。これらのスクリプトが再コンパイルされる場合、新しい値のPRIM_TYPEはコンパイルエラーを起こすでしょう。
- 修正するには、これをPRIM_TYPEフラグと1の値に置き換えるか、新しいPRIM_TYPE構文にアップデートします。
- PRIM_ROTATION は子プリムでバグがあります。議論と修正については特記事項を参照してください。
- この関数は与えられたデータの型が間違っていたらエラーを返します。これは、ユーザ入力やノートカードでデータを渡すときに問題になってきます。改善するには、この List Cast 関数を参照してください。 list_cast
重要事項
~ JIRA で関連バグを検索| | | SVC-914 | [C] | CHANGED_TEXTURE is not triggered when texture is changed via script | |
| | | SVC-93 | [C] | llSetRot and llSetPrimitiveParams (using PRIM_ROTATION) incorrectly implemented for child prims. |
サンプル
// プリムの全ての面を黒にします。面番号 3 の面だけは白くします。 llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0.0,0.0,0.0>, 1.0]); llSetPrimitiveParams([PRIM_COLOR, 3, <1.0,1.0,1.0>, 1.0]); // 面番号 3 の面を描画します。 // 画像を UUID で指定して... // 面ごとに繰り返す数をベクトルに指定して、 // テクスチャのずれを 2 番目のベクトルに指定して // テクスチャの回転を浮動小数点数で指定します。 llSetPrimitiveParams([PRIM_TEXTURE, 3, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>, 0.0]); // 面番号 3 を「フルブライト」にします。 llSetPrimitiveParams([PRIM_FULLBRIGHT,3,TRUE]); // そしてこれらを一気にやる方法です。 llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0.0,0.0,0.0>, 1.0, PRIM_COLOR, 3, <1.0,1.0,1.0>, 1.0, PRIM_TEXTURE, 3, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>, 0.0, PRIM_FULLBRIGHT, 3, TRUE]); //さらにこれをベッドの上に置いて、よく眠れるようにしたいとき、その座標が例えば <x, y, z> なら llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <0.0,0.0,0.0>, 1.0, PRIM_COLOR, 3, <1.0,1.0,1.0>, 1.0, PRIM_TEXTURE, 3, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>,0.0, PRIM_FULLBRIGHT, 3, TRUE, PRIM_POSITION, <x, y, z>]); //複数の面に時間のペナルティなしでテクスチャを一度に設定することができます。 //パラメタを設定するぶん繰り返すだけです。 llSetPrimitiveParams([ PRIM_TEXTURE, 3, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>, 0.0, PRIM_TEXTURE, 4, "4d304955-2b01-c6c6-f545-c1ae1e618288", <1.0,1.0,0.0>, <0.0,0.0,0.0>, 0.0 ]);
Top-size (テーパー)
default { state_entry() { vector XYZ = llGetScale(); float X = XYZ.x; float Y = XYZ.y; llSetPrimitiveParams([PRIM_SIZE, <X,Y,0.1>, // プリムを薄くしておきます PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0,1.0,0.0>, 0.0, ZERO_VECTOR, <1.0 - (0.4 / X), 1.0 - (0.4 / Y), 0.0>, ZERO_VECTOR]); //方程式「解 = 1 - 希望するテーパー」を使用します //プリムの大きさが変更になっても top-size (テーパー) の比が維持される (できるだけ近づく) ようになります。 //上の比率はでいい感じの額縁のようなものを作ることができます。 } changed(integer change) { if(change & CHANGED_SCALE) { llResetScript(); } } }
関連項目
関数
| • | llGetPrimitiveParams | – | 多くのプリムのパラメータを取得します | |
| • | llSetLinkPrimitiveParams | |||
| • | llSetAlpha | – | アルファ(透明度)を設定する簡単な方法です | |
| • | llSetTexture | – | テクスチャを設定する簡単な方法です | |
| • | llSetColor | – | 色を設定する簡単な方法です | |
| • | llSetScale | – | 大きさを設定する簡単な方法です | |
| • | llSetStatus | – | 物理属性とファントムを設定する簡単な方法です |
記事
| • | 各種制限 | – | SL の制限と制約 | |
| • | LSL での色 | |||
| • | 透明度 | |||
| • | LSL での色 | |||
| • | 透明度 |
特記事項
| 範囲 | 尖る | 尖らない | 底が尖る | |
|---|---|---|---|---|
| クライアント | [-1, 1] | 1.0 | 0.0 | -1.0 |
| PRIM_TYPE | [0, 2] | 0.0 | 1.0 | 2.0 |
| LEGACY | [0, 1] | 0.0 | 1.0 | なし |
| 1.11 以前 | [0, 1] | 0.0 | 1.0 | なし |
top_size について解説
もともとの PRIM_TYPE のインターフェースが廃止されたとき (PRIM_TYPE_LEGACY, SL 1.5)、新しい PRIM_TYPE インターフェースはプリムの底を尖らせる機能がまだサポートされておらず、SL 1.11 (2年後) になってようやく導入されました。これが導入され新しい PRIM_TYPE が廃止されたときに、top_size の範囲が拡張されました。 それまでの間、クライアントの中で属性とその定義値が再定義されていました。この再定義と範囲の拡張により、異なる値で同じことをする2つのインターフェースが存在することになりました。それまでの間 PRIM_TYPE_LEGACY のインターフェースは更新されず、プリムの底を尖らせるのはサポートされないままでした。その結果、3つのインターフェースがそれぞれ異なる範囲をもつことになり、いじわるな警告をつけるはめになってしまいました。
記事
~ JIRA で関連記事を検索| | | SVC-914 | [C] | CHANGED_TEXTURE is not triggered when texture is changed via script | |
| | | SVC-93 | [C] | llSetRot and llSetPrimitiveParams (using PRIM_ROTATION) incorrectly implemented for child prims. |
脚注
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

