PRIM TYPE SCULPT/ja
< PRIM TYPE SCULPT
Jump to navigation
Jump to search
Revision as of 12:59, 25 February 2016 by SakuraNoel Fayray (talk | contribs)
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
解説
定数: integer PRIM_TYPE_SCULPT = 7;integer 定数 PRIM_TYPE_SCULPT の値は 7 です。
PRIM_TYPE_SCULPTは、指定の形状と型のスカルプトプリムを生成するのに用いるPRIM_TYPEのパラメータです。
Sculpted Prims: FAQ
PRIM_TYPE
[ PRIM_TYPE, PRIM_TYPE_SCULPT, string map, integer type ]• string | map | – | プリムの インベントリ の中にあるtextureまたは UUID | |
• integer | type | – | PRIM_SCULPT_TYPE_* フラグ。オプションで追加フラグ PRIM_SCULPT_FLAG_* flags を付け加えます。 |
llSetPrimitiveParams や llSetLinkPrimitiveParams で使用します。
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_SCULPT_TYPE_MASK は PRIM_SCULPT_FLAG_* フラグを type からフィルタして、PRIM_SCULPT_TYPE_* フラグを調べるのに使用します。主に llGetPrimitiveParams を使用するときにこの方法を適用できるでしょう。
警告
- map がプリムの中で見つからない場合、かつこれが UUID でない場合、またはこれがtextureでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
- map が UUID である場合、オブジェクト自体に新たな アセット権限 が発生するようなことはありません。
- アセットをプリムのインベントリの中に置いた場合、これまで発生していた使用制限は新しいオブジェクトで新たに作成されません。
関連記事
定数
• | PRIM_TYPE | |||
• | CHANGED_SHAPE |
関数
• | llSetPrimitiveParams | |||
• | llSetLinkPrimitiveParams | |||
• | llGetPrimitiveParams |
イベント
• | changed |
サンプル
llSetPrimitiveParams([PRIM_TYPE,
PRIM_TYPE_SCULPT,
"d962089b-2197-993c-9ec9-4993eb0a95f2", // スカルプトテクスチャー
PRIM_SCULPT_TYPE_SPHERE // タイプ
| PRIM_SCULPT_FLAG_MIRROR // パイプ | でそれぞれのフラグをつなぎます
]);
//異なるスカルプトタイプを順番に切り替えます。
default
{
touch_start(integer a)
{
list b = llGetPrimitiveParams([PRIM_TYPE]);
integer type = llList2Integer(b,2) % 4;
llSetObjectDesc(llList2String([ "Sphere",
"Torus",
"Plane",
"Cylinder"], type));
llSetPrimitiveParams(PRIM_TYPE + llList2List(b, 0, 1) + (type + 1));
}
}
//プリムをスカルプトにする簡単なスクリプトです。
default
{
state_entry()
{
llSetPrimitiveParams([
PRIM_TYPE, PRIM_TYPE_SCULPT, "your Sculpt map name in the object", PRIM_SCULPT_TYPE_SPHERE
, PRIM_TEXTURE, ALL_SIDES, "your texture name in the object", <1.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 0.0 //不要ならコメントアウト
// , PRIM_SIZE, <0.63,0.199,0.52> // オブジェクトの大きさ (サイズ) を変えたいときは、この行のコメントを外してください。
]);
} // スカルプトの表面が灰色なら、SL の見つかりませんでしたテクスチャが灰色なのでそれです。
}
特記事項
経緯
SVN:1053 r94734 Branch:trunk Tuesday, 19 August 2008- PRIM_SCULPT_FLAG_* 構文は Trank にマージされました。クライアント 1.21.0 でサポートされる見込みです。SVN:758 r91966 Branch:featurettes-5 Thursday, 10 July 2008- PRIM_SCULPT_FLAG_* 拡張構文のご紹介