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 jogáveis) podem adicionar muita profundidade a uma experiência. Todos os seguintes NPCs podem ser personalizáveis visualmente, seu comportamento modificado, e os zumbis/soldados podem até defender uma área atacando jogadores ou outros personagens usando um sistema de tags para definir o comportamento.

Para usar um NPC em seu jogo:

  1. Selecione um dos seguintes kits de NPC:

    Zumbi Babando
    Soldados
    Robôs RO-01
    Robôs NP-C 9000
  2. Na página do item do NPC, clique no botão verde Obter e confirme a transação.

  3. No Studio, abra a Caixa de Ferramentas.

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

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

Estrutura do personagem

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

Nome do objeto ou [Tipo]TipoDescrição
AnimaçõesFolderContém Animações, como uma AttackAnimation ou DeathAnimation.
Poses IniciaisFolderContém informações de pose.
AnimateScriptCarrega e toca animações no rig do personagem. Veja Animate para mais detalhes.
[Acessório]AccessoryUm dos possivelmente múltiplos Acessórios para o NPC, como chapéus, armas, etc.
SaúdeScriptRegenera tipicamente a saúde do Humanoid ao longo do tempo. Desabilitar isso impedirá que o personagem regenere saúde.
HumanoideHumanoidGerencia propriedades relacionadas ao Humanoid, como Humanoid.Health, Humanoid.WalkSpeed, Humanoid.DisplayDistanceType, etc.
NPCScript

Define comportamentos específicos do personagem, como vagar, atacar, etc. É pai dos seguintes objetos:

Maid (ModuleScript) define uma classe útil na liberação de recursos utilizados.

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

RbxNpcSoundsScriptDefine e gerencia o comportamento relacionado aos efeitos sonoros do personagem, como correr, morrer, etc.
BodyPartsBasePartVárias partes do corpo do personagem anexadas ao HumanoidRootPart ou a partes vizinhas através de Motor6D ou objetos de restrição. Veja BodyParts para mais detalhes.
HumanoidRootPartBasePartUma parte invisível especial que é considerada a raiz do rig; esta é também a PrimaryPart do Model do personagem.
ConfigurationConfigurationContém objetos de valor que ajustam vários comportamentos. Veja Configuration para mais detalhes.

Notas de design

Ao usar o kit de 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 Babando e Robôs NP-C 9000 usam Rthro como a base de seu rig. No entanto, os Robôs RO-01 usam uma base de Rthro modificada que adiciona partes de propulsão conectadas ao UpperTorso usando WeldConstraints. Usar juntas simples dessa forma permite incluir geometria extra para seus personagens sem mudar o rig base original.

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

Animate

O Script Animate no Model do NPC lida com configurações relacionadas à animação e contém os seguintes objetos:

Nome do objeto ou [Tipo]TipoDescrição
ScaleDampeningPercentNumberValueDefine como as velocidades de animação são modificadas à medida que o personagem é escalado (menos que 1 implica que a reprodução da animação é escalada inversamente à medida que o personagem é escalado).
PlayEmoteBindableFunctionIsso pode ser invocado por outros scripts para forçar a suposição de uma pose.
[Pose]StringValueReferência a uma categoria de animação jogável, como idle, jump, walk, etc. Este objeto pode ser pai de qualquer número de Animações.

Essas Animações possuem um Peso (NumberValue) que prioriza uma das várias animações a serem executadas enquanto a pose é assumida; tipicamente usado para adicionar variedade a poses idle e de dança.

BodyParts

O BasePart BodyPart no Model do NPC representa as várias partes do corpo do personagem e contém os seguintes objetos:

Nome do objeto ou [Tipo]TipoDescrição
AvatarPartScaleTypeStringValueDefine como a parte será escalada; os valores podem ser Classic, ProportionsNormal ou ProportionsSlender.
OriginalSizeVector3ValueDefine o tamanho da parte quando a escala do personagem é 1.
[Attachment]AttachmentDefine um ponto relativo à parte 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. Note que Animator depende do nome de Motor6Ds para ser consistente com o que foi usado quando uma animação foi criada, então evite renomear este objeto.
[Joint]WeldConstraint, Constraint, JointInstanceUma junta não animada entre duas partes do corpo.
[Sound]SoundComumente encontrado na cabeça ou HumanoidRootPart; reproduz sons dentro do rig conforme controlado pelo script RbxNpcSounds.

Configuration

Cada NPC inclui um objeto Configuration dentro de sua hierarquia que atua como um contêiner de objetos de valor. Estes são usados pelo script 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
DestroyOnDeathBoolValueCausa a destruição total do NPC logo após sua morte. Desabilite isso para que ragdolls sejam persistentes.
PatrolEnabledBoolValueCausa o NPC a vagar em uma área ao redor de sua posição inicial.
PatrolRadiusNumberValueDefine a distância máxima que um NPC irá vagar de sua posição inicial, assumindo que PatrolEnabled é verdadeiro.
RagdollEnabledBoolValueCausa o NPC a ficar mole quando morrer, em vez de se despedaçar.
AttackDamageNumberValueDefine quanto de saúde é perdido por uma vítima quando atacada pelo NPC. Isso se aplica apenas aos kits de Zumbi e Soldado.
AttackDelayNumberValueDefine o número mínimo de segundos entre os disparos. Isso se aplica apenas aos kits de Soldado.
AttackModeNumberValueEspecifica o que o soldado irá atacar, com base no sistema de tagging. Isso se aplica apenas aos kits de Soldado.
AttackRadiusNumberValueDefine a distância máxima que o NPC deve ter de uma vítima potencial antes de tentar atacar. Isso se aplica apenas aos kits de Zumbi e Soldado.
ClipCapacityNumberValueDefine quantas balas o soldado pode disparar antes de precisar recarregar. Isso se aplica apenas aos kits de Soldado.
ReloadDelayNumberValueDefine quantos segundos devem passar antes que o carregador da arma do soldado seja recarregado. Isso se aplica apenas aos kits de Soldado.

Atribuir tags

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

  • Para atribuir tag(s) a outro NPC, atribua-as ao Model de nível superior do NPC usando a seção Tags de suas propriedades.

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


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
TagPropósito
SoldierEnemy ou SoldierFriendDetermina se um soldado, com base no valor de configuração AttackMode, deve atacar outro personagem. Quando o AttackMode do soldado está definido como 1, outros personagens devem ser marcados com SoldierEnemy para serem considerados atacáveis. Quando o AttackMode do soldado está definido como 2, todos os objetos sem a tag SoldierFriend são considerados atacáveis. Quando o AttackMode do soldado está definido como 3, essas tags são ignoradas e o soldado atacará todos os personagens.
ZombieFriendEssa tag é usada pelo zumbi para determinar se ele não deve atacar um personagem. Quando aplicada, o zumbi se torna dócil em relação ao personagem marcado.
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.