Zestaw NPC

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

NPC (postacie niegrywalne) mogą dodać wiele głębi do gry. Wszystkie poniższe NPC mogą być wizualnie dostosowane, ich zachowanie zmodyfikowane, a zombie/żołnierze mogą nawet bronić obszaru, atakując graczy lub inne postacie za pomocą systemu tagów do ustawiania zachowań.

Aby użyć NPC w swojej grze:

  1. Wybierz jeden z poniższych zestawów NPC:

    Zombie z cieknącą śliną
    Żołnierze
    Roboty RO-01
    Roboty NP-C 9000
  2. Na stronie przedmiotu NPC kliknij zielony przycisk Pobierz i potwierdź transakcję.

  3. W Studio otwórz Narzędzie.

  4. Wybierz sekcję Inwentarz w swoim narzędziu.

  5. Zlokalizuj NPC i kliknij go, aby dodać go do miejsca.

Struktura postaci

Każdy model NPC zazwyczaj zawiera następujące obiekty:

Nazwa obiektu lub [Typ]TypOpis
AnimacjeFolderZawiera Animacje, takie jak AnimacjaAtaku lub AnimacjaŚmierci.
Początkowe PozyFolderZawiera informacje o pozach.
AnimateScriptŁaduje i odtwarza animacje na rig postaci. Zobacz Animate po więcej szczegółów.
[Akcesorium]AccessoryJedno z możliwych wielu Akcesoriów dla NPC, takich jak kapelusze, broń itp.
ZdrowieScriptZazwyczaj regeneruje zdrowie Humanoid w czasie. Wyłączenie tego uniemożliwi postaci regenerację zdrowia.
HumanoidHumanoidZarządza właściwościami związanymi z Humanoid, takimi jak Humanoid.Health, Humanoid.WalkSpeed, Humanoid.DisplayDistanceType itp.
NPCScript

Definiuje specyficzne dla postaci zachowania, takie jak wędrowanie, atakowanie itp. Rodzicem następujących obiektów:

Maid (ModuleScript) definiuje klasę przydatną do zwalniania używanych zasobów.

Ragdoll (ModuleScript) definiuje funkcję, która przekształca postać w luźne ciało podlegające fizyce (rodzicem jest RigTypes ModuleScript, który definiuje kilka funkcji pomocniczych).

RbxNpcSoundsScriptDefiniuje i zarządza zachowaniem związanym z efektami dźwiękowymi postaci, takimi jak bieganie, umieranie itp.
CzęściCiałaBasePartRóżne części ciała postaci przymocowane do HumanoidRootPart lub sąsiednich części ciała za pomocą Motor6D lub obiektów ograniczających. Zobacz CzęściCiała po więcej szczegółów.
HumanoidRootPartBasePartSpecjalna niewidoczna część, która jest uważana za korzeń rig; to także PrimaryPart modelu Model postaci.
KonfiguracjaConfigurationZawiera obiekty wartości, które dostosowują różne zachowania. Zobacz Konfiguracja po więcej szczegółów.

Uwagi projektowe

Kiedy używasz zestawu NPC, pamiętaj o następujących uwagach projektowych:

  • Wizualny wygląd NPC można dostosować, dodając/modyfikując różne obiekty [CzęściCiała] oraz dodając obiekty Accessory.

  • Żołnierze, Zombie z cieknącą śliną i Roboty NP-C 9000 używają Rthro jako podstawy swojego rig. Jednak Roboty RO-01 używają zmodyfikowanej bazy Rthro, która dodaje części silników połączone z UpperTorso za pomocą WeldConstraints. Używanie prostych stawów w ten sposób pozwala na dodanie dodatkowej geometrii do postaci bez zmiany oryginalnego rig.

  • Na podstawowym poziomie animacje NPC można dostosować, modyfikując AnimationId istniejących obiektów animacji w ramach poses skryptu Animate lub tych w folderze Animacje. Taka zmiana jest zasadniczo zamianą zasobów - aby zmienić drobne szczegóły, możesz stworzyć niestandardowe kopie istniejących animacji, a aby odtwarzać animacje w różnych warunkach, możesz edytować skrypty Animate lub NPC bezpośrednio. Po więcej informacji zobacz Animacja.

Animate

Skrypt Script Animate w modelu NPC Model obsługuje konfiguracje związane z animacją i zawiera następujące obiekty:

Nazwa obiektu lub [Typ]TypOpis
ScaleDampeningPercentNumberValueDefiniuje, jak prędkości animacji są modyfikowane w miarę skalowania postaci (wartość mniejsza niż 1 oznacza, że odtwarzanie animacji skaluje się odwrotnie w miarę skalowania postaci).
PlayEmoteBindableFunctionMoże być wywoływana przez inne skrypty w celu wymuszenia przyjęcia pozy.
[Poza]StringValueOdwołanie do kategorii animacji, która może być odtwarzana, takiej jak bezczynność, skok, chodzenie itp. Ten obiekt może być rodzicem dowolnej liczby Animacji.

Te Animacje mają rodzica Waga (NumberValue), która priorytetuje jedną z wielu animacji do odtworzenia podczas przyjmowania pozy; zazwyczaj używane do dodawania różnorodności do pozy bezczynnych i tanecznych.

CzęściCiała

Część Ciała BasePart w modelu NPC Model reprezentuje różne części ciała postaci i zawiera następujące obiekty:

Nazwa obiektu lub [Typ]TypOpis
AvatarPartScaleTypeStringValueOkreśla, jak część będzie skalowana; wartości mogą być Classic, ProportionsNormal lub ProportionsSlender.
OriginalSizeVector3ValueOkreśla rozmiar części, gdy skalowanie postaci wynosi 1.
[Załącznik]AttachmentDefiniuje punkt w odniesieniu do poszczególnej części, który skrypty, efekty i obiekty, takie jak Tool lub Accessory, mogą wykorzystać podczas pozycjonowania.
[Motor6D]Motor6DAnimowany staw między dwiema częściami ciała. Zauważ, że Animator zależy od nazwy Motor6Ds, aby była zgodna z nazwą Motor6Ds używaną podczas tworzenia animacji, więc unikaj zmiany nazwy tego obiektu.
[Staw]WeldConstraint, Constraint, JointInstanceNiezmienny staw między dwiema częściami ciała.
[Dźwięk]SoundNajczęściej występuje w głowie lub HumanoidRootPart; odtwarza dźwięki z wnętrza rig, kontrolowane przez skrypt RbxNpcSounds.

Konfiguracja

Każdy NPC zawiera obiekt Configuration w swojej hierarchii, który działa jako kontener obiektów wartości. Są one używane przez skrypt NPC do dostosowywania różnych zachowań. O ile nie określono inaczej, te zasady mają zastosowanie do wszystkich postaci.

Nazwa obiektu lub [Typ]TypOpis
DestroyOnDeathBoolValuePowoduje, że cały NPC zostaje zniszczony krótko po jego śmierci. Wyłącz to, aby ragdolle były trwałe.
PatrolEnabledBoolValuePowoduje, że NPC wędruje w obszarze wokół swojej pozycji początkowej.
PatrolRadiusNumberValueOkreśla maksymalną odległość, jaką NPC może wędrować od swojej pozycji początkowej, zakładając, że PatrolEnabled jest prawdziwe.
RagdollEnabledBoolValuePowoduje, że NPC staje się wiotki, gdy umiera, zamiast się rozpaść.
AttackDamageNumberValueOkreśla, ile zdrowia traci ofiara, gdy zostaje zaatakowana przez NPC. Dotyczy to tylko zestawów Zombie i Żołnierzy.
AttackDelayNumberValueOkreśla minimalną liczbę sekund między strzałami. Dotyczy to tylko zestawów Żołnierzy.
AttackModeNumberValueOkreśla, co żołnierz będzie atakować, na podstawie systemu tagowania. Dotyczy to tylko zestawów Żołnierzy.
AttackRadiusNumberValueOkreśla maksymalną odległość, jaką NPC musi mieć od potencjalnej ofiary, zanim spróbuje zaatakować. Dotyczy to tylko zestawów Zombie i Żołnierzy.
ClipCapacityNumberValueOkreśla, ile pocisków żołnierz może wystrzelić, zanim będzie musiał przeładować. Dotyczy to tylko zestawów Żołnierzy.
ReloadDelayNumberValueOkreśla, ile sekund musi upłynąć, zanim magazynek broni żołnierza zostanie przeładowany. Dotyczy to tylko zestawów Żołnierzy.

Przypisz tagi

Skrypt NPC używa tagów CollectionService, aby zarządzać agresją wobec innych postaci i graczy. Różne tagi z poniższej tabeli można przypisać w następujący sposób:

  • Aby przypisać tag(i) do innego NPC, przypisz je do najwyższego poziomu Model NPC, używając sekcji Tagi w jego właściwościach.

  • Aby przypisać tag do postaci Player, możesz dodać Script do StarterCharacterScripts z wywołaniem CollectionService:AddTag(). Na przykład:

    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
TagCel
SoldierEnemy lub SoldierFriend

Określa, czy żołnierz, na podstawie wartości konfiguracyjnej AttackMode, powinien zaatakować inną postać. Gdy AttackMode żołnierza jest ustawione na 1, inne postacie muszą być oznaczone tagiem SoldierEnemy, aby mogły być uznane za atakowalne. Gdy AttackMode żołnierza jest ustawione na 2, wszystkie obiekty bez tagu SoldierFriend są uznawane za atakowalne. Gdy AttackMode żołnierza jest ustawione na 3, te tagi są całkowicie ignorowane, a żołnierz zaatakuje wszystkie postacie.

ZombieFriendTen tag jest używany przez zombie do określenia, czy nie powinno atakować postaci. Po zastosowaniu zombie staje się łagodne wobec oznaczonej postaci.
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.