NPC (非プレイヤーキャラクター) は、エクスペリエンスに深度を追加することができます。以下のすべての NPC は、視覚的にカスタマイズできます、および、行動変更修正 、および、ゾンビ/ソルジャーは、プレイヤーまたは他のキャラクターを攻撃または使用してタグシステムを使用してビークン
ゲームでNPC を使用するには:
次の NPC キットの 1 つを選択してください:
NPC のアイテムページで、緑の 取得する ボタンをクリックし、取引を確認します。
In Roblox Studio, ツールボックスを開きます ツールボックス ( ビュー → ツールボックス )。
Select your toolbox インベントリ section.
NPC を見つけ、クリックして場プレースに追加します。
キャラクター構造
NPC モデルには、次のオブジェクトが含まれています:
オブジェクト名または [Type] | タイプ | 説明 |
---|---|---|
アニメーション | Folder | Class.Animation|Animations 、AttackAnimation 、または DeathAnimation などのコンテンツを含む。 |
イニシャルポーズ | Folder | ポーズ情報を含みます。 |
アニメートする | Script | キャラクターリグにアニメーションを読み込み、プレイします。詳細は、アニメート を参照してください。 |
[アクセサリー] | Accessory | 帽子、武器などの NPC の 1つの可能な複数の Accessories 。 |
健康 | Script | 通常、Humanoid の体力を時間の経過とともに再生します。これを無効にすると、キャラクターの体力を再生できません。 |
ヒューマノイド | Humanoid | Class.Humanoid 関連のプロパティを管理します。例えば、Humanoid.Health、Humanoid.WalkSpeed、1>Class.Humanoid.DisplayDistanceType1>など。 |
NPC | Script | キャラクター固有の動作、例えばローミング、攻撃などを定義します。親は次のオブジェクトです: マイド ( Class.ModuleScript) は、リ |
RbxNpcSounds | Script | キャラクターのサウンドエフェクトのようなキャラクターの音に関連する動作を定義し、管理します。 |
ボディパーツ | BasePart | Motor6D や約束オブジェクトなど、ヒューマノイドルートパートまたは近くのボディパーツに接続されたさまざまなキャラクターボディパーツを参照してください。ボディパーツ について詳細は、ボディパーツ を参照してください。 |
ヒューマノイドルートパーツ | BasePart | リグのルートとして考えられる特別な見えない部分;これは、キャラクターの PrimaryPart の Model です。 |
構成 | Configuration | さまざまな動作を調整する値オブジェクトを含まれています。詳細は 構成 を参照してください。 |
デザインのメモ
NPC キットを使用するときは、次のデザインメモを慎重に検討してください:
NPC の外観は、さまざまな [ボディパーツ] オブジェクトを追加/変更し、Accessory オブジェクトを追加することでカスタマイズできます。
ソルジャー、ドローリングゾンビ、および NP-C 9000 ロボットは、Rthro を基本としていますが、RO-01 ロボットは、上半身に接続されたストライダーパーツを使用して、WeldConstraints を使用して追加のジオメトリーを含める
基本レベルでは、NPC アニメーションは、AnimationId の既存のアニメーションオブジェクトを変更することでカスタマイズできます。この変更は、アニメーシ
アニメート
NPC Script のアニメーション Model ハンドルは、アニメーション 関連の設定を処理し、次のオブジェクトを含みます:
オブジェクト名または [Type] | タイプ | 説明 |
---|---|---|
スケールダンピングパーセント | NumberValue | キャラクターのスケールに応じてアニメーションの速度がどのように変更されるかを定義します (1 未満は、キャラクターのスケールに対応するアニメーションプレイヤーのスケールを逆にすることを意味します)。 |
プレイエモート | BindableFunction | これは、他のスクリプトによってポーズの仮定を強制するために呼び出されることがあります。 |
[ポーズ] | StringValue | 休憩、ジャンプ、歩行などのプレイ可能なアニメーションカテゴリに参照します。このオブジェクトは、Animations の任意の数の親になります。これらのClass.Animation|Animations親は、ポーズが示されたときに最優先のアニメ |
ボディパーツ
NPC BasePart のボディパーツ Model は、さまざまなキャラクターボディパーツを表示し、次のオブジェクトを含みます:
オブジェクト名または [Type] | タイプ | 説明 |
---|---|---|
アバターパーツスケールタイプ | StringValue | パーツのサイズを決定します。値は クラシック 、 比例 、または 比例 になります。 |
オリジナルサイズ | Vector3Value | キャラクターのスケーリングが 1 のとき、パーツのサイズを決めます。 |
[アタッチメント] | Attachment | スクリプト、エフェクト、オブジェクトのようなポジションに関連する個々のパーツを定義します。定義されたパーツは、Tool または Accessory などのスクリプトポジションに使用される場合があります。 |
[モーター6D] | Motor6D | 2つのボディパーツのアニメーションジョイント。Animator は、Motor6Ds の名前に基づいて、Motor6Ds の使用中のアニメーションと一貫性があるように、2>Class.Animator2> を名前変更 |
[共同] | WeldConstraint、Constraint、JointInstance | 2つのボディ部分間のアニメーションなしの共同体。 |
[サウンド] | Sound | Commonly found in the head or HumanoidRootPart ; RbxNpcSounds スクリプトによって制御されるリグ内の音声を再生します。 |
構成
各 NPC には、Configuration オブジェクトが含まれており、これは値オブジェクトのコンテナとして機能します。これらは NPC スクリプトによって調整される様々な動作に使用されます。そうでない場合は、これらはすべてのキャラクターに適用されます。
オブジェクト名または [Type] | タイプ | 説明 |
---|---|---|
破壊オンデス | BoolValue | NPC が死亡する直後に、すべてが破壊されます。これを無効にすると、ラグドールが持続します。 |
パトロール有効 | BoolValue | NPC が開始位置の周りのエリアをさまようようになります。 |
パトロール範囲 | NumberValue | NPC が開始位置から離れる最大距離を定義します。 パトロールが有効 が真実な場合を想定しています。 |
Ragdoll 有効化済み | BoolValue | NPC が死亡すると、代わりにバラバラになるのではなく、溶け合うようになります。 |
攻撃ダメージ | NumberValue | NPC によって攻撃されたときに、犠牲者の体力がどれくらい損なわれるかを定義します。これは、ゾンビとソルジャーのキットにのみ適用されます。 |
遅延攻撃 | NumberValue | ショットの間の最小秒数を定義します。これは、ソルジャーキットのみに適用されます。 |
攻撃モード | NumberValue | ソルジャーが攻撃するターゲットを指定します。これは、タグシステム に基づいています。これは、ソルジャーキットのみに適用されます。 |
攻撃範囲 | NumberValue | NPC が攻撃しようとする前に、潜在的な犠牲者からの最大距離を定義します。これは、ゾンビとソルジャーキットのみに適用されます。 |
クリップコンテンツ | NumberValue | 兵士がリロードしないで射撃できる弾数を定義します。これは、ソルジャーキットのみに適用されます。 |
再読込み遅延 | NumberValue | 兵士の武器クリップをリロードするまでにかかる秒数を定義します。これは、ソルジャーキットのみに適用されます。 |
タグの割り当て
NPC スクリプトは、Class.CollectionService タグを使用して、他のキャラクターやプレイヤーに対する攻撃を管理します。次の表から様々なタグが割り当てられます:
タグを別の NPC に割り当てるには、プロパティの Model セクションを使用して、スタジオの タグエディタ を使用するか、Studio の タグエディタ を使用して、タグを 2>最上レベルに割り当てる2> できます。
Class.Player キャラクターにタグを割り当てるには、Script を StartercharacterScripts に追加し、1> Class.CollectionService:AddTag()1> コールで、例を示しています。たとえば:
local CollectionService = game:GetService("CollectionService")CollectionService:AddTag(script.Parent, "SoldierEnemy")
タグ | 目的 |
---|---|
ソルジャーエネミー または ソルジャーフレンド | ソルジャーの 攻撃モード 構成値に基づいて、他のキャラクターを |
ZombieFriend | このタグは、ゾンビがキャラクターを攻撃するべきかどうかを判断するために使用されます。これを適用すると、ゾンビはタグ付きのキャラクターに対して従順になります。 |