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 niegracza) mogą dodać wiele głębi do doświadczenia. Wszystkie następujące NPC mogą być wizualnie dostosowywane, ich zachowanie modyfikowane, a zombie/żołnierze mogą nawet bronić obszaru, atakując graczy lub inne postacie, używając systemu tagów do ustawiania zachowania.

Aby użyć NPC w swojej grze:

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

    Kapczący Zombie
    Ż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ę Zasoby w swoim narzędziu.

  5. Zlokalizuj NPC i kliknij go, aby dodać 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 regenerowanie zdrowia.
HumanoidHumanoidZarządza właściwościami związanymi z Humanoid, takimi jak Humanoid.Health, Humanoid.WalkSpeed, Humanoid.DisplayDistanceType, itd.
NPCScript

Definiuje specyficzne dla postaci zachowania, takie jak wędrowanie, atakowanie itp. Rodziczuje następujące obiekty:

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

Ragdoll (ModuleScript) definiuje funkcję, która przekształca postać w luźne ciało podlegające prawom fizyki (rodzicuje 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 podłączone do HumanoidRootPart lub sąsiednich części ciała przez obiekty Motor6D lub constraint. Zobacz CzęściCiała po więcej szczegółów.
HumanoidRootPartBasePartSpecjalna niewidoczna część, która jest uznawana za rdzeń rig; jest to również PrimaryPart modelu Model postaci.
KonfiguracjaConfigurationZawiera obiekty wartości, które dostosowują różne zachowania. Zobacz Konfiguracja po więcej szczegółów.

Uwagi projektowe

Podczas korzystania z zestawu NPC, pamiętaj o następujących uwagach projektowych:

  • Wizualny wygląd NPC można dostosować poprzez dodawanie/modyfikowanie różnych obiektów [CzęściCiała] i dodawanie obiektów Accessory.

  • Żołnierze, Kapczący Zombie 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 odrzutowe połączone z UpperTorso za pomocą WeldConstraints. Użycie prostych stawów w ten sposób pozwala na włączenie dodatkowej geometrii dla twoich postaci bez zmiany oryginalnego rig.

  • Na podstawowym poziomie, animacje NPC można dostosować przez modyfikację AnimationId istniejących obiektów animacji w poses skryptu Animate, lub tych w folderze Animacje. Takie zmiany to zasadniczo zamiana zasobów - aby zmienić bardziej szczegółowe elementy, można utworzyć własne kopie istniejących animacji, a aby odtwarzać animacje w różnych warunkach, można edytować skrypty Animate lub NPC bezpośrednio. Więcej informacji znajdziesz w Animacji.

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
ScaleDampeningPercentNumberValueOkreśla, w jaki sposób prędkość animacji jest modyfikowana w miarę skalowania postaci (wartość mniejsza niż 1 implikuje, że odtwarzanie animacji skaluje się odwrotnie w miarę skalowania postaci).
PlayEmoteBindableFunctionMożna go wywołać z innych skryptów, aby wymusić przyjęcie pozy.
[Poza]StringValueOdniesienie do kategorii odtwarzalnej animacji, takiej jak stanie, skakanie, chodzenie itd. Ten obiekt może mieć jako rodzic dowolną liczbę Animacji.

Te Animacje mają jako rodzic Wagę (NumberValue), która priorytetyzuje jedną z wielu animacji do odtwarzania, gdy przyjmowana jest poza; zazwyczaj używane do dodawania różnorodności do poz stojących i tańca.

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ć Klasyczne, ProporcjeNormalne lub ProporcjeSzczuple.
OriginalSizeVector3ValueOkreśla rozmiar części, gdy skalowanie postaci wynosi 1.
[Załącznik]AttachmentDefiniuje punkt w odniesieniu do indywidualnej części, który skrypty, efekty i obiekty, takie jak Tool lub Accessory, mogą wykorzystywać podczas pozycji.
[Motor6D]Motor6DAnimowane połączenie między dwiema częściami ciała. Należy pamiętać, że Animator zależy od nazwy Motor6Ds, aby była zgodna z nazwą używaną podczas tworzenia animacji, więc unikaj zmiany nazwy tego obiektu.
[Szwed]WeldConstraint, Constraint, JointInstanceNienańsawane połączenie między dwiema częściami ciała.
[Dźwięk]SoundNajczęściej znajduje się w głowie lub HumanoidRootPart; odtwarza dźwięki z wnętrza rig w kontrolowany sposób przez skrypt RbxNpcSounds.

Konfiguracja

Każdy NPC zawiera obiekt Configuration w swojej hierarchii, który działa jako kontener obiektów wartości. Te są używane przez skrypt NPC do dostosowywania różnych zachowań. O ile nie określono inaczej, te prawa odnoszą się do wszystkich postaci.

Nazwa obiektu lub [Typ]TypOpis
DestroyOnDeathBoolValuePowoduje, że cały NPC jest niszczony krótko po jego śmierci. Wyłącz to dla ragdolli, aby były trwałe.
PatrolEnabledBoolValuePowoduje, że NPC wędruje w obszarze wokół swojej początkowej pozycji.
PatrolRadiusNumberValueOkreśla maksymalną odległość, jaką NPC może wędrować od swojej początkowej pozycji, zakładając, że PatrolEnabled jest prawdą.
RagdollEnabledBoolValuePowoduje, że NPC staje się bezwładny po śmierci, zamiast rozpadać się.
AttackDamageNumberValueOkreśla, ile zdrowia traci ofiara, gdy jest atakowana 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 kul żołnierz może wystrzelić przed koniecznością przeładowania. 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 do zarządzania agresją wobec innych postaci i graczy. Różne tagi z poniższej tabeli mogą być przypisywane w następujący sposób:

  • Aby przypisać tag(i) do innego NPC, przypisz je do górnego poziomu Model NPC za pomocą 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 SoldierFriendOkreśla, czy żołnierz, na podstawie wartości konfiguracyjnej AttackMode, powinien atakować inną postać. Kiedy AttackMode żołnierza jest ustawione na 1, inne postacie muszą być oznaczone tagiem SoldierEnemy, aby były uważane za atakowalne. Kiedy AttackMode żołnierza jest ustawione na 2, wszystkie obiekty bez tagu SoldierFriend są uważane za atakowalne. Kiedy 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, aby określić, czy nie powinno atakować danej postaci. Po zastosowaniu, zombie staje się łagodne w stosunku do 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.