Kit de PNC

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Les PNJ (personnages non joueurs) peuvent ajouter beaucoup de profondeur à une expérience.Tous les NPC suivants peuvent être personnalisés visuellement, leur comportement modifié , et les zombies/soldats peuvent même défendre une zone en attaquant des joueurs ou d'autres personnages en utilisant un système de balise pour définir le comportement.

Pour utiliser un PNJ dans votre jeu :

  1. Sélectionnez l'un des kits NPC suivants :

    Zombie salivant
    >

    Soldats
    >

    Robots RO-01
    >

    Robots NP-C 9000
    >

  2. Sur la page d'objet du PNJ, cliquez sur le bouton vert Obtenir et confirmez la transaction.

  3. Dans Roblox Studio, ouvrez la boîte à outils ( Afficherboîte à outils ).

  4. Sélectionnez votre section boîte à outils Inventaire .

  5. Localisez le PNJ et cliquez dessus pour l'ajouter à l'emplacement.

Structure du personnage

Chaque modèle NPC contient généralement les objets suivants :

Nom de l'objet ou [Type]TypeAvertissement
AnimationsFolderContient Animations , comme un AttackAnimation ou DeathAnimation .
Poses initialesFolderContient des informations de pose.
AnimationsScriptChargement et lecture d'animations sur le plateformedu personnage. Voir Animer pour plus de détails.
[Accessoire]AccessoryL'une des possiblement plusieurs Accessories pour le PNJ comme des chapeaux, des armes, etc.
SantéScriptRégénère généralement la santé Humanoid au fil du temps. Désactiver cela empêchera le personnage de régénérer la santé.
HumanoïdeHumanoidGère les propriétés liées Humanoid telles que Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType , etc.
PNJScript >

Définit des comportements spécifiques au personnage tels que la navigation, l'attaque, etc.Les parents des objets suivants ::

Fille ( ModuleScript ) définit une classe utile pour libérer les ressources utilisées.:

Ragdoll ( ModuleScript ) définit une fonction qui transforme un personnage en un corps physiquement libre (parents un RigTypes ModuleScript qui définit plusieurs fonctions d'aide).

Sons de RbxNpcScriptDéfinit et gère le comportement lié aux effets sonores des personnages comme la course, le décès, etc.
Parties du corpsBasePartDiverses parties du corps de caractère attachées à la partie racine humanoïde ou à des parties du corps voisines par le biais de Motor6D ou d'objets de contrainte.Voir parties du corps pour plus de détails.
Partie racine humanoïdeBasePartUne partie invisible spéciale qui est considérée comme la racine du plateforme; c'est aussi le PrimaryPart de la caractéristique du personnage Model.
ConfigérationConfigurationContient des objets de valeur qui ajustent divers comportements. Voir configuration pour plus de détails.

Notes de conception

Lors de l'utilisation du kit NPC, tenez compte des notes de conception suivantes :

  • L'apparence visuelle d'un PNJ peut être personnalisée en ajoutant/modifiant divers objets [BodyParts] et en ajoutant des objets Accessory.

  • Les soldats, le zombie salivant et les robots NP-C 9000 utilisent Rthro comme base de leur plateforme.Cependant, les robots RO-01 utilisent une base Rthro modifiée qui ajoute des parties de propulsion connectées au torse supérieur en utilisant WeldConstraints .L'utilisation de jointures simples de cette façon vous permet d'inclure une géométrie supplémentaire pour vos personnages sans modifier la plateformede base originale.

  • Au niveau de base, les animations de PNJ peuvent être personnalisées en modifiant le AnimationId des objets d'animation existants dans les poses du script Animer , ou celles du dossier Animations .Un tel changement est essentiellement un échange de ressources - pour modifier les détails fins, vous pouvez créer des copies personnalisées d'animations existantes, et pour jouer des animations sous des conditions différentes, vous pouvez modifier les scripts Animer ou NPC directement.Pour plus d'informations, voir Animation .

Animations

L'animation dans le NPC gère les configurations liées à l'animation et contient les objets suivants :

Nom de l'objet ou [Type]TypeAvertissement
Pourcentage d'amortissement de l'échelleNumberValueDéfinit comment la vitesse d'animation est modifiée lorsque le personnage est redimensionné (moins de 1 implique une lecture d'animation inversée lorsque le personnage est redimensionné).
Jouer une emoteBindableFunctionCela peut être invoqué par d'autres scripts afin d'imposer l'hypothèse d'une pose.
[Pose]StringValueRéférence à une catégorie d'animation jouable telle que inactif, sauter, marche, etc.Cet objet peut parenter n'importe quel nombre de Animations . Ces Animations parents d'un poids ( NumberValue ) qui priorise une des nombreuses animations à jouer alors que la pose est supposée ; généralement utilisé pour ajouter de la variété aux poses inactives et de danse.

Parties du corps

La partie du corps BasePart dans le NPC Model représente les différentes parties du corps des personnages et contient les objets suivants :

Nom de l'objet ou [Type]TypeAvertissement
Type d'échelle d'avatarStringValueDétermine comment la partie sera mise à l'échelle ; les valeurs peuvent être classique , proportions normales , ou proportions minces .
Taille originaleVector3ValueDétermine la taille de la partie lorsque la mise à l'échelle du caractère est de 1.
[Pièce jointe]AttachmentDéfinit un point relatif à la partie individuelle que les scripts, les effets et les objets tels qu'un Tool ou Accessory peuvent utiliser lors de la positionnement.
[Moteur6D]Motor6DUne articulation animée entre deux parties du corps.Notez que dépend du nom de pour être cohérent avec celui utilisé lorsqu'une animation a été créée, évitez donc de renommer cet objet.
[Partagé]WeldConstraint , Constraint , JointInstanceUne articulation non animée entre deux parties du corps.
[Son]SoundCommunément trouvé dans la tête ou HumanoidRootPart ; joue des sons à l'intérieur du rig comme contrôlé par le script RbxNpcSounds.

Configération

Chaque PNJ inclut un objet Configuration dans sa hiérarchie qui agit comme un conteneur d'objets de valeur.Ceux-ci sont utilisés par le script NPC pour peaufiner divers comportements.À moins qu'il ne soit spécifié autrement, ils s'appliquent à tous les personnages.

Nom de l'objet ou [Type]TypeAvertissement
Détruire lors de la mortBoolValueFait en sorte que l'ensemble du PNJ soit détruit peu après sa mort. Désactivez cela pour que les ragdolls soient persistants.
Patrouille activéeBoolValueFait que le PNB se promène dans une zone autour de sa position de départ.
Patrouilleur de rayonNumberValueDéfinit la distance maximale qu'un PNJ se promènera à partir de sa position de départ, en supposant que PatrolEnabled est vrai.
RagdollActivéBoolValueFait en sorte que le PNJ devienne limpide lorsqu'il meurt, au lieu de se briser.
Dégâts d'attaqueNumberValueDéfinit la quantité de santé perdue par une victime lorsqu'elle est attaquée par le PNJ. Cela s'applique uniquement aux kits de zombie et de soldat.
Retard d'attaqueNumberValueDéfinit le nombre minimum de secondes entre les tirs. Cela s'applique aux kits de soldat uniquement.
Mode d'attaqueNumberValueSpécifie ce que le soldat attaquera, en fonction du système de balise .. Cela s'applique aux kits de soldat uniquement.
Rayon d'attaqueNumberValueDéfinit la distance maximale à laquelle le PNJ doit être d'une victime potentielle avant qu'il ne tente d'attaquer. Cela s'applique aux kits de zombie et de soldat uniquement.
Capacité de clipNumberValueDéfinit le nombre de balles que le soldat peut tirer avant de recharger. Cela s'applique aux kits de soldat uniquement.
Délai de rechargementNumberValueDéfinit le nombre de secondes qui doivent s'écouler avant que le chargeur d'armes du soldat soit rechargé. Cela s'applique uniquement aux kits de soldat.

Attribuer des balises

Le script NPC utilise des balises CollectionService pour gérer l'agressivité envers d'autres personnages et joueurs.Les différentes balises de la table suivante peuvent être attribuées comme suit :

  • Pour attribuer une balise(s) à un autre PNJ, attribuez-la au niveau supérieur du PNJ en utilisant la section des balises de ses propriétés, ou l'éditeur de balises de Studio .

  • Pour attribuer une balise à un caractère Player , vous pouvez ajouter un Script à StarterCharacterScripts avec un appel CollectionService:AddTag(). Par exemple :


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
BaliseObjectif
Ennemi soldat ou Ami soldat

Détermine si un soldat, en fonction de sa valeur de configuration mode d'attaque , doit attaquer un autre personnage.Lorsque le mode d'attaque du soldat est réglé sur AttaqueMode, les autres personnages doivent être étiquetés avec SoldierEnemy pour être considérés comme attaquables.Lorsque le mode d'attaque du soldat est réglé sur AttackMode , tous les objets sans la balise SoldierFriend sont considérés comme attaquables.Lorsque le mode d'attaque du soldat est réglé sur AttackMode , ces balises sont ignorées entièrement et le soldat attaquera tous les personnages.

Ami zombie Cette balise est utilisée par le zombie pour déterminer s'il ne devrait pas attaquer un personnage.Lorsqu'il est appliqué, le zombie devient docile envers le personnage étiqueté.