Los NPC (no personajes jugadores) pueden añadir mucha profundidad a una experiencia. Todos los siguientes NPCs se pueden personalizar visualmente, su comportamiento modificado y los zombies/soldados incluso pueden defender una área atacando a los jugadores o a otros personajes usando un sistema de etiquetado para establecer el comportamiento.
Para usar un NPC en tu juego:
Seleccione uno de los siguientes kits NPC:
En la página de elementos del PNJ, haz clic en el botón verde Obtener y confirma la transacción.
En Roblox Studio, abra la Caja de herramientas ( Ver → Caja de herramientas ).
Seleccione su caja de herramientas Inventario sección.
Encuentra el NPC y haz clic en él para agregarlo al lugar.
Estructura de personaje
Cada modelo de NPC típico contiene los siguientes objetos:
Nombre de objeto o [Tipo] | Tipo | Descripción |
---|---|---|
Animaciones | Folder | Contiene Animations, como una AttackAnimation o DeathAnimation. |
Poses iniciales | Folder | Contiene información de posado. |
Animar | Script | Carga y juega animaciones en el personaje. See Animar for more details. |
[Accesorio] | Accessory | Uno de posibles múltiples Accessories para el NPC como sombreros, armas, etc. |
Salud | Script | Tipualmente regenera la salud de Humanoid con el tiempo. Desactivar esto evitará que el personaje genere salud. |
Humanoide | Humanoid | Gestiona propiedades relacionadas, como Humanoid, Humanoid.Health, Humanoid.WalkSpeed, etc. |
PNJ | Script | Defines comportamientos específicos de personajes como roaming, atacar, etc. Padres los siguientes objetos: Maid ( ModuleScript ) define una clase útil para liberar recursos usados. < |
RbxNpcSounds | Script | Define y gestiona el comportamiento relacionado con los efectos de sonido del personaje, como correr, morir, etc. |
Partes del cuerpo | BasePart | Varias partes del cuerpo del personaje se pueden unir a la parte superior del motor o a las partes del cuerpo vecinas a través de objetos de motor o objetos de limitación. Consulte BodyParts para obtener más información. |
Parte de raíz humanoide | BasePart | Una parte invisible especial que se considera la raíz del rig; esto también es la PrimaryPart del personaje's Model . |
Configuración | Configuration | Contiene objetos de valor que ajustan varios comportamientos. Vea Configuración para más detalles. |
Notas de diseño
Al usar el kit NPC, tenga en cuenta las siguientes notas de diseño:
La apariencia visual de un NPC se puede personalizar agregando/modificando varios objetos [BodyPart] y agregando objetos Accessory .
Los Soldados, Drooling Zombie y NP-C 9000 Robots usan Rthro como la base de su rig. Sin embargo, los RO-01 Robots usan una base de Rthro modificada que agrega partes de impulsor conectadas a la Base del torso superior usando WeldConstraints . Usando la geometría simple en este modo, puede incluir geometría adicional para sus personajes sin cambiar la base
A nivel básico, las animaciones de NPC se pueden personalizar modificando el AnimationId de los objetos de animación existentes dentro de los posibles de Animar script, o aquellos dentro de la carpeta Animaciones . Tal cambio es esencialmente
Animar
El Animate Script en el NPC Model manejas animación relacionadas configuraciones y contiene los siguientes objetos:
Nombre de objeto o [Tipo] | Tipo | Descripción |
---|---|---|
Escala de amortiguación porcentaje | NumberValue | Define cómo se modifican las velocidades de animación a medida que el personaje está escalado (menos de 1 implica que la reproducción de animación se realiza al revés como el personaje está escalado). |
Reproducir emote | BindableFunction | Esto se puede invocar por otros scripts para obligar a la asunción de una postura. |
[Postura] | StringValue | Referencia a una categoría de animación jugable, como inactiva, salto, caminata, etc. Este objeto puede padre cualquier número de Animations . Estos padres 5> Class.Animation|Animaciones5> padres un 8> Weight8> ( 1> Class.NumberValue 1> ) que prioriza una de las animaciones para jugar mientras la postura se |
Partes del cuerpo
El BodyPart BasePart en el NPC Model representa las varias partes del cuerpo del personaje y contiene los siguientes objetos:
Nombre de objeto o [Tipo] | Tipo | Descripción |
---|---|---|
Tipo de escalado de avatar | StringValue | Determina cómo se escalará la parte; los valores pueden ser Clásico , ProporcionesNormales o ProporcionesSlender . |
Tamaño original | Vector3Value | Determina el tamaño de la parte cuando la escala de personaje es 1. |
[Accesorio] | Attachment | Define un punto relativo a la parte individual que se utiliza para los scripts, efectos y objetos, como un Tool o Accessory durante la posición. |
[Motor6D] | Motor6D | Una articulación animada entre dos partes del cuerpo. Tenga en cuenta que Animator depende del nombre de Motor6Ds para ser consistente con el de Motor6Ds usado cuando se creó una animación, por lo que evite renombrar este objeto. |
[Junto] | WeldConstraint , Constraint , JointInstance | Unión no animada entre dos partes del cuerpo. |
[Sonido] | Sound | Comúnmente encontrado en la cabeza o HumanoidRootPart ; Reproduce sonidos desde dentro del rig como controlado por el script RbxNpcSounds . |
Configuración
Cada NPC incluye un objeto Configuration dentro de su jerarquía que actúa como un contenedor de objetos de valor. Estos se usan por el script NPC para ajustar varios comportamientos. A menos que se especifique de otra manera, esto se aplica a todos los personajes.
Nombre de objeto o [Tipo] | Tipo | Descripción |
---|---|---|
Destruir en la muerte | BoolValue | Causa que todo el NPC sea destruido poco después de morir. Desactivar esto para que los muñecos de peluche sean persistentes. |
PatrullaActivada | BoolValue | Causa que el NPC se aleje en un área alrededor de su posición de inicio. |
Radio de patrulla | NumberValue | Define la distancia máxima que un NPC se alejará de su posición de inicio, asumiendo que PatrulladoActivado es cierto. |
RagdollHabilitado | BoolValue | Causa que el NPC se quede paralítico cuando muera, en lugar de romperse. |
Daño de ataque | NumberValue | Define la cantidad de salud que se pierde cuando una víctima es atacada por el PNJ. Esto solo se aplica a los kits Zombie y Soldado. |
Atraso de ataque | NumberValue | Define el número mínimo de segundos entre disparos. Esto solo se aplica a kits de soldados. |
Modo de ataque | NumberValue | Esto especifica qué atacará el soldado, basado en el sistema de etiquetado >. Esto solo se aplica a kits de soldado. |
Radio de ataque | NumberValue | Define la distancia máxima que el NPC debe estar de una víctima potencial antes de intentar atacar. Esto solo se aplica a los kits Zombie y Soldado. |
Capacidad de clip | NumberValue | Define la cantidad de balas que el soldado puede disparar antes de necesitar recargar. Esto solo se aplica a kits de soldado. |
Retraso de recarga | NumberValue | Define la cantidad de segundos que deben pasar antes de que se recargue el clip del arma del soldado. Esto solo se aplica a kits de soldado. |
Asignando etiquetas
El NPC script usa CollectionService etiquetas para administrar la agresión hacia otros personajes y jugadores. Varios tags de la siguiente tabla se pueden asignar como sigue:
Para asignarle etiquetas a otro PNJ, asígnelas al PNJ's top-level Model using the etiquetas section of its properties, or Studio's Editor de etiquetas .
Etiqueta | Propósito |
---|---|
SoldadoEnemigo o SoldadoAmigo | Determina si un soldado, según su configuración de Modo de ataque , debe atacar a otro personaje. Cuando el sold |
ZombieAmigo | Esta etiqueta es usada por el zombie para determinar si debe atacar a un personaje. Cuando se aplica, el zombie se vuelve dócil hacia el personaje etiquetado. |