NPCキット

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

NPC (ノンプレイヤーキャラクター) は、エクスペリエンスに多くの深みを加えることができます。次のNPCのすべてが視覚的にカスタマイズでき、行動が変更され、ゾンビ/兵士はタグシステムを使用してプレイヤーや他のキャラクターを攻撃してエリアを防衛できます。

ゲームでNPCを使用するには:

  1. 次の NPC キットの 1 つを選択します:

    ねばねばゾンビ
    >

    兵士
    >

    RO-01 ロボット
    >

    NP-C 9000 ロボット
    >

  2. NPCのアイテムページで、緑の 取得 ボタンをクリックし、取引を確認します。

  3. Roblox Studio で、ツールボックス ( ビューツールボックス ) を開きます。

  4. ツールボックスの インベントリ セクションを選択します。

  5. NPC を見つけてクリックして、場プレースに追加します。

キャラクター構造

各NPCモデルには、通常次のオブジェクトが含まれています:

オブジェクト名または [タイプ]種類説明
アニメーションFolder含まれるもの Animations , 例えば AttackAnimation または DeathAnimation
初期ポーズFolderポーズ情報を含みます。
アニメートScriptキャラクターリグでアニメーションをロードして再生します。詳細は アニメート を参照してください。
[アクセサリ]Accessory帽子、武器などの NPC に可能な複数の Accessories の 1 つ
健康Script通常、Humanoid 時間経過で体力を再生します。これを無効にすると、キャラクターが体力を再生できなくなります。
ヒューマノイドHumanoidHumanoid 関連のプロパティを管理し、Humanoid.HealthHumanoid.WalkSpeedHumanoid.DisplayDistanceType などがあります。
NPCScript >

移動、攻撃などのキャラクター固有の動作を定義する次のオブジェクトを親とします::

家政婦 ( ModuleScript )は、使用された資源を解放するのに便利なクラスを定義します。:

ラグドール ( ModuleScript ) は、キャラクターをゆるい物理影響の体に変換する機能を定義します (いくつかのヘルパー機能を定義する RigTypes ModuleScript を親とします)。

RBXNPCサウンドScript走行、死亡などのキャラクターサウンド効果に関連する行動を定義し、管理します
体のパーツBasePartモーター6D または制約オブジェクトを介して HumanoidRootPart または隣接するボディパーツに付属するさまざまなキャラクターボディパーツ。詳細については、ボディパーツを参照してください。
ヒューマノイドルートパーツBasePartリグの根と考えられる特別な見えないパーツ;これは、キャラクターの PrimaryPartModel でもあります。
構成Configurationさまざまな動作を調整する値オブジェクトを含みます。詳細は 設定 を参照してください。

デザインノート

NPC キットを使用するときは、次のデザインノートを覚えておいてください:

  • NPCの視覚的外観は、様々な[ボディパーツ]オブジェクトを追加/修正したり、Accessoryオブジェクトを追加することでカスタマイズできます。

  • 兵士、ねばねばぼうぼうぼうのゾンビ、および NP-C 9000 ロボットは、Rthro を彼らの装備の基礎として使用します。しかし、RO-01 ロボットは、 アッパートルソ を使用して接続された推進部品を追加する修正された Rthro ベースを使用します。この方法で単純なジョイントを使用すると、オリジナルのベースリグを変更せずに、キャラクターの追加の幾何学を含めることができます。

  • 基本レベルでは、NPC アニメーションは、AnimationIdスクリプトポーズ内の既存のアニメーションオブジェクトの **** を変更してカスタマイズできます、または アニメーション フォルダ内のもの。このような変更は本質的にアセット交換であり、より詳細な変更を行うには、既存のアニメーションのカスタムコピーを作成し、異なる条件でアニメーションを再生するには、 アニメート または NPC スクリプトを直接編集することができます。詳しくは、アニメーションを参照してください。

アニメート

NPC でアニメーション に関連する設定を処理し、次のオブジェクトを含んでいます:

オブジェクト名または [タイプ]種類説明
スケールダンピングパーセントNumberValueキャラクターがスケーリングされると、アニメーション速度がどのように変更されるかを定義します (1未満は、キャラクターがスケーリングされると、アニメーション再生スケールが逆向きに変更されます)。
プレイエモートBindableFunctionこれは、ポーズの仮定を強制するために、他のスクリプトによって呼び出されることができます。
[ポーズ]StringValue待機、ジャンプ、歩行などのプレイ可能なアニメーションカテゴリへの参照このオブジェクトは、Animations の数を親にすることができます。 これらの 親は、ポーズが想定されている間、複数のアニメーションの 1つを再生する優先順位を設定します;通常、待機とダンスポーズに多様性を追加するために使用されます。

体のパーツ

NPC Model のボディパーツ BasePart は、様々なキャラクターのボディパーツを表し、次のオブジェクトを含んでいます:

オブジェクト名または [タイプ]種類説明
アバターパーツスケールタイプStringValueパーツのスケール方法を決定し、値は クラシック比率正常 、または 比率スレンダー です。
元のサイズVector3Value文字スケーリングが 1 のとき、パーツのサイズを決定します。
[添付]Attachmentスクリプト、効果、および Tool または Accessory のようなオブジェクトが配置中に使用できる個々のパーツに関するポイントを定義します。
[モーター6D]Motor6D2つのボディパーツの間のアニメーションジョイント。注意してください は、アニメーションが作成されたときに使用された と一致するため、このオブジェクトの名前を変更しないでください。
[共同]WeldConstraint , Constraint , JointInstance2つのボディパーツ間の非アニメーションジョイント。
[サウンド]Sound頭または HumanoidRootPart でよく見つかり、リグ内のサウンドを RbxNpcSounds スクリプトによって制御します。

構成

それぞれの NPC には、値オブジェクトのコンテナとして機能する階層内の Configuration オブジェクトが含まれています。NPC スクリプトによって、さまざまな動作を調整するのに使用されます。別に指定されない限り、これらはすべてのキャラクタに適用されます。

オブジェクト名または [タイプ]種類説明
破棄するOnDeathBoolValueNPC 全体が死亡後すぐに破壊される原因。ラグドールが永続するように、これを無効にします。
パトロール有効化済みBoolValueNPCを起始位置の周りの領域で放浪させます。
パトロール半径NumberValueNPC がスタートポジションから離れる最大距離を定義し、 PatrolEnabled が true であると仮定します。
ラグドール有効化済みBoolValue死ぬときに NPC が動かなくなるので、壊れるのではなくなります。
攻撃ダメージNumberValueNPCに攻撃されたときに被害者が失う体力の量を定義します。これはゾンビと兵士のキットにのみ適用されます。
攻撃遅延NumberValueショットの間の最小数秒の数を定義します。これは兵士キットにのみ適用されます。
攻撃モードNumberValueタグ付けシステム に基づいて、兵士が攻撃するものを指定します。これは兵士キットにのみ適用されます。
攻撃半径NumberValueNPCが攻撃を開始する前に潜在的な被害者から最大距離を定義します。これはゾンビと兵士のキットにのみ適用されます。
クリップ容量NumberValue兵士がリロードする前に発射できる弾数を定義します。これは兵士キットにのみ適用されます。
リロード遅延NumberValue兵士の武器クリップが再読み込まれるまでに何秒必要かを定義します。これは兵士キットにのみ適用されます。

タグを割り当てる

NPC スクリプトは、CollectionService タグを使用して、他のキャラクターやプレイヤーに対する攻撃を管理します。次の表からの様々なタグが以下のように割り当てられます:

  • 他のNPCにタグを割り当てるには、プロパティの タグ セクションまたはStudioの タグエディタ を使用して、NPCのトップレベルに割り当てます。

  • タグを Player キャラクターに割り当てるには、ScriptスターターキャラクタースクリプトCollectionService:AddTag() 呼び出しで追加できます。例:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
タグ目的
ソルジャー敵 または ソルジャー友達

兵士が、 攻撃モード 設定値に基づいて攻撃すべきかどうかを決定します。兵士の 攻撃モード が に設定されたとき、他のキャラクターは 兵士敵 としてタグされて、攻撃可能と考えられる必要があります。兵士の 攻撃モード が に設定されると、 ソルジャーフレンド タグがないすべてのオブジェクトが攻撃可能と考えられます。兵士の 攻撃モード が に設定されると、これらのタグは完全に無視され、兵士はすべてのキャラクターを攻撃します。

ゾンビの友達 このタグは、ゾンビがキャラクターに攻撃してはいけないかどうかを判断するために使用されます。適用すると、ゾンビはタグ付きのキャラクターに従順になります。