LlGetPrimitiveParams/ja

From Second Life Wiki

メインページ > LlGetPrimitiveParams > LlGetPrimitiveParams/ja
Jump to: navigation, search

関数: list llGetPrimitiveParams( list params );

パラメータリストから指定したプリミティブのパラメータのlist値を返します。

• list params PRIM_* フラグ
パラメータ 返り値 解説
PRIM_TYPE ] 9 [ integer flag ] プリムの形状を取得します。
フラグ定数 get
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 mapinteger 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フラグ Style 解説
PRIM_SCULPT_TYPE_SPHERE 1 上と下が交わっていて、左から右に閉じています。
PRIM_SCULPT_TYPE_TORUS 2 ローラス 上と下に閉じていて、左側から右側に閉じています。
PRIM_SCULPT_TYPE_PLANE 3 平面 交わりも、閉じてもいません
PRIM_SCULPT_TYPE_CYLINDER 4 シリンダー 左側から右側に閉じています。
PRIM_SCULPT_FLAG_ZZZZZZZZ 63
PRIM_SCULPT_FLAG_INVERT 64 反転 あべこべに表示します(通常の反転)。
PRIM_SCULPT_FLAG_MIRROR 128 反射 スカルプティのX軸を反射して表示します。
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 ゴム
PRIM_MATERIAL_LIGHT 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_ROTATION ] 8 [ rotation rot ] 回転を取得します。
PRIM_SIZE ] 7

します。

[ vector size ] 大きさを取得します。
PRIM_TEXTURE, integer face ] 17 [ string texture, vector repeats, vector offsets, float rotation_in_radians ]
テクスチャ:
繰り返し:
オフセット:
回転:
PRIM_COLOR, integer face ] 18 [ vector color, float alpha ]
透過: llGetAlpha
:
PRIM_BUMP_SHINY, integer face ] 19 integer shiny, integer bump ]
shinybumpのフラグ 説明
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 ]
PRIM_CAST_SHADOWS ] 24 [ integer boolean ] 廃止予定: プリミティブに影を割り付ける

警告

  • この関数は0.2秒間、スクリプトを停止します。
  • プリムのインベントリからtextureが無い場合、 かつ、 UUIDで指定されていない場合、 あるいは、a textureでない場合、エラーが上でshoutされます。
  • textureUUID で指定した場合、オブジェクトに asset permissionsが追加されずに済みます。
    • プリムのインベントリに内に置いた場合、その使用制限が当該オブジェクトにも引き継がれてしまいます
  • プリムのインベントリからmapが無い場合、 かつ、 UUIDで指定されていない場合、 あるいは、a textureでない場合、エラーが上でshoutされます。
  • mapUUID で指定した場合、オブジェクトに asset permissionsが追加されずに済みます。
    • プリムのインベントリに内に置いた場合、その使用制限が当該オブジェクトにも引き継がれてしまいます
  • flagはfaceの値が示す面が存在しない場合、 エラーを返しません

オブジェクトが部分の光源であるかテストして、もしそうであればパラメータを取得します。

 
string msg = "Object is ";
integer isLight;
vector colour;
float intensity;
float radius;
float falloff;
list params = llGetPrimitiveParams([PRIM_POINT_LIGHT]);
isLight = llList2Integer(params, 0);
if (isLight == FALSE)
    msg += "not a light source.";
else
{
    colour = llList2Vector(params, 1);
    intensity = llList2Float(params, 2);
    radius = llList2Float(params, 3);
    falloff = llList2Float(params, 4);
    msg += "a point light source.\nColour = "+(string)colour;
    msg += "\nIntensity = "+(string)intensity;
    msg += "\nRadius = "+(string)radius;
    msg += "\nFalloff = "+(string)falloff;
}
llSay(0, msg);
 

部分的な利用

list GetPrimitiveParams(list input)
{//Returns a list that can be fed to llSetPrimitiveParams
    list output;
    integer c = ~(input != []);
    while(0x80000000 & (c = - ~c))
    {
        list flag = (list)llList2Integer(input, c);
        if(~llListFindList([PRIM_BUMP_SHINY, PRIM_COLOR, PRIM_TEXTURE, PRIM_FULLBRIGHT, PRIM_TEXGEN], flag ))
        {
            integer side = llList2Integer(input, (c = - ~c));
            if(~side)//pop the stack
                output += flag + side + llGetPrimitiveParams( flag + side );
            else
            {
                side = llGetNumberOfSides();
                do //we return the sides in reverse order, easier to code; runs faster.
                    output += flag + side + llGetPrimitiveParams( flag + (side = ~ -side) );
                while(side);
            }
        }
        else
            output += flag + llGetPrimitiveParams( flag );
    }
    return output;
}
//Contributed by Strife Onizuka

Anylyn Hax作のSetPrimitiveParams-Example はプリミティブのパラメータを読みやすくします。

関連項目

関数

•  llSetPrimitiveParams 複数のプリミティブのパラメータを設定します
•  llSetLinkPrimitiveParams

項目

•  LSL での色
•  透明度
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。
Personal tools
In other languages