Difference between revisions of "PRIM POSITION/ja"
Jump to navigation
Jump to search
JIRA で関連バグを検索する
Mako Nozaki (talk | contribs) m (Undo revision 850132 by Mako Nozaki (Talk)) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude>{{#if: | <onlyinclude>{{#if: | ||
{{#vardefine:position_const|{{LSL Const/ja|PRIM_POSITION|integer|6|c=プリムの位置を{{GetSet|{{{1|}}}|取得|設定|/}} | {{#vardefine:position_const|{{LSL Const/ja|PRIM_POSITION|integer|6|c=プリムの位置を{{GetSet|{{{1|}}}|取得|設定|/}}するために使用されます。}}}} | ||
{{#vardefine: | {{#vardefine:p_positionget_desc|[[Viewer_coordinate_frames/ja#リージョン (Region)|リージョン座標]] での位置。}} | ||
{{#vardefine:p_positionget_hover|リージョン座標での位置。}} | |||
{{#vardefine:p_positionset_desc|[[Viewer_coordinate_frames/ja#ローカル (Local)|ローカル座標]] または [[Viewer_coordinate_frames/ja#リージョン (Region)|リージョン座標]] での位置。状況によって異なります。}} | |||
{{#vardefine:p_positionset_hover|ローカル座標またはリージョン座標での位置。状況によって異なります。}} | |||
{{#vardefine:caveats-get|* '''{{LSL Param|positionget|position}}''' は常に [[Viewer_coordinate_frames/ja#リージョン (Region)|リージョン座標]] です。プリムが子プリムでも [[attachment/ja|アタッチメント]] でも同様です。}} | |||
{{#vardefine:caveats-set|{{#ifeq:{{{1|}}}|set|**|*}} 状況によって '''{{LSL Param|positionset|position}}''' は [[Viewer_coordinate_frames/ja#ローカル (Local)|ローカル座標]] か [[Viewer_coordinate_frames/ja#リージョン|リージョン座標]] のどちらかを指定する必要があります。詳細は [[llSetPos/ja#仕様|llSetPosの仕様]] を参照してください。 | |||
{{#ifeq:{{{1|}}}|set|**|*}} アタッチされていないルートプリムの場合、プリムが動ける範囲は限られています。{{#var:position_const}} 1 コールあたり 10m に制限されています。[[WarpPos/ja|WarpPos]] を参照してください。これは非常に特殊なケースです。 Do not rely on rule duplication of other flags - 結果は不定で、将来 '''きっと''' 壊れます。 | |||
{{#ifeq:{{{1|}}}|set|**|*}} {{#var:position_const}} で [[avatar/ja|アバター]] を動かすときは、 | |||
{{#ifeq:{{{1|}}}|set|***|**}} アバターが座っているプリムを動かしてもアバターは動きません。 | |||
{{#ifeq:{{{1|}}}|set|***|**}} アバターを動かしても、アバターが座っているプリムは動きません。 | |||
{{#ifeq:{{{1|}}}|set|***|**}} 座っている位置の座標はプリムの座標に素直に連動しません。[[llSitTarget/ja#便利なスペニット|SitTargetを更新]] を使ってください。 | |||
{{#ifeq:{{{1|}}}|set|***|**}} '''{{LSL Param|positionset|position}}''' が中心から 54 メートルを超えると、エラーを出さずに失敗します。}} | |||
{{#switch:{{{1|}}}|set={{#vardefine:caveats|{{#var:caveats}} | |||
* <span id="Caveats-PRIM_POSITION"></span> {{#var:position_const}} caveats | |||
{{#var:caveats-set}}{{#vardefine:caveats-set}}}} | |||
|get={{#vardefine:caveats|{{#var:caveats}} | |||
{{#var:caveats-get}}{{#vardefine:caveats-get}}}} | |||
}} | |||
{{#vardefine:PRIM_POSITION/SLPP&A| | |||
オブジェクトに座っているアバターを、[[llSetLinkPrimitiveParams/ja|llSetLinkPrimitiveParams]] と [[PRIM_POSITION/ja|PRIM_POSITION]] を使って動かすことができます。もともとは予定していなかった特性ですが、[http://jira.secondlife.com/browse/SVC-3408?focusedCommentId=88574#action_88574 Andrew Linden] により、リンデンはこの特性をサポートすることにしました。 | |||
=====例===== | |||
下の例では、座っているプリムの位置を動かさずに x,y,z の方向にアバターを動かします。x,y,z が呼び出し元から 54 メートルを超えると、何もエラーを出さずに失敗します。x,y,z は他のリンクされているオブジェクトのプリム同様、オブジェクトの相対座標であることに注意してください。 | |||
アバターは常にリンクセットの中の最後のプリムです。このため、[[llGetNumberOfPrims]] は乗り物に座っている 1 人のアバターにも使用できます。 | |||
例: <source lang="lsl2">llSetLinkPrimitiveParams(llGetNumberOfPrims(), [PRIM_POSITION, <x,y,z>]);</source> | |||
}} | |||
}}</onlyinclude>{{#if: | }}</onlyinclude>{{#if: | ||
Line 11: | Line 44: | ||
|type=integer | |type=integer | ||
|value=6 | |value=6 | ||
|desc= | |desc=PRIM_POSITION はプリムの位置を設定するために使用されます。 | ||
|pa={{LSL Constant/List/ja|i_front=[ {{#var:position_const}}, |i_end= ] | |pa={{LSL Constant/List/ja|i_front=[[llSetPrimitiveParams]]([ ..., {{#var:position_const}}, |i_end=, ... ]); | ||
|text= | |text={{LSL Constant/PrimParamText/ja|set}} | ||
{{LSL Generic/Caveats/ja|caveats={{#var:caveats-set}}|title=*}} | |||
|i1_type=vector|i1_name=position | ==={{LSLGC/ja|Avatar|アバター}}=== | ||
{{#var:PRIM_POSITION/SLPP&A}} | |||
|i1_type=vector|i1_name=positionset|i1_disp=position | |||
|toc=llSetPrimitiveParams | |toc=llSetPrimitiveParams | ||
}} | }} | ||
|pb={{LSL Constant/List/ja|i_front=[[ | |pb={{LSL Constant/List/ja|i_front=[[llGetPrimitiveParams]]([ ..., {{#var:position_const}}|i_end=, ... ]);| | ||
|r_front= | |r_front=[ |r_end= ] のリストを返します。 | ||
|text | |text={{LSL Constant/PrimParamText/ja|get}} | ||
|r1_type=vector|r1_name=position | {{LSL Generic/Caveats/ja|caveats={{#var:caveats-get}}|title=*}} | ||
|r1_type=vector|r1_name=positionget|r1_disp=position | |||
|toc=llGetPrimitiveParams | |toc=llGetPrimitiveParams | ||
}} | }} | ||
|examples | |examples | ||
|constants= | |constants= | ||
{{LSL ConstRow|PRIM_ROTATION/ja}} | |||
|functions= | |functions= | ||
{{LSL DefineRow||[[llGetPrimitiveParams/ja|llGetPrimitiveParams]]|}} | {{LSL DefineRow||[[llGetPrimitiveParams/ja|llGetPrimitiveParams]]|}} | ||
Line 36: | Line 72: | ||
{{LSL DefineRow||[[llGetRootPosition/ja|llGetRootPosition]]|}} | {{LSL DefineRow||[[llGetRootPosition/ja|llGetRootPosition]]|}} | ||
{{LSL DefineRow||[[llGetObjectDetails/ja|llGetObjectDetails]]|}} | {{LSL DefineRow||[[llGetObjectDetails/ja|llGetObjectDetails]]|}} | ||
|events= | |events | ||
|articles= | |||
{{LSL DefineRow||[[warpPos/ja|warpPos]]|}} | |||
|location | |location | ||
|cat1=Prim | |cat1=Prim |
Latest revision as of 12:55, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
解説
定数: integer PRIM_POSITION = 6;integer 定数 PRIM_POSITION の値は 6 です。
PRIM_POSITION はプリムの位置を設定するために使用されます。
llSetPrimitiveParams
llSetPrimitiveParams([ ..., PRIM_POSITION, vector position, ... ]);• vector | position | – | ローカル座標 または リージョン座標 での位置。状況によって異なります。 |
同じ構文が llSetLinkPrimitiveParams と llSetLinkPrimitiveParamsFast に適用されますが、頭に リンク パラメータがつきます。
警告
- 状況によって position は ローカル座標 か リージョン座標 のどちらかを指定する必要があります。詳細は llSetPosの仕様 を参照してください。
- アタッチされていないルートプリムの場合、プリムが動ける範囲は限られています。PRIM_POSITION 1 コールあたり 10m に制限されています。WarpPos を参照してください。これは非常に特殊なケースです。 Do not rely on rule duplication of other flags - 結果は不定で、将来 きっと 壊れます。
- PRIM_POSITION で アバター を動かすときは、
- アバターが座っているプリムを動かしてもアバターは動きません。
- アバターを動かしても、アバターが座っているプリムは動きません。
- 座っている位置の座標はプリムの座標に素直に連動しません。SitTargetを更新 を使ってください。
- position が中心から 54 メートルを超えると、エラーを出さずに失敗します。
アバター
オブジェクトに座っているアバターを、llSetLinkPrimitiveParams と PRIM_POSITION を使って動かすことができます。もともとは予定していなかった特性ですが、Andrew Linden により、リンデンはこの特性をサポートすることにしました。
例
下の例では、座っているプリムの位置を動かさずに x,y,z の方向にアバターを動かします。x,y,z が呼び出し元から 54 メートルを超えると、何もエラーを出さずに失敗します。x,y,z は他のリンクされているオブジェクトのプリム同様、オブジェクトの相対座標であることに注意してください。
アバターは常にリンクセットの中の最後のプリムです。このため、llGetNumberOfPrims は乗り物に座っている 1 人のアバターにも使用できます。
例:llSetLinkPrimitiveParams(llGetNumberOfPrims(), [PRIM_POSITION, <x,y,z>]);
llGetPrimitiveParams
llGetPrimitiveParams([ ..., PRIM_POSITION, ... ]);[ vector position ] のリストを返します。
• vector | position | – | リージョン座標 での位置。 |
同じ構文が llSetLinkPrimitiveParams と llSetLinkPrimitiveParamsFast に適用されますが、頭に リンク パラメータがつきます。
警告
JIRA で関連バグを検索する関連記事
定数
• | PRIM_ROTATION/ja |
関数
• | llGetPrimitiveParams | |||
• | llSetPrimitiveParams | |||
• | llSetLinkPrimitiveParams | |||
• | llGetPos | |||
• | llSetPos | |||
• | llGetLocalPos | |||
• | llGetRootPosition | |||
• | llGetObjectDetails |
記事
• | warpPos |