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 nie-graczy) mogą dodać wiele głębi do doświadczenia.Wszystkie następujące NPC można dostosować wizualnie, ich zachowanie zmodyfikowano , a zombie/żołnierze mogą nawet obronić obszar, atakując graczy lub inne postacie za pomocą systemu tagów tagów , aby ustawić zachowanie.

Aby użyć NPC w swojej gra:

  1. Wybierz jeden z następujących zestawów NPC:

    Ziewający zombie
    Żołnierze
    Roboty RO-01
    Roboty NP-C 9000
  2. Na stronie przedmiotu NPC kliknij zielony Zdobądź przycisk i potwierdź transakcję.

  3. W Roblox Studio otwórz przybornik ( Zobaczprzybornik ).

  4. Wybierz sekcję koszyka narzędzi Inwentarz .

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

Struktura znaku

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

Nazwa obiektu lub [Typ]TypOpis
AnimacjeFolderZawiera Animations , takie jak AttackAnimation lub DeathAnimation .
Początkowe pozyFolderZawiera informacje o pozowaniu.
AnimowaćScriptŁadowanie i odtwarzanie animacji na postaci rig. Zobacz Animuj dla więcej szczegółów.
[Akcesoria]AccessoryJeden z ewentualnie wielu Accessories dla NPC, takich jak czapki, bronie itp.
ZdrowieScriptZazwyczaj regeneruje zdrowie Humanoid na przestrzeni czasu. Wyłączenie tego uniemożliwi regenerację zdrowia postaci.
LudzoidowyHumanoidZarządza właściwościami powiązanymi Humanoid , takimi jak Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType itp.
NPCScript >

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

Pani domu ( ModuleScript ) definiuje klasę przydatną do uwalniania wykorzystywanych zasobów.:

Ragdoll ( ModuleScript ) definiuje funkcję, która przekształca postać w luźne ciało wpływające na fizykę (jest rodzicem RigTypes ModuleScript, które definiuje kilka funkcji pomocniczych).

Dźwięki RbxNpcScriptDefiniuje i zarządza zachowaniem związanym z efektami dźwięku postaci, takimi jak bieganie, umieranie itp.
Ciała częściBasePartRóżne części ciała postaci przymocowane do HumanoidRootPart lub sąsiednich części ciała za pomocą Motor6D lub obiektów ograniczeń.Zobacz BodyParts dla więcej szczegółów.
Część korzenia humanoidowegoBasePartSpecjalna niewidzialna część, która jest uważana za korzeń ramienia; jest to również PrimaryPart część postaci Model.
KonfiguracjaConfigurationZawiera obiekty wartości, które dostosowują różne zachowania. Zobacz Konfigurację dla więcej szczegółów.

Notatki o projektowaniu

Podczas używania zestawu NPC pamiętaj o następujących uwagach dotyczących projektu:

  • Wizualny wygląd NPC można dostosować poprzez dodawanie/modyfikowanie różnych obiektów [BodyParts] i dodawanie obiektów Accessory.

  • Żołnierze, śliniący się zombie i roboty NP-C 9000 używają Rthro jako podstawy swojego ustawienia.Jednak roboty RO-01 korzystają z zmodyfikowanej podstawy Rthro, która dodaje części napędowe połączone z górną częścią tułowia za pomocą WeldConstraints.Wykorzystanie prostych stawów w ten sposób pozwala uwzględnić dodatkową geometrię dla twoich postaci bez zmiany oryginalnego modelu podstawowego.

  • Na poziomie podstawowym animacje NPC mogą być dostosowywane poprzez modyfikację AnimationId istniejących obiektów animacji w pozycjach skryptu Animuj , lub te w folderze Animacje .Taka zmiana jest zasadniczo wymianą aktywów - aby zmienić szczegóły, możesz tworzyć niestandardowe kopie istniejących animacji, a aby odtwarzać animacje w różnych warunkach, możesz edytować skrypty Animuj lub NPC bezpośrednio.Aby uzyskać więcej informacji, zobacz Animację.

Animować

Animacja w NPC obsługuje konfiguracje związane z animacją i zawiera następujące obiekty:

Nazwa obiektu lub [Typ]TypOpis
Procent wygłuszania skaliNumberValueOkreśla, w jaki sposób prędkości animacji są modyfikowane, gdy postać jest skalowana (mniej niż 1 oznacza odwróconą skalę odtwarzania animacji, gdy skalowana jest postać).
OdtwarzajEmotkęBindableFunctionMoże to być wywołane przez inne skrypty w celu zmuszenia do przyjęcia pozy.
[Pozowanie]StringValueOdniesienie do kategorii animacji odtwarzalnych, takich jak nieaktywność, skok, bezczynnośćitp.Ten obiekt może być rodzicem dowolnej liczby Animations.Te Animations rodzice wagi ( NumberValue ) priorytetują jedną z wielu animacji do odtwarzania, gdy poza jest domniemana; zwykle używane do dodania różnorodności do pozycji nieaktywnych i tanecznych.

Ciała części

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

Nazwa obiektu lub [Typ]TypOpis
Rodzaj skali awataraStringValueOkreśla, w jaki sposób część zostanie powiększona; wartości mogą być Klasyczne , ProporcjeNormalne lub ProporcjeSzczupłe .
Oryginalny rozmiarVector3ValueOkreśla rozmiar części, gdy skalowanie znaków wynosi 1.
[Załącznik]AttachmentDefiniuje punkt względem poszczególnej części, której skrypty, efekty i obiekty, takie jak Tool lub Accessory, mogą korzystać podczas pozycjonowania.
[Motor6D]Motor6DAnimowane połączenie między dwoma częściami ciała.Zauważ, że Animator zależy od nazwy Motor6Ds, aby była zgodna z nazwą Motor6Ds używaną przy tworzeniu animacji, więc unikaj zmiany nazwy tego obiektu.
[Wspólny]WeldConstraint , Constraint , JointInstanceNieanimowane połączenie między dwoma częściami ciała.
[Dźwięk]SoundPowszechnie znaleziony w głowie lub HumanoidRootPart ; odtwarza dźwięki z wnętrza urządzenia kontrolowane przez skrypt RbxNpcSounds.

Konfiguracja

Każdy NPC zawiera obiekt Configuration w hierarchii, który działa jako pojemnik dla obiektów wartości.Są one używane przez skrypt NPC do dostosowania różnych zachowań.Chyba że inaczej określono, dotyczą one wszystkich znaków.

Nazwa obiektu lub [Typ]TypOpis
Zniszcz po śmierciBoolValueSpowoduje, że cały NPC zostanie zniszczony wkrótce po śmierci. Wyłącz to, aby ragdolls były trwałe.
PatrolowanieWłączoneBoolValueSpowoduje, że NPC będzie się poruszał po obszarze wokół pozycji startowej.
Promień patroluNumberValueOkreśla maksymalną odległość, jaką NPC będzie przemierzał od swojej początkowej pozycji, założając, że PatrolEnabled jest prawdą.
RagdollWłączoneBoolValueSpowalnia NPC, gdy umiera, zamiast się rozpadać.
Obrażenia od atakuNumberValueOkreśla, ile zdrowia tracone jest przez ofiarę, gdy jest atakowana przez NPC. Dotyczy to tylko zestawów Zombie i Żołnierza.
Opóźnienie atakuNumberValueOkreśla minimalną liczbę sekund między strzałami. Dotyczy to wyłącznie zestawów żołnierzy.
Tryb atakuNumberValueOkreśla, na co żołnierz zaatakuje, w oparciu o system oznaczania tagami. Dotyczy to wyłącznie zestawów żołnierzy.
Promień atakuNumberValueOkreśla maksymalną odległość, na jaką NPC musi być od potencjalnej ofiary, zanim spróbuje zaatakować. Dotyczy to wyłącznie zestawów Zombie i Żołnierza.
Pojemność klipuNumberValueOkreśla, ile pocisków może wystrzelić żołnierz, zanim będzie musiał przeładować. Dotyczy to tylko zestawów żołnierzy.
Opóźnienie przeładowaniaNumberValueOkreśla, ile sekund musi upłynąć, zanim klips broni żołnierza zostanie ponownie załadowany. Dotyczy to wyłącznie zestawów żołnierzy.

Nadaj tagi

Skrypt NPC używa tagów CollectionService do zarządzania agresją wobec innych postaci i graczy.Różne tagi z poniżego tabeli mogą być przypisane w następujący sposób:

  • Aby przypisać tag(i) do innego NPC, przypisz je do najwyższego poziomu NPC za pomocą sekcji Tagi jego właściwości lub edytora tagów Studio.

  • Aby przypisać tag do postaci Player , możesz dodać Script do StarterCharacterScripts za pomocą wezwania CollectionService:AddTag(). Na przykład:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
TagPrzeznaczenie
Wrogi żołnierz lub Przyjaciel żołnierza

Określa, czy żołnierz, na podstawie jego wartości konfiguracji trybu ataku , powinien zaatakować innego postaci.Gdy tryb ataku żołnierza jest ustawiony na , inne postacie muszą być oznaczone wrogiem żołnierza , aby zostały uznane za atakowane.Gdy tryb ataku żołnierza jest ustawiony na , wszystkie obiekty bez tagu SoldierFriend są uważane za atakowane.Gdy tryb ataku żołnierza zostanie ustawiony na , te tagi są całkowicie ignorowane, a żołnierz zaatakuje wszystkie postacie.

Przyjaciel zombie Tag ten jest używany przez zombie do określenia, czy nie powinien atakować postaci.Po zastosowaniu zombie staje się posłuszny wobec oznaczonego postaci.