Difference between revisions of "LlCreateCharacter/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{LSL_Function/ja
{{LSL_Function/ja
|func=llCreateCharacter
|func=llCreateCharacter
|func_desc=Creates a pathfinding entity, known as a "character", from the object containing the script.  Required to activate use of pathfinding functions.
|func_desc=オブジェクトに含まれるスクリプトから、パスファインディング エンティティ(「キャラクター」と呼ばれる)を作成します。パスファインディング関数の使用を有効にするために必要です。
|func_footnote=By default, the character's shape will be an upright capsule approximately the size of the linkset, adjustable via the options list.  The linkset must use the land impact accounting system introduced with the mesh project.
|func_footnote=デフォルトでは、キャラクターの形状は、リンクセットのサイズにほぼ一致する垂直なカプセルになります。このサイズはオプションリストを介して調整できます。リンクセットはメッシュプロジェクトで導入されたランドインパクトの計算システムを使用する必要があります。
If called on an existing character, all unspecified parameters other than character size will revert to their defaults (if not specified, character size will not change). This is STRONGLY preferred over calling [[llDeleteCharacter]]() followed by [[llCreateCharacter]]() as it is much, much less taxing on the server.
既存のキャラクターで呼び出された場合、キャラクターサイズ以外の未指定のパラメータはデフォルトに戻ります(指定されていない場合、キャラクターサイズは変更されません)。これは、[llDeleteCharacter] を呼び出してから [llCreateCharacter] を呼び出す代わりに非常に強く推奨されます。サーバーへの負荷がはるかに少ないためです。
|p1_type=list
|p1_type=list
|p1_subtype=instructions
|p1_subtype=instructions
|p1_name=options
|p1_name=options
|p1_desc=Character configuration options.
|p1_desc=Character configuration options.
|constants={{LSL_Constants/llCreateCharacter}}
|constants={{LSL_Constants/llCreateCharacter/ja}}
|caveats=(subject to change)
|caveats=(変更の可能性あり)
* You only need to use one llCreateCharacter call per object, calling multiple times has no effect.
* 1つのオブジェクトにつき1回のみllCreateCharacter呼び出しが必要であり、複数回呼び出しても効果はありません。
* One script can contain an llCreateCharacter call and other scripts can exploit that with other path functions that require it.
* 1つのスクリプトにはllCreateCharacter呼び出しを含めることができ、他のスクリプトはそれを他のパス関数と一緒に利用できます。
* llCreateCharacter status survives state changes, script resets, and rezzing.
* llCreateCharacterのステータスはステートの変更、スクリプトのリセット、および再生成を生き抜きます。
* llCreateCharacter is always required for all pathing functions.
* llCreateCharacterは常に、すべてのパス関数に必要です。
* When an object becomes a character, its [[Mesh/Mesh_physics#Physics_Resource_Cost|physics weight]] becomes fixed at 15.
* オブジェクトがキャラクターになると、その[[Mesh/Mesh_physics#Physics_Resource_Cost|物理ウェイト]]は15に固定されます。
* If we have multiple scripts containing llCreateCharacter in the same object nothing untoward happens.
* 同じオブジェクト内にllCreateCharacterを含む複数のスクリプトがあっても、問題は発生しません。
* If multiple scripts use conflicting path functions in the same object (different prims or the same prim) one will take precedence randomly (apparently).
* 複数のスクリプトが同じオブジェクト内で競合するパス関数を使用する場合(異なるプリムまたは同じプリム)、ランダムに優先されるスクリプトがあります(らしい)。
* [[CHARACTER_MAX_SPEED]] - See {{JIRA|PATHBUG-42}} - In testing, we have found a desired speed of 10m/s to be plenty fast most uses and that higher speeds may produce unexpected results (particularly when navigating tight spaces or making sharp turns). March 15, 2012
* [[CHARACTER_MAX_SPEED]] - {{JIRA|PATHBUG-42}}を参照 - テストでは、所望の速度が10m/sで十分速いことがわかり、より高い速度は予期しない結果を生む可能性がある(特に狭いスペースを移動したり、急なターンをする場合)。 2012年3月15日
* [[CHARACTER_MAX_ANGULAR_ACCEL]] min = 1.5708
* [[CHARACTER_MAX_ANGULAR_ACCEL]] min = 1.5708
* The character's shape is a capsule (cylinder with spherical ends) with a length (from tip to tip) and a circular cross section of some radius. These two size parameters are what is controlled by the [[CHARACTER_LENGTH]] and [[CHARACTER_RADIUS]] params respectively.
* キャラクターの形状はカプセル(球状のエンドがある円柱)で、長さ(先端から先端まで)とある半径の円断面があります。これら2つのサイズパラメータはそれぞれ[[CHARACTER_LENGTH]]および[[CHARACTER_RADIUS]]で制御されます。
* Note that the character's true "length" cannot be smaller than twice the radius plus 0.1m; however, you're welcome to specify a value lower than that (but more than zero) -- the script shouldn't complain.  
* キャラクターの実際の "長さ" は、半径の2倍に0.1mを加えたものより小さくすることはできません。ただし、それよりも小さい値を指定しても(ゼロより大きい場合)、スクリプトはエラーを報告しません。
* The capsule is usually oriented vertically. Use <nowiki>[</nowiki>[[CHARACTER_ORIENTATION]], [[HORIZONTAL]]] if you need your character to be horizontal.
* 通常、カプセルは垂直方向に向けられています。キャラクターを水平にする必要がある場合は、<nowiki>[</nowiki>[[CHARACTER_ORIENTATION]][[HORIZONTAL]]]を使用します。
** Use a vertical capsule whenever possible; horizontal capsules may become stuck more easily than vertical capsules.
** 可能な限り垂直なカプセルを使用してください。水平のカプセルは垂直のカプセルよりも簡単に詰まる可能性があります。
* Removing the script from a prim will not stop pathing behavior, in the same way that particles and hover text remain. However, if the character encounters an error state, it will be unable to recover since there is no original script to get error handling from. Removing scripts from actively used characters is NOT recommended.  To stop a pathing command use <code>[[llExecCharacterCmd]]([[CHARACTER_CMD_STOP]], [])</code>.
* プリムからスクリプトを削除しても、パスに関する動作は停止しません。これは、粒子やホバーテキストが残るのと同様です。ただし、キャラクターがエラー状態に遭遇すると、エラーハンドリングを取得する元のスクリプトがないため、回復できません。アクティブに使用されているキャラクターからスクリプトを削除することはお勧めできません。 パスコマンドを停止するには、<code>[[llExecCharacterCmd]]([[CHARACTER_CMD_STOP]], [])</code>を使用します。
* The root prim's position determines the characters height above the surface; if your character sinks under the surface or is too high above it adjust the relative position of the root prim to the rest of the linkset (or create a new root prim, which you might texture invisible, to control your character's apparent height).
* ルートプリムの位置がキャラクターの地表上の高さを決定します。キャラクターが地表の下に沈んでしまうか、高すぎる場合は、ルートプリムの相対位置をリンクセットの残りに調整してください(または、キャラクターの見かけの高さを制御するために見えないようにテクスチャリングされた新しいルートプリムを作成します)。
* {{Anchor|ct-caveat}} The default value of [[CHARACTER_STAY_WITHIN_PARCEL]] depends on the [[CHARACTER_TYPE]].
* {{Anchor|ct-caveat}}[[CHARACTER_STAY_WITHIN_PARCEL]]のデフォルト値は[[CHARACTER_TYPE]]に依存します。
** If [[CHARACTER_TYPE]] is set to anything other than [[CHARACTER_TYPE_NONE]], then [[CHARACTER_STAY_WITHIN_PARCEL]] will default to [[TRUE]], so always explicitly set [[CHARACTER_STAY_WITHIN_PARCEL]] to [[FALSE]] if you don't want the character to stop at parcel borders.
** [[CHARACTER_TYPE]][[CHARACTER_TYPE_NONE]]以外に設定されている場合、[[CHARACTER_STAY_WITHIN_PARCEL]]のデフォルトは[[TRUE]]になります。したがって、キャラクターがパーセルの境界で停止しない場合は、常に[[CHARACTER_STAY_WITHIN_PARCEL]][[FALSE]]に明示的に設定してください。
|examples=
|examples=
<source lang="lsl2">
<source lang="lsl2">

Latest revision as of 11:59, 22 November 2023

要約

関数: llCreateCharacter( list options );

オブジェクトに含まれるスクリプトから、パスファインディング エンティティ(「キャラクター」と呼ばれる)を作成します。パスファインディング関数の使用を有効にするために必要です。

• list options Character configuration options.

デフォルトでは、キャラクターの形状は、リンクセットのサイズにほぼ一致する垂直なカプセルになります。このサイズはオプションリストを介して調整できます。リンクセットはメッシュプロジェクトで導入されたランドインパクトの計算システムを使用する必要があります。 既存のキャラクターで呼び出された場合、キャラクターサイズ以外の未指定のパラメータはデフォルトに戻ります(指定されていない場合、キャラクターサイズは変更されません)。これは、[llDeleteCharacter] を呼び出してから [llCreateCharacter] を呼び出す代わりに非常に強く推奨されます。サーバーへの負荷がはるかに少ないためです。

オプション デフォルト Range / Values 説明
CHARACTER_DESIRED_SPEED 1 6 [0.2, 40.0] 追跡速度(メートル毎秒)
CHARACTER_RADIUS 2 [0.125, 5.0] 衝突カプセルの半径を設定します。
CHARACTER_LENGTH 3 (0.0, 10.0] 衝突カプセルの長さを設定します。

値が半径の2倍に0.1mを加えたものより小さい場合、それは半径の2倍に0.1mに設定されます。

CHARACTER_ORIENTATION 4 VERTICAL VERTICAL, HORIZONTAL キャラクターの向きを設定します。
TRAVERSAL_TYPE 7 TRAVERSAL_TYPE_SLOW TRAVERSAL_TYPE_FAST, TRAVERSAL_TYPE_SLOW, TRAVERSAL_TYPE_NONE 100%歩行可能でない地形でのキャラクターの移動速度を制御します。速く移動する(例:道路を横断する猫)か遅く移動する(例:沼地を走る車)かを指定します。

_FASTまたは_SLOWを使用するには、CHARACTER_TYPEを指定する必要があります。

CHARACTER_TYPE 6 CHARACTER_TYPE_NONE CHARACTER_TYPE_A, CHARACTER_TYPE_B, CHARACTER_TYPE_C, CHARACTER_TYPE_D, CHARACTER_TYPE_NONE このキャラクターで使用される歩行可能係数を指定します。
CHARACTER_AVOIDANCE_MODE 5 AVOID_CHARACTERS | AVOID_DYNAMIC_OBSTACLES 組み合わせ可能なフラグ: AVOID_CHARACTERS, AVOID_DYNAMIC_OBSTACLES, AVOID_NONE キャラクターが他のキャラクターを避けないように、動的な障害物(比較的速い移動オブジェクトおよびアバター)を避けないように、またはその両方を指定できます。これは肯定的な意味でフレーム化されています([CHARACTER_AVOIDANCE_MODE, AVOID_CHARACTERS]は他のキャラクターを避けるがエージェントや動く車両を避けないキャラクターを作成します)。このパラメータをAVOID_NONEに設定すると、キャラクターはいずれのカテゴリも避けません。
CHARACTER_MAX_ACCEL 8 20 [0.5, 40.0] キャラクターの最大加速度。
CHARACTER_MAX_DECEL 9 30 [0.5, 60.0] キャラクターの最大減速度。
CHARACTER_DESIRED_TURN_SPEED 12 6 [0.02, 40.0] キャラクターの旋回時の最大速度--注意:これは緩く制約されています(つまり、特定の条件下でキャラクターはより高い速度で旋回する可能性があります)
CHARACTER_MAX_TURN_RADIUS 10 1.25 [0.1, 10.0] CHARACTER_DESIRED_TURN_SPEEDで移動する際のキャラクターの旋回半径
CHARACTER_MAX_SPEED 13 20 [1, 40.0] キャラクターの最大速度。動的な障害物を回避するときやTRAVERSAL_TYPE_FASTモードで低い歩行可能なオブジェクトを通過するときの速度に影響します。
CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES 14 TRUE TRUE or FALSE TRUEは既存の動作に一致します。FALSEに設定すると、パスファインディングのパフォーマンスが低い場合にキャラクターは失われた時間を取り戻そうとはしません。これにより、より信頼性のある移動が提供されるかもしれません(ただし、よりスタッタリーに見えるかもしれません)。
CHARACTER_STAY_WITHIN_PARCEL 15 Depends* TRUE or FALSE FALSEは従来の動作に一致します。TRUEに設定すると、パーセルの境界を片側の障害物として扱います(再入ることはできますが、自分自身では出られません)。

警告

(変更の可能性あり)

  • 1つのオブジェクトにつき1回のみllCreateCharacter呼び出しが必要であり、複数回呼び出しても効果はありません。
  • 1つのスクリプトにはllCreateCharacter呼び出しを含めることができ、他のスクリプトはそれを他のパス関数と一緒に利用できます。
  • llCreateCharacterのステータスはステートの変更、スクリプトのリセット、および再生成を生き抜きます。
  • llCreateCharacterは常に、すべてのパス関数に必要です。
  • オブジェクトがキャラクターになると、その物理ウェイトは15に固定されます。
  • 同じオブジェクト内にllCreateCharacterを含む複数のスクリプトがあっても、問題は発生しません。
  • 複数のスクリプトが同じオブジェクト内で競合するパス関数を使用する場合(異なるプリムまたは同じプリム)、ランダムに優先されるスクリプトがあります(らしい)。
  • CHARACTER_MAX_SPEED - PATHBUG-42を参照 - テストでは、所望の速度が10m/sで十分速いことがわかり、より高い速度は予期しない結果を生む可能性がある(特に狭いスペースを移動したり、急なターンをする場合)。 2012年3月15日
  • CHARACTER_MAX_ANGULAR_ACCEL min = 1.5708
  • キャラクターの形状はカプセル(球状のエンドがある円柱)で、長さ(先端から先端まで)とある半径の円断面があります。これら2つのサイズパラメータはそれぞれCHARACTER_LENGTHおよびCHARACTER_RADIUSで制御されます。
  • キャラクターの実際の "長さ" は、半径の2倍に0.1mを加えたものより小さくすることはできません。ただし、それよりも小さい値を指定しても(ゼロより大きい場合)、スクリプトはエラーを報告しません。
  • 通常、カプセルは垂直方向に向けられています。キャラクターを水平にする必要がある場合は、[CHARACTER_ORIENTATIONHORIZONTAL]を使用します。
    • 可能な限り垂直なカプセルを使用してください。水平のカプセルは垂直のカプセルよりも簡単に詰まる可能性があります。
  • プリムからスクリプトを削除しても、パスに関する動作は停止しません。これは、粒子やホバーテキストが残るのと同様です。ただし、キャラクターがエラー状態に遭遇すると、エラーハンドリングを取得する元のスクリプトがないため、回復できません。アクティブに使用されているキャラクターからスクリプトを削除することはお勧めできません。 パスコマンドを停止するには、llExecCharacterCmd(CHARACTER_CMD_STOP, [])を使用します。
  • ルートプリムの位置がキャラクターの地表上の高さを決定します。キャラクターが地表の下に沈んでしまうか、高すぎる場合は、ルートプリムの相対位置をリンクセットの残りに調整してください(または、キャラクターの見かけの高さを制御するために見えないようにテクスチャリングされた新しいルートプリムを作成します)。
  • CHARACTER_STAY_WITHIN_PARCELのデフォルト値はCHARACTER_TYPEに依存します。

サンプル

create_character()
{
//  Clear any previous character behaviors
    llDeleteCharacter();

//  MAX_SPEED is @ 20 by default
    llCreateCharacter([ CHARACTER_MAX_SPEED, 25,
                        CHARACTER_DESIRED_SPEED, 15.0]);
}

patrol_around(vector targetPos)
{
    list points = [targetPos + <5, 0, 0>, targetPos - <5, 0, 0>];
    llPatrolPoints(points, []);
}

default
{
    on_rez(integer start_param)
    {
        llResetScript();
    }

    state_entry()
    {
        create_character();
    }
 
    touch_start(integer num_detected)
    {
        patrol_around(llGetPos());
    }
}

特記事項

経緯

Date of Release 31/07/2012

Search JIRA for related Issues

脚注

  1. ^ 記事中の範囲は、 実数空間 に記載されているものです。

Signature

function void llCreateCharacter( list options );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。