Para ayudar a crear experiencias competitivas basadas en combates, varias armas aprobadas están disponibles para su uso en cualquier experiencia.El sistema central presenta armas basadas en proyectiles con una cámara sobre el hombro, y configurar la velocidad del proyectil lo suficientemente alta puede simular armas de rayos como pistolas láser.

Para usar un arma aprobada en tu experiencia:
- Seleccione un arma desde abajo, navegando al enlazarde la biblioteca de recursos.
En la página de elementos de la arma, haz clic en el botón verde Obtener y confirma la transacción.
En Studio, abra la Caja de herramientas ( Ver → Caja de herramientas ).
Seleccione la sección de su caja de herramientas Inventario .
Localiza el arma y haz clic en ella para agregarla al lugar.Cuando se le pregunta si desea poner la herramienta en el paquete de inicio, haga clic en Sí si desea que los jugadores comiencen con la arma en su mochila, o haga clic en No para simplemente colocar la arma en el mundo 3D como recogida.
Si esta es la primera vez que se introduce un arma aprobada, mueva su carpeta Sistema de armas a Servicio de guiones del servidor para servir como el directorio unificado sistema de armas para todas las armas aprobadas en la experiencia.
Estructura de carpeta del sistema
La carpeta Sistema de armas es una carpeta unificada que contiene recursos, configuraciones y scripts que alimentan todas las armas aprobadas en la experiencia.Si se encuentra en ServerScriptService , reemplaza cualquier carpeta equivalente de Sistema de armas que pueda residir dentro de armas individuales.

La carpeta Sistema de armas contiene las siguientes instancias:
- Tipos de arma ( ) – Especifica todos los tipos de arma.
- Script de armas del servidor ( )
- Versión ( IntValue )
- ClientWeaponScript ( LocalScript )
- NetworkingCallbacks ( ModuleScript )
- Datos de arma ( )
- Sistema de armas ( ModuleScript )
Dentro de la carpeta Sistema de armas , se controlan diferentes aspectos por el siguiente ModuleScripts :
Aspecto | Manejado principalmente dentro de... |
---|---|
Funcionalidad de armas |
|
cámarade hombro |
|
Interfaz gráfica (o GUI)de armas |
|
Estructura de arma
Las armas aprobadas son Tools y se llaman como aparecerán en la mochila del jugador. Cada arma se estructura con una jerarquía similar.
introducirde arma
El Tipo de arma StringValue se corresponde con el ModuleScript para el arma en la carpeta Sistema de armas / Tipos de armas .Los dos valores base son Arma de bala y Arma de arco .
aplicación de modeladode arma
Cada arma contiene un Model formado por uno o más BaseParts para formar el arma física.Uno de estos debe establecerse como el aplicación de modeladode PrimaryPart .

El modelo también incluye los siguientes descendientes importantes que pueden ser padres de uno de los aplicación de modeladoBaseParts :
- Archivo de consejo – Attachment cuya posición en el padre BasePart determina dónde salen las balas/proyectiles.
- Archivo de manejo – Attachment cuya posición en el padre BasePart determina dónde se solda el manejo .
- Despedido – Sound que se reproduce cuando se dispara el arma.
- Recargar – Sound que se reproduce cuando se recarga el arma.
- Descendientes adicionales para cualquier opción especializada.
Mano de controlador
La parte Manija determina dónde sostiene un personaje de jugador el arma.Esto debe ser un Part , debe llamarse Mango , y debe ser un hijo directo de la arma (herramienta).
Carpeta de configuración
La carpeta Configuración contiene tipos de "valor" específicos para el comportamiento de las armas.Además de los predeterminados, puedes agregar elementos de configuración adicionales para opciones especializadas cuando sea aplicable.
A continuación se muestran las configuraciones base y sus valores predeterminados:
Artículo | Descripción | Por defecto |
---|---|---|
Capacidad de munición | Número de disparos en cada "clip de munición" antes de que el jugador deba recargar.Tenga en cuenta que las municiones son ilimitadas y esto no especifica cuánta munición lleva un jugador. | 30 |
Modo de fuego | Elige entre Semiautomático (un disparo por clic/toque), Automático (desencadenarcontinuo), o Explosión (explosión de disparos igual a NumBurstShots por clic/toque). | Semiautomático |
Enfriamiento de disparo | Tiempo mínimo de espera entre clics.Para armas con modo de fuego de automático , este es también el tiempo entre disparos mientras se presiona el botón de hcer clico se mantiene presionado. | 0.1 |
Tiempo de reutilización de disparo explosivo | Tiempo entre cada disparo en una ráfaga; solo importa si configuras el modo de fuego a ráfaga . | Valor de tiempo de reutilización de disparo |
Tiros de explosión numérica | Número de disparos por clic/burst; solo importa si configuras Fuego a Explosión . | 3 |
Daño de golpe | Cantidad de daño que hace cada golpe directo. | 10 |
Distancia de daño total | Distancia máxima que los disparos harán daño completo.Cualquier cosa que golpee más allá de esta distancia recibirá menos y menos daño a medida que la distancia se acerque a ZeroDamageDistance . | 1000 |
Distancia de daño cero | Cualquier cosa que golpee en o más allá de esta distancia no recibirá daños. | 10000 |
Velocidad de bala | Velocidad a la que viajan las balas/proyectiles cuando se disparan. Establecer esto en un valor muy alto como 20000 simula armas de rayos como pistolas láser. | 1000 |
Distancia máxima | Máxima distancia de balas/proyectiles antes de desaparecer. | 2000 |
Dispersión mínima | Cantidad mínima de difusión para el arma. | 0 |
Dispersión máxima | Cantidad máxima de difusión para el arma. | Valor de MinSpread |
Gravedad factor | Cantidad que la gravedad debería influir en cada bala/proyectil.Por ejemplo, este valor para la ballesta es 1 porque las flechas arcan durante el vuelo, pero este valor para el lanzador de cohetes es 0 porque los cohetes propulsados viajan rectos. | 0 |
Tiene alcance | Establezca en verdadero si desea utilizar el alcance que se especifica en Interfaz de usuario del sistema de armas. | falso |
Animación de recarga | Nombre de la pista de animación de recarga en Recursos / Animaciones del directorio del sistema. | Recarga de rifle |
Objetivo de seguimiento | Nombre de la pista de animación del objetivo en Recursos / Animaciones del directorio del sistema. | Apuntar con el rifle |
Rastro de enfoque | Nombre de la pista de animación de enfoque en Recursos / Animaciones del directorio del sistema. | Apuntas hacia abajo con miras de rifle |
Retroceso mínimo | Retroceso mínimo agregado por cada disparo. | 0.05 |
RetrocesoMax | Retroceso máximo agregado por cada disparo. | 0.5 |
Recoil total máximo | Retroceso acumulado máximo total. El retroceso actual de la arma nunca excederá este valor. | 2 |
Decadencia de retroceso | Multiplicador de decadencia para el retroceso; esencialmente la velocidad a la que disminuye el retroceso después de disparar. | 0.825 |
Tiempo de retraso de retroceso | Tiempo de espera después de disparar/hacer clic antes de retroceder se agrega a la cámara. | 0.07 |
Tiempo de inicio | Longitud del tiempo después de equipar el arma antes de que el jugador pueda disparar.Esto impide que los jugadores disparen un solo disparo con múltiples armas diferentes en rápida sucesión. | 0.2 |
Rango de velocidad de reproducción de fuego | Cantidad que el tono puede variar para el sonido disparado de la arma. Establece esto en 0 para que siempre se reproduzca con el mismo tono. | 0.1 |
Proyectiles numéricos | Número de balas/proyectiles que dispararán al mismo tiempo cuando hagas clic/toques una vez.Esto es útil para armas como la escopeta que dispara múltiples balas al mismo tiempo.Tenga en cuenta que un disparo siempre usará exactamente una munición independientemente de este valor. | 1 |
Opciones especializadas
Puedes añadir/modificar las siguientes opciones para cualquier arma.Estas personalizaciones requieren modificar el arma Model , el arma Configuration o ambas.Algunas configuraciones dependen de otras, como partículas de salida que requieren los hijos necesarios para efectos de proyectil/golpe y sonidos .
Animaciones y sonidos de perno
El perno de una arma bolt es la parte que se mueve de adelante hacia atrás cada vez que se dispara.
- Descendientes del modelo de arma de la arma Modelo de arma
Perno | BasePart que se mueve cuando se dispara el arma. | |
Motor de perno | Motor6D se usa para animar el perno.Asegúrate de establecer el motor de Part0 al aplicación de modeladode arma de PrimaryPart y Part1 a la parte de perno . | |
Inicio del motor de perno | Attachment cuya posición en el padre BasePart determina dónde está el perno cuando está en reposo. | |
Objetivo de motor de perno | Attachment cuya posición en el padre BasePart determina dónde se anima el perno al disparar. | |
BoltOpenSound | Sound que se reproduce cuando el perno se abre. | optional |
Cerrar sonido de perno | Sound que se reproduce cuando el perno se cierra. | optional |
- Hijos de la carpeta Configuración de la arma
Artículo | Descripción | Por defecto |
---|---|---|
Tiempo de acción abierta | El tiempo que toma el perno para animarse a la posición abierta. | 0.025 |
Tiempo de cierre de acción | El tiempo que toma el perno para animarse a la posición cerrada. | 0.075 |
Expulsar casquillos de bala
Las armas pueden incluir casquillos de balas físicos que se expulsan al disparar y caen al suelo.
- Descendientes del modelo de arma de la arma Modelo de arma
Punto de expulsión de casing | Attachment cuya posición en el padre BasePart determina dónde quieres que salgan los casquillos de bala.Tenga en cuenta que su orientación determina la dirección en la que salen las cascaras. |
- Hijos de la carpeta Configuración de la arma
Artículo | Descripción | Por defecto |
---|---|---|
Efecto de casing | Nombre del casing BasePart en Activos / Efectos / Casings del directorio del sistema . | |
Velocidad de expulsión de casingEjectSpeedMin | Velocidad mínima de expulsión de casquillos | 15 |
Velocidad máxima de expulsión de casing | Velocidad máxima de expulsión de casquillos | 18 |
- Hijo de la casación en Activos / Efectos / Casos del directorio del sistema
CasingHitSound | Sound que suena cuando los casquillos golpean el suelo. | optional |
Efectos de proyectil/golpe y sonidos
Puedes configurar proyectiles físicos para cualquier arma, junto con Sounds , Beams y ParticleEmitters para efectos de golpe y otros efectos especiales.
- Hijos de la carpeta Configuración de la arma
Artículo | Descripción | Por defecto |
---|---|---|
Efecto de disparo | Nombre de un efecto de disparo almacenado dentro de Recursos / Efectos / Tiros del directorio del sistema . | |
Debería mover parte | Establecer en verdadero si el efecto de disparo de la arma debe moverse con el proyectil o falso si no.Solo deberías establecer esto en verdadero si hay un objeto visible que se mueva con cada disparo, como una flecha o un cohete. | falso |
Tiempo de desaparición del rayo | El tiempo que tarda Beam0 o Beam1 ( véase a continuación ) en desaparecer después de que la bala/proyectil golpee algo.Por defecto, no se aplicará desaparición manual por código. | 0 |
Anchura del rayo0 | Espesor de Beam0 o Beam1 en Attachment0 ( véase a continuación ). | 1.5 |
Anchura del rayo1 | Espesor de Beam0 o Beam1 en Attachment1 ( véase a continuación ). | 1.8 |
Partículas numéricas | Número de partículas que el emisor HitParticles ( véase a continuación ) emitirá. | 3 |
HitPartículas usa color de parte | Establezca en verdadero si desea que las partículas de impacto sean del color de la superficie de impacto; falso si desea que las partículas de impacto no cambien de color. | cierto |
- Descendientes del efecto de disparo especificado ShotEffect notado en la sección anterior
Volar | Sound que se reproduce mientras la bala/proyectil está viajando. | optional |
Beam0 | Primera ranura para un seguimiento Beam detrás de la bala/proyectil.No olvides establecer Archivo adjunto0 y Archivo adjunto1 . | optional |
Beam1 | Segundo espacio para un trazado Beam detrás de la bala/proyectil.No olvides establecer Archivo adjunto0 y Archivo adjunto1 . | optional |
Archivo0 | Attachment cuya posición en el padre BasePart determina la parte trasera de los rayos de seguimiento; asegúrese de establecer Beam.Attachment0 en ambos Beam0 y Beam1 a esto. | optional |
Archivo1 | Attachment cuya posición en el padre BasePart determina el frente de los rayos de seguimiento; asegúrese de establecer Beam.Attachment1 en ambos Beam0 y Beam1 a esto. | optional |
Partículas de seguimiento | ParticleEmitter patrocinadas como un hijo directo de Attachment0 ; esto se emitirá mientras la bala/proyectil viaja. | optional |
Partículas principales | ParticleEmitter padronizadas como un hijo directo de Attachment1 ; esto se emitirá mientras la bala/proyectil esté viajando. | optional |
Efecto de golpe | Attachment cuya posición se establecerá en Beam.Attachment1 de Beam0 cuando la bala/proyectil golpee.Debes especificar Beam0 y sus adjuntos para que esto funcione correctamente. | optional |
Sonido de golpe | Sound padroneado como un hijo directo de Efecto de golpe ; se reproduce cuando la bala/proyectil golpea. | optional |
Partículas de golpe | Sound se convierte en padre como un hijo directo de Efecto de golpe ; emite cuando la bala/proyectil golpea. | optional |
[Parte de proyectil] | Cualquiera Part o MeshPart que quieras aparecer como un proyectil físico.Asegúrese de que haya establecido Deber mover parte notado en la sección anterior a verdad si tiene un objeto visible aquí. | optional |
Partículas de boca
Esta opción emite partículas desde la especificada ParticleEmitter en la punta de la arma TipAttachment Attachment cuando se dispara.
Configuración descendente:

- Efecto de disparo ( StringValue ) — Nombre de un efecto de disparo almacenado dentro de WeaponsSystem/Assets/Effects/Shots .
- Partículas de salida de cañón ( IntValue ) (opcional) — Número de partículas de salida de cañón que se emitirán; el predeterminado es 50 .
Para el efecto de disparo especificado, agregue un recurso de emisor de partículas dentro de WeaponsSystem/Assets/Effects/Shots llamado partículas de culata .

Destellos de boca
Esta opción crea un efecto de flash Beam cuando se dispara el arma.
Descendientes de modelo:

- MuzzleFlash0 ( Attachment ) — Se usa para especificar un lado del flash de boca. La posición no importa.
- MuzzleFlash1 ( Attachment ) — Se usa para especificar el lado opuesto del flash de cañón. La posición no importa.
- Destello de boca ( Beam ) — Asegúrese de establecer Attachment0 a Destello de boca0 y Attachment1 a Destello de boca1 .
Configuración descendente:

- Tiempo de flash de boca ( NumberValue ) (opcional) — Duración del tiempo que el flash de boca mostrará; la predeterminada es 0.03 .
- MuzzleFlashRotation0 ( NumberValue ) (opcional) — Rotación mínima del flash de culata; la predeterminada es -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (opcional) — Rotación máxima del flash de culata; el valor predeterminado es math.pi .
- MuzzleFlashSize0 ( NumberValue ) (opcional) — Tamaño mínimo del flash de culata; el predeterminado es 1 .
- MuzzleFlashSize1 ( NumberValue ) (opcional) — Tamaño máximo del flash de culata; el predeterminado es 1 .
Rastros de partículas
Esta opción crea un rastro de diferente longitud desde la arma al punto de impacto del proyectil.
Configuración descendente:

- Duración del rastro ( NumberValue ) (opcional) — Duración del rastro detrás de bala/proyectil; la opción predeterminada es nil lo que significa que la duración del rastro se calculará en lugar de usar Factor de duración del rastro .
- Factor de longitud de rastro ( NumberValue ) (opcional) — La longitud del rastro se establecerá en este valor multiplicado por la distancia que la bala/proyectil recorrió en el último marco; el valor predeterminado es 1 .Tenga en cuenta que esto se anulará si incluye Duración del recorrido .
- Mostrar todo el rastro hasta que se golpee ( BoolValue ) (opcional) — Establezca en verdadero para renderizar el rastro desde la punta de la arma hasta donde sea que el proyectil llegue; esto anulará tanto Longitud del rastro como Factor de longitud del rastro y el rastro solo desaparecerá una vez que el proyectil golpee algo.Establecer en falso para usar una de las dos opciones anteriores para calcular la longitud del rastro.Por defecto es falso .
Marcas de golpe
Esta adición visual aparece en la superficie donde los proyectiles golpean y es útil para flechas, agujeros de bala, marcas de quemadura, etc.
Configuración descendente:

- Efecto de marcado de golpe ( StringValue ) (opcional) — Nombre del efecto de marcado de golpe almacenado dentro de WeaponsSystem/Assets/Effects/HitMarks ; el predeterminado es BulletHole .
- AlignHitMarkToNormal ( BoolValue ) (opcional) — Establecer en verdadero si la marca de golpe siempre debe alinearse plana contra la superficie como un agujero de bala, o falsa si la marca de golpe debe aparecer atascada en la superficie desde la dirección de donde salió el proyectil (como una flecha).Por defecto es verdadero .
Puedes agregar el siguiente recurso opcional dentro de WeaponsSystem/Assets/Effects/HitMarks :

- Brillo ( Decal ) (opcional) — Aparece en la superficie de golpe completamente opaca, luego se vuelve rápidamente más transparente, como un efecto brillante en la superficie que desaparece rápidamente.Útil para cosas como mostrar una marca roja brillante donde los explosivos golpean.
- BulletHole ( Decal ) (opcional) — Aparece en la superficie de golpe completamente opaca y, después de 4 segundos, desaparece a transparente durante 1 segundo.
- Tablero de impacto ( ) (opcional) — Se muestra en la superficie de golpe, siempre hacia la cámara.
- Impacto ( ) (opcional) — Hijo directo de ImpactBillboard ; esto comienza completamente opaco, crece a la tamaño completo del ImpactBillboard sobre 0.1 segundos, luego se reduce a la mitad de su tamaño y desaparece a la transparencia completa sobre 0.1 segundos.
- Cualquier Part / MeshPart / SpecialMesh que quieras aparecer como proyectil físico (opcional).Por ejemplo, incluir una flecha MeshPart y establecer AlignHitMarkToNormal notado anteriormente a falso hará que la flecha se salga de la superficie desde la dirección en la que la disparaste.
Proyectiles explosivos
Los proyectiles pueden incluir un objeto de explosión para dañar los personajes del jugador en una zona alrededor del punto de impacto.
Configuración descendente:

- ExplodeOnImpact ( BoolValue ) (opcional) — Establezca en verdadero si desea balas/proyectiles para que la arma explote al impacto, falso de lo contrario.Por defecto es falso .
- Radio de explosión ( NumberValue ) (opcional) — Radio de explosión de explosión; el valor predeterminado es 8 .
- Presión de explosión ( NumberValue ) (opcional) — Presión de explosión de explosión; la predeterminada es 10000 .
- Daño de explosión ( ) (opcional) — Daño infligido a las cosas en el centro de la explosión.Tenga en cuenta que la explosión causa menos daños cuanto más lejos están los objetos golpeados del centro de la explosión.Por defecto es 100 .
Cargando arma
Un arma de carga como el Railgun debe cargarse entre disparos antes de que pueda disparar de nuevo.
Descendientes de modelo:

- Cargando ( Sound ) (opcional) — Se reproduce mientras la arma se está cargando.
- Descarga ( Sound ) (opcional) — Se reproduce mientras la arma se está descargando, por ejemplo, si cargas la arma solo parcialmente y sueltas el botón de disparo.
- Carga completa ( Sound ) (opcional) — Se reproduce cuando la arma haya alcanzado la cargocompleta
- Descarga completa ( Sound ) (opcional) — Se reproduce cuando la arma se ha descargado completamente
- Carga de resplandor ( BasePart ) (opcional) — Este objeto se volverá menos transparente a medida que la arma se cargue, de modo que será completamente opaco al 100% de cargo.
- Partículas de carga completa ( ParticleEmitter ) (opcional) — Emite cuando la arma haya terminado de cargarse.Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart .
- Partículas de descarga completa ( ParticleEmitter ) (opcional) — Emite cuando la arma se haya descargado completamente.Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart .
- Partículas de carga ( ParticleEmitter ) (opcional) — Emite mientras la arma se está cargando.Puedes incluir múltiples emisores de este nombre y cada uno emitirá mientras se carga.Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart .
Configuración descendente:

- Tasa de carga ( NumberValue ) — Tasa a la que se cargola arma. Este valor debe especificarse para indicar que la arma usa carga.
- Tasa de descarga ( NumberValue ) (opcional) — Tasa a la que se descargará la arma; la predeterminada es 0 lo que significa que la arma no descargará en todos/todas.
- Cargar pasivamente ( BoolValue ) (opcional) — Establecer en verdadero si quieres que la arma se cargue pasivamente para que dispare instantáneamente cuando hagas hcer clic, o falso si quieres hacer clic/tocar para cargar la arma y tenerla lista cuando se alcance la carga completa.Por defecto es falso .
- Tasa de carga de partículas por carga ( IntValue ) (opcional) — Número de partículas que emitirán todos los cargadores de partículas emisores multiplicados por la carga actual de la arma.El valor predeterminado es 20 , lo que significa que si la carga de la arma es del 10%, cada emisor de partículas de carga emitirá 2 partículas (20×0.1), y si la carga de la arma es del 90%, cada emisor emitirá 18 partículas (20×0.9).
- Descarga de fuego ( NumberValue ) (opcional) — Cantidad de carga que la arma perderá después de disparar un tiro completamente cargado; la opción predeterminada es 1 .
- Partículas de carga completa ( IntValue ) (opcional) — Número de partículas que el emisor de - CargaCompleteParticles emitirá una vez que la arma esté completamente cargada.Por defecto es 25 .
- Partículas de descarga completa ( IntValue ) (opcional) — Número de partículas que el - DischargeCompleteParticles emisor emitirá cuando la arma se descargue completamente.Por defecto es 25 .
Arma de arco
Un arma de arco como la ballesta puede incluir una construcción de cuerda y brazos realista, así como una flecha visual fijada a la cadena.
Además de agregar descendientes de modelo, debe aplicar lo siguiendo:
- Haz de la arma una arma de carga.Por ejemplo, agregue el requerido Tasa de carga dentro del arma Configuration que especifica qué tan rápido se dibuja la cadena.Además, considere agregar descendientes opcionales al sonido de la arma Model como un sonido de carga para la cuerda/brazos que se están tirando hacia volver.
Descendientes de modelo:

- LeftString ( Beam ) (opcional) — La mitad visual izquierda de la cadena.
- RightString ( Beam ) (opcional) — La mitad visual derecha de la cadena.
- Flecha ( BasePart ) (opcional) — La flecha que aparece cuando el arco está completamente dibujado.Tenga en cuenta que esto es solo para la apariencia visual en el arco (la flecha realmente disparada será un Efecto de disparo como se describe en Efectos de proyectil/golpe y sonidos).
- String1 ( Attachment ) (opcional) — El punto central de la cadena.
- StringLoose ( Attachment ) (opcional) — Punto donde String1 debería estar cuando el arco esté en reposo.
- StringTight ( Attachment ) (opcional) — Punto donde String1 debería estar cuando el arco esté completamente dibujado.
- Brazos (Part) (opcional) — Una parte que solo sirve como indicador interno de que los brazos de arco se animarán.Esto puede contener los siguientes hijos directos:
- LeftString0 ( Attachment ) (opcional) — Punto donde el lado izquierdo de la cadena se une al arco.
- RightString0 ( Attachment ) (opcional) — Punto donde el lado derecho de la cadena se une al arco.
- Izquierda suelta ( Attachment ) (opcional) — Punto donde LeftString0 debería estar cuando el arco esté en reposo.
- Derecha suelta ( Attachment ) (opcional) — Punto donde RightString0 debería estar cuando el arco esté en reposo.
- Izquierda apretada ( Attachment ) (opcional) — Punto donde LeftString0 debería estar cuando el arco esté completamente dibujado.
- Derecho apretado ( Attachment ) (opcional) — Punto donde RightString0 debería estar cuando el arco esté completamente dibujado.
- [SpecialMesh] ( SpecialMesh ) (opcional) — La parte del arco que realmente se doblará cuando se dibuje el arco.Tenga en cuenta que debe especificar los siguientes cuatro objetos Vector3Value animados para hacer esto animado.
- Desplazamiento suelto ( Vector3Value ) (opcional) — Desplazamiento del SpecialMesh cuando el arco está en reposo.
- TightOffset ( Vector3Value ) (opcional) — Desplazamiento del SpecialMesh cuando el arco esté completamente dibujado.
- TightScale ( Vector3Value ) (opcional) — Escala del SpecialMesh cuando el arco está completamente dibujado.
Interfaz de usuario del sistema de armas
El sistema de armas principales interfiere con este sistema para actualizar la interfaz gráfica basada en cosas como la difusión de la arma, indicadores para cuando te golpean o golpeas a otros, etc.
El WeaponsSystemGui es un objeto ScreenGui en WeaponsSystem/Assets que se asigna a PlayerGui cuando comienza la experiencia.WeaponSystemGui tiene 4 descendientes:
- Elementos de escalado - Un Folder de elementos en la pantalla.
- Gran pantalla táctil - Un Frame para botones en pantallas táctiles grandes.
- Pantalla táctil pequeña - Un Frame para botones en pantallas táctiles pequeñas.
Escala de elementos
ScalingElements es un padre Folder bajo WeaponsSystemGui con los siguientes descendientes:
Nombre | introducirde instancia | Descripción |
---|---|---|
Indicadores direccionales | Folder | Un Folder donde se almacenan todos los indicadores direccionales. |
Punto de mira | Frame | Un que contiene los siguientes objetos:[UIAspectRationConstraint] - Abajo - Izquierda - Derecha - Superior - Centro - |
Marcador de golpe | Frame | Un Frame que contiene los siguientes objetos:[UIAspectRatioConstraint] - UIAspectRatioConstraint Imagen de marcador de golpe - ImageLabel que aparece y desaparece cuando el jugador golpea con éxito a otro personaje de jugador. |
Pantalla táctil grande
LargeTouchscreen es un Frame que contiene botones que se muestran en pantallas táctiles grandes. LargeTouchscreen tiene los siguientes descendientes:
- Botón de apuntado ( ImageButton )
- Botón de fuego ( ImageButton )
Alcance
El alcance es un Frame que contiene Imagen de alcance ( ImageLabel ) que aparece al hacer zoom en una arma con HasScope habilitado (ver Estructura de arma ). Scope tiene los siguientes descendientes:
Nombre | introducirde instancia | Descripción |
---|---|---|
Instancia de alcance | Frame | Un Frame que contiene los siguientes recursos utilizados al hacer zoom en un arma con HasScope habilitado:[UIAspectRationConstraint] - UIAspectRatioConstraint BottomBlack - Frame LeftBlack - Frame RightBlack - Frame TopBlack - Frame |
Pantalla táctil pequeña
SmallTouchScreen es un Frame que contiene botones que se muestran en pequeñas pantallas táctiles. SmallTouchscreen tiene los siguientes descendientes:
- Botón de apuntado ( ImageButton )
- Botón de fuego ( ImageButton )
Crear un indicador direccional
Los indicadores direccionales se usan para mostrar la dirección de algo alrededor del punto de mira del jugador.Por ejemplo, si alguien te dispara, un semicírculo rojo puede aparecer alrededor de tu punto de mira en la dirección de donde vino el disparo.Otros ejemplos incluyen indicadores para mostrar la dirección de los pasos, fuego indirecto o incluso objetos ambientales como cofres.
Para crear un nuevo indicador, agregue un nuevo indicador Frame en WeaponsSystemGui/ScalingElements/DirectionalIndicators con la siguiente estructura:
Nombre | introducirde instancia | Descripción |
---|---|---|
[Límite de aspecto de interfaz de usuario] | UIAspectRatioConstraint | |
[Etiqueta imagen] | ImageLabel | Imagen del indicador direccional.Ajustar la rotación de la imagen en Studio puede ser necesario a menos que subas la imagen para que esté hacia abajo y haya poco o ningún espacio en blanco alrededor de ella.Esta etiqueta de imagen también debe contener su propio UIAspectRatioConstraint . |
[Configuración] | Configuration | Contiene propiedades opcionales para ajustar. Vea Configuración del indicador para más información. |
Una vez creado, puedes activar un indicador a través del siguiente comando dentro de WeaponsSystem/Libraries/WeaponsGui donde indicatorName es el nombre de la cadena del indicador para activar y worldPos es la posición mundial en la que debe apuntar el indicador direccional:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Configuración del indicador
Los indicadores direccionales se pueden modificar aún más ajustando el objeto padre Configuration que se encuentra bajo el [Indicator] .Todas estas configuraciones tienen un valor predeterminado, por lo que no hay necesidad de establecer configuraciones cuando no se modifica una configuración.
Las siguientes configuraciones se pueden establecer:
Nombre | introducirde instancia | Descripción |
---|---|---|
Nivel de distancia desde el centro | NumberValue | Número de niveles de distancia desde el centro de la pantalla (cada nivel de distancia es aproximadamente de 0.03 redimensionarde pantalla); el predeterminado es 6 . |
Tiempo de desaparición | NumberValue | Tiempo de desaparición del indicador después de su activación y el tiempo TimeBeforeFade; el predeterminado es 1 . |
Nombre | StringValue | Nombre del indicador direccional como quieres referenciarlo en el código; por defecto es el nombre del nivel superior del indicador Frame . |
Tiempo antes de desaparecer | NumberValue | Número de segundos que el indicador aparecerá antes de desaparecer; el predeterminado es 1 . |
Transparencia antes de desaparecer | NumberValue | Transparencia del indicador antes de que empiece a desaparecer; el predeterminado es 0 . |
Nivel de ancho | NumberValue | Número de niveles de ancho desde el centro (cada nivel de ancho es aproximadamente 0.03 redimensionarpantalla); el valor predeterminado es el de Nivel de distancia desde el centro . |
Mostrar factura de daños
El tablero de daños se usa para mostrar pequeños números sobre la cabeza de un personaje cuando está dañado.Estos solo aparecerán para el jugador que dañó el personaje de otro jugador, no para los jugadores espectadores.
Los carteles de daño se manejan en WeaponsSystem/Libraries/DamageBillboardHandler y se pueden activar desde cualquier código del lado del cliente como sigue, donde el daño es la cantidad de daño realizado y adornmentPart es la parte en la que adornar el cartel, como la cabeza de la víctima:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
cámarade hombro
La cámara de hombro es una cámara de tercera persona que mira sobre el hombro derecho del personaje del jugador.Para personalizar la cámara de hombro, modifique las variables bajo el comentario de -- Parámetros de configuración (constantes) en la función ShoulderCamera.new() de WeaponsSystem/Libraries/ShoulderCamera.Puedes modificar cosas como el campo de vista, el desplazamiento desde el personaje, la velocidad de caminata mientras corres o te acercas , etc.
Control de sprint y zoom
Por defecto, el sistema de armas agrega la capacidad de "correr", por lo que los jugadores pueden correr presionando la tecla Shift, presionando completamente hacia arriba en el joystick dinámico (móvil) o presionando completamente hacia la izquierda en el joystick (controlador para juego).Si quieres desactivar el sprint, establece el valor de SprintEnabled dentro de Sistema de armas / Configuración a falso .
El sistema también reduce la velocidad del jugador mientras apunta/enfoca, pero puedes desactivar este comportamiento al establecer el valor de SlowZoomWalkEnabled a falso .
