Kit de NPC

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

NPCs (personagens não jogadores) podem adicionar muita profundidade a uma experiência.Todos os seguintes NPCs podem ser personalizados visualmente, seu comportamento modificado , e os zumbis/soldados podem até mesmo defender uma área atacando jogadores ou outros personagens usando um sistema de etiquetas para definir o comportamento.

Para usar um NPC em seu jogo:

  1. Selecione um dos seguintes kits de NPC:

    Zumbi Salivante
    >

    Soldados
    >

    Robôs RO-01
    >

    Robôs NP-C 9000
    >

  2. Na página de itens do NPC, clique no botão verde Obter e confirme a transação.

  3. No Roblox Studio, abra a Caixa de Ferramentas ( Ver → Caixa de Ferramentas ).

  4. Selecione a seção da sua caixa de ferramentas Inventário .

  5. Localize o NPC e clique nele para adicioná-lo ao local.

Estrutura de personagem

Cada modelo de NPC geralmente contém os seguintes objetos:

Nome do objeto ou [Tipo]TipoDescrição
AnimaçõesFolderContém Animations , como um AttackAnimation ou DeathAnimation.
Poses iniciaisFolderContém informações de posicionamento.
AnimaçãoScriptCarrega e joga animações no modelo de personagem. Veja Anime para mais detalhes.
[Acessório]AccessoryUma das possivelmente múltiplas Accessories para o NPC, como chapéus, armas, etc.
SaúdeScriptRegenera tipicamente a saúde Humanoid ao longo do tempo. Desabilitar isso impedirá que o personagem regenere saúde.
HumanóideHumanoidGere propriedades relacionadas Humanoid relacionadas, como Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType , etc.
NPCScript >

Define comportamentos específicos de personagens, como roaming, ataque, etc.Pais dos seguintes objetos:

Empregada ( ModuleScript ) define uma classe útil na liberação de recursos usados.:

Ragdoll ( ModuleScript ) define uma função que transforma um personagem em um corpo solto afetado por física (pais de um RigTypes ModuleScript que define várias funções auxiliares).

RbxNpcSoundsScriptDefine e gerencia comportamentos relacionados a efeitos de som de personagem, como correr, morrer, etc.
Partes do CorpoBasePartVárias partes do corpo de personagens anexadas à HumanoidRootPart ou partes vizinhas do corpo através do Motor6D ou objetos de restrição.Veja Partes do Corpo para mais detalhes.
Parte de Raiz HumanoideBasePartUma parte invisível especial que é considerada a raiz do rig / plataforma / equipamento; este também é o PrimaryPart da personagem's Model.
ConfiguraçãoConfigurationContém objetos de valor que ajustam vários comportamentos. Veja Configuração para mais detalhes.

Notas de design

Ao usar o kit NPC, tenha em mente as seguintes notas de design:

  • A aparência visual de um NPC pode ser personalizada adicionando/modificando vários objetos [BodyParts] e adicionando objetos Accessory.

  • Os Soldados, Zumbi Drooling e NP-C 9000 Robots usam Rthro como base de seu rig / plataforma / equipamento.No entanto, os Robôs RO-01 usam uma base modificada de Rthro que adiciona peças de propulsão conectadas ao Torso Superior usando WeldConstraints.Usar juntas simples dessa maneira permite que você inclua geometria extra para seus personagens sem alterar o rig / plataforma / equipamentooriginal de base.

  • Em um nível básico, as animações de NPC podem ser personalizadas modificando o AnimationId de objetos de animação existentes dentro das poses do script Animação , ou aqueles dentro da pasta Animações .Tal mudança é essencialmente uma troca de ativos - para alterar os detalhes finais, você pode criar cópias personalizadas de animações existentes e para jogar animações sob diferentes condições, você pode editar os scripts Animate ou NPC diretamente.Para mais informações, veja Animação.

Animação

A Animação na NPC gere configurações relacionadas à animação e contém os seguintes objetos:

Nome do objeto ou [Tipo]TipoDescrição
Percento de Amortecimento de EscalaNumberValueDefine como as velocidades de animação são modificadas à medida que o personagem é dimensionado (menos de 1 implica que a reprodução de animação seja invertida à medida que um personagem é dimensionado).
Jogar EmoteBindableFunctionIsso pode ser invocado por outros scripts para forçar a suposição de uma posição.
[Posição]StringValueReferência a uma categoria de animação tocável, como inativo, andar, pular, etc.Este objeto pode ser pai de qualquer número de Animations.Estes Animations pais de um Peso ( NumberValue ) que prioriza uma das múltiplas animações para tocar enquanto a posição é assumida; geralmente usado para adicionar variedade às poses inativas e de dança.

Partes do Corpo

A Parte do Corpo BasePart no NPC Model representa as várias partes do corpo de personagens e contém os seguintes objetos:

Nome do objeto ou [Tipo]TipoDescrição
Tipo de Escala de AvatarStringValueDetermina como a peça será escalada; os valores podem ser Clássico , ProporçõesNormais ou ProporçõesDelgadas .
Tamanho OriginalVector3ValueDetermina o tamanho da peça quando a escala de personagens é 1.
[Ataque]AttachmentDefine um ponto relativo à peça individual que scripts, efeitos e objetos como um Tool ou Accessory podem utilizar durante a posicionamento.
[Motor6D]Motor6DUma junta animada entre duas partes do corpo.Observe que Animator depende do nome de Motor6Ds para ser consistente com o da Motor6Ds usada quando uma animação foi criada, então evite renomear este Objeto.
[Compartilhado]WeldConstraint , Constraint , JointInstanceUma junta não animada entre duas partes do corpo.
[Som]SoundComumente encontrado na cabeça ou ; toca sons dentro do rig controlados pelo script .

Configuração

Cada NPC inclui um objeto Configuration dentro de sua hierarquia que atua como um container de objetos de valor.Estes são usados pelo script do NPC para ajustar vários comportamentos.A menos que especificado de outra forma, estes se aplicam a todos os personagens.

Nome do objeto ou [Tipo]TipoDescrição
Destruir ao MorteBoolValueCausa a destruição de todo o NPC pouco depois de morrer. Desabilite isso para que os bonecos de pano sejam persistentes.
PatrulhaAtivadaBoolValueFaz com que o NPC se mova em uma área ao redor de sua posição de partida.
Patrulha de RaioNumberValueDefine a distância máxima que um NPC irá percorrer a partir de sua posição inicial, assumindo que PatrulhaAtivada seja verdadeira.
RagdollAtivadoBoolValueFaz com que o NPC fique limpo quando morre, em vez de se separar.
Danificação de AtaqueNumberValueDefine quanta saúde é perdida por uma vítima quando atacada pelo NPC. Isso se aplica apenas a kits de Zumbi e Soldado.
Atrasador de AtaqueNumberValueDefine o número mínimo de segundos entre tiros. Isso se aplica apenas a kits de Soldado.
Modo de AtaqueNumberValueEspecifica o que o soldado vai atacar, com base no sistema de marcação . Isso se aplica apenas a kits de Soldado.
Raio de AtaqueNumberValueDefine a distância máxima que o NPC deve estar de uma vítima potencial antes de tentar atacar. Isso se aplica apenas a kits de Zumbi e Soldado.
Capacidade de CorteNumberValueDefine quantas balas o soldado pode atirar antes de precisar recarregar. Isso se aplica apenas a kits de Soldado.
Atraso de RecarregamentoNumberValueDefine quantos segundos devem passar antes que o clipe de armas do soldado seja recarregado. Isso se aplica apenas a kits de Soldado.

Atribuir marcas

O script NPC usa tags CollectionService para gerenciar agressão a outros personagens e jogadores.Várias etiquetas da tabela a seguir podem ser atribuídas da seguinte forma:

  • Para atribuir tag(s) a outro NPC, atribua-os ao nível superior do NPC usando a seção Etiquetas de suas propriedades ou o Editor de Etiquetas do Studio .

  • Para atribuir uma tag a um personagem Player caracter, você pode adicionar um Script a StarterCharacterScripts com um chamado CollectionService:AddTag(). Por exemplo:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
MarcaçãoPropósito
Inimigo de Soldado ou Amigo de Soldado

Determina se um soldado, com base em seu valor de configuração de Modo de Ataque , deve atacar outro personagem.Quando o modo de ataque do soldado é definido como AttackMode, outros personagens devem ser marcados com SoldierEnemy para serem considerados atacáveis.Quando o modo de ataque do soldado é definido como , todos os objetos sem a tag SoldadoAmigo são considerados atacáveis.Quando o modo de ataque do soldado é definido para , essas etiquetas são ignoradas completamente e o soldado atacará todos os personagens.

Amigo Zumbi Esta etiqueta é usada pelo zumbi para determinar se ele não deve atacar um personagem.Quando aplicado, o zumbi se torna dócil em relação ao personagem marcado.