LlGetPrimitiveParams/ja
From Second Life Wiki
メインページ > LlGetPrimitiveParams > LlGetPrimitiveParams/ja
| パラメータ | 返り値 | 解説 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [ 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 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フラグ | Style | 解説 | |||||||||||||||||||
| 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_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_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 ] |
| ||||||||||||||||||
| [ 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 ] | 廃止予定: プリミティブに影を割り付ける | ||||||||||||||||||
警告
- この関数は0.2秒間、スクリプトを停止します。
- プリムのインベントリからtextureが無い場合、 かつ、 UUIDで指定されていない場合、 あるいは、a textureでない場合、エラーが上でshoutされます。
- textureをUUID で指定した場合、オブジェクトに asset permissionsが追加されずに済みます。
- プリムのインベントリに内に置いた場合、その使用制限が当該オブジェクトにも引き継がれてしまいます
- プリムのインベントリからmapが無い場合、 かつ、 UUIDで指定されていない場合、 あるいは、a textureでない場合、エラーが上でshoutされます。
- mapをUUID で指定した場合、オブジェクトに 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 はプリミティブのパラメータを読みやすくします。
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

