Pour aider à créer des expériences de combat compétitif, plusieurs armes approuvées sont disponibles pour une utilisation dans n'importe quelle expérience.Le système principal comprend des armes basées sur des projectiles avec une caméra au-dessus de l'épaule, et le réglage de la vitesse du projectile suffisamment élevée peut simuler des armes de raycasting comme des lasers.

Pour utiliser une arme approuvée dans votre expérience :
- Sélectionnez une arme ci-dessous, en naviguant vers le lierde la bibliothèque de ressources.
Sur la page d'objet de l'arme, cliquez sur le bouton vert Obtenir et confirmez la transaction.
Dans Studio, ouvrez la boîte à outils ( Afficher → boîte à outils ).
Sélectionnez votre section boîte à outils Inventaire .
Localisez l'arme et cliquez dessus pour l'ajouter dans l'emplacement.Lorsque vous êtes invité à mettre l'outil dans le pack de démarrage, cliquez sur Oui si vous voulez que les joueurs commencent avec l'arme dans leur sac à dos, ou cliquez sur Non pour simplement placer l'arme dans le monde 3D en tant que récupération.
Si c'est la première fois que vous apportez une arme approuvée, déplacez son dossier Système d'armes dans ServerScriptService pour servir de dossier unifié système d'armes pour toutes les armes approuvées dans l'expérience.
Structure du dossier système
Le dossier Système d'armes est un dossier unifié qui contient des ressources, des configurations et des scripts qui alimentent toutes les armes approuvées dans l'expérience.Si elle se trouve dans ServerScriptService , elle remplace tout dossier équivalent WeaponsSystem qui peut résider dans des armes individuelles.

Le dossier Système d'armes contient les instances suivantes :
- Bibliothèques ( Folder ) – Stocke toutes les autres ModuleScripts utilisées dans le système d'armes.
- Types d'armes ( Folder ) – Spécifie tous les types d'armes.
- ServerWeaponsScript ( Script )
- Version ( IntValue)
- ClientWeaponScript ( LocalScript )
- Appels de réseau ( ModuleScript )
- Données d'armes ( RemoteEvent )
- Système d'armes ( ModuleScript)
Dans le dossier Système d'armes , différents aspects sont contrôlés par les suivants ModuleScripts :
Apecte | Gérée principalement dans... |
---|---|
Fonctionnalité des armes |
|
caméraà épaule |
|
interface utilisateur graphiqued'armes |
|
Structure d'arme
Les armes approuvées sont Tools et sont nommées comme elles apparaîtront dans le sac à dos du joueur. Chaque arme est structurée avec une hiérarchie similaire.
taperd'arme
Le type d'arme correspond au pour l'arme dans le dossier Système d'armes / types d'armes .Les deux valeurs de base sont Arme à balle et Arme à arc .
modèlisationd'arme
Chaque arme contient un Model composé d'un ou plusieurs BaseParts pour former l'arme physique.L'une d'entre elles doit être définie comme la PrimaryPart du modèlisation.

Le modèle inclut également les descendants suivants importants qui peuvent être parentés à l'un des modèlisationde BaseParts :
- Pièce jointe de conseil – Attachment dont la position sur le parent BasePart détermine l'endroit où sortent les balles/projectiles.
- Attachement de traitement – Attachment dont la position sur le parent BasePart détermine l'endroit où la poignée est soudée.
- Licencié – Sound qui joue lorsque l'arme est tirée.
- Rechargement – Sound qui joue lorsque l'arme est rechargée.
- Descendants supplémentaires pour n'importe quelle option spécialisée.
Poignée d'contrôleur
La partie poignée détermine où un personnage joueur tient l'arme.Cela doit être un Part , il doit s'appeler poignée , et il doit être un enfant direct de l'arme (outil).
Dossier de configuration
Le dossier configuration contient des types de valeur spécifiques pour le comportement des armes.Au-delà des valeurs par défaut, vous pouvez ajouter des éléments de configuration supplémentaires pour options spécialisées lorsque cela est applicable.
Comme suit les configurations de base et leurs valeurs par défaut :
Objet | Avertissement | Par défaut |
---|---|---|
Capacité munitions | Nombre de tirs dans chaque "chargeur de munitions" avant que le joueur ne recharge.Notez que les munitions sont illimitées et que cela ne spécifie pas combien de munitions porte un joueur. | 30 |
Mode de tir | Choisissez parmi Semi-automatique (un tir par clic/touche), Automatique (lancercontinu), ou Explosif (explosion de tirs équivalente à NumBurstShots par clic/touche). | Semi-automatique |
Temps de recharge du tir | Temps minimum d'attente entre les clics.Pour les armes avec mode de tir de automatique , c'est aussi le temps entre les tirs en appuyant sur le bouton de tir ou en maintenant le cliquer. | 0.1 |
Temps de recharge du tir explosif | Temps entre chaque tir dans une rafale ; seul le fait compte si vous définissez Mode de tir à rafale . | Valeur de temps de recharge du tir |
Tirs à explosion numérique | Nombre de tirs par clic/éclat ; seul le fait compte si vous définissez Mode de tir à Éclat . | 3 |
Dégâts de frappe | Quantité de dommages que chaque coup direct inflige. | 10 |
Distance de dommages complets | Distance maximale à laquelle les tirs feront des dégâts complets.Tout ce qui est frappé au-delà de cette distance recevra de moins en moins de dégâts à mesure que la distance approche de distance zéro de dommages . | 1000 |
Zéro distance de dommage | Tout ce qui est frappé à ou au-delà de cette distance ne subira aucun dommage. | 10000 |
Vitesse de balle | Vitesse à laquelle les balles/projectiles voyagent lorsqu'ils sont tirés. Définir cela sur une valeur très élevée comme 20000 simule des armes de raycasting comme des lasers. | 1000 |
Distance maximale | Balles/projectiles de distance maximale avant leur disparition. | 2000 |
Étalement minimum | Quantité minimale de dispersion pour l'arme. | 0 |
Étalement maximum | Quantité maximale de dispersion pour l'arme. | Valeur de MinSpread |
Facteur de gravité | Quantité que la gravité devrait influencer chaque balle/projectile.Par exemple, cette valeur pour le arbalète est de 1 car les flèches s'arc pendant le vol, mais cette valeur pour le lance-roquettes est de 0 car les roquettes propulsées se déplacent directement. | 0 |
Avec scope | Définissez à vrai si vous voulez utiliser la portée spécifiée dans Weapons System GUI. | faux |
Rechargement d'animation | Nom de la piste d'animation de rechargement dans Ressources / Animations du dossier du système. | Rechargement de fusil |
Suivi de la cible | Nom de la piste d'animation de l'objectif dans Ressources / Animations du dossier du système. | Visée de fusil |
Piste de zoom de visée | Nom de la piste d'animation de zoom de la cible dans Ressources / Animations du dossier du système. | Viseurs de visée de fusil vers le bas |
ReculMin | Recul minimum ajouté pour chaque tir. | 0.05 |
ReculMax | Recul maximum ajouté pour chaque tir. | 0.5 |
Réajustement total maximum | Recul maximum cumulé total. Le recul actuel de l'arme ne dépassera jamais cette valeur. | 2 |
Dégradation de rejet | Multiplicateur de dégradation pour le rebond ; essentiellement le taux auquel le rebond diminue après le tir. | 0.825 |
Temps de retardement de récupération | Temps d'attente après le tir/clic avant le recul est ajouté à la caméra. | 0.07 |
Temps de démarrage | Durée du temps après avoir équipé l'arme avant que le joueur puisse tirer.Cela empêche les joueurs de tirer un seul coup avec plusieurs armes différentes en succession rapide. | 0.2 |
Portée de vitesse de lecture en feu | Montant que le pitch peut varier pour le son renflammé de l'arme. Définissez-le à 0 pour toujours le jouer au même pitch. | 0.1 |
Numéro de projectiles | Nombre de balles/projets qui tireront en même temps lorsque vous cliquez/tapez une fois.Cela est utile pour des armes comme le fusil à pompe qui tire plusieurs balles en même temps.Notez qu'un tir utilisera toujours exactement une munition indépendamment de cette valeur. | 1 |
Options spécialisées
Vous pouvez ajouter/modifier les options suivantes pour n'importe quelle arme.Ces personnalisations nécessitent de modifier soit l'arme Model, l'arme Configuration, ou les deux.Certaines configurations dépendent d'autres, telles que particules de canon qui nécessitent les enfants nécessaires pour effets de projectiles/frappes et sons.
Animations et sons de boulon
Le boulon d'une arme est la partie qui se déplace d'avant en arrière chaque fois qu'elle est tirée.
- Descendants du modèle d'arme de l'arme Weapon Model
Boulon | BasePart qui se déplace lorsque l'arme est tirée. | |
Moteur Bolt | Motor6D utilisé pour animer le boulon.Assurez-vous de définir le moteur de Part0 du modèlisationd'arme à PrimaryPart et Part1 à la partie Boulon . | |
Démarrage du moteur Bolt | Attachment dont la position sur le parent BasePart détermine l'endroit où se trouve la boulon lorsqu'il est en repos. | |
Cible de moteur Bolt | Attachment dont la position sur le parent BasePart détermine où se déplace le boulon lors du tir. | |
BoltOpenSound | Sound qui joue lorsque le boulon s'ouvre. | optional |
BoltCloseSound | Sound qui se joue lorsque le boulon se ferme. | optional |
Objet | Avertissement | Par défaut |
---|---|---|
Temps d'ouverture d'action | Temps qu'il faut au boulon pour s'animer en position ouverte. | 0.025 |
Temps d'action fermé | Temps qu'il faut au boulon pour s'animer en position fermée. | 0.075 |
Éjecter les bosses de balle
Les armes peuvent inclure des bosses de balle physiques qui éjectent lors du tir et tombent au sol.
- Descendants du modèle d'arme de l'arme Weapon Model
Point d'éjection de la coque | Attachment dont la position sur le parent BasePart détermine où vous voulez que les bosses de balle éclatent.Notez que son orientation détermine la direction dans laquelle les encoches ressortent. |
Objet | Avertissement | Par défaut |
---|---|---|
Effet d'encadrement | Nom de l'encadrement BasePart dans Actifs / Effets / Encadrements du dossier système . | |
Vitesse d'éjection de la coqueMin | Vitesse d'éjection minimale des bossages | 15 |
Vitesse d'éjection de la coqueMax | Vitesse d'éjection maximale des cartouches | 18 |
CasingHitSound | Sound qui joue lorsque les caisses frappent le sol. | optional |
Effets de projectiles/frappes et sons
Vous pouvez configurer des projectiles physiques pour n'importe quelle arme, ainsi que Sounds , Beams , et ParticleEmitters pour les effets de frappe et d'autres effets spéciaux.
Objet | Avertissement | Par défaut |
---|---|---|
Effet de tir | Noms d'un effet de tir stockés dans Actifs / Effets / Tirs du dossier système . | |
Devrait déplacer partie | Définir à vrai si l'effet de tir de l'arme doit se déplacer avec le projectile ou faux si non.Vous ne devez définir ceci que sur vrai si il y a un objet visible qui se déplace avec chaque tir, comme une flèche ou une fusée. | faux |
Temps de fondu de rayon | Temps qu'il faut pour que Beam0 ou Beam1 ( voir ci-dessous ) disparaissent après que la balle/le projectile ait frappé quelque chose.Par défaut, aucune transition manuelle ne sera appliquée par le code. | 0 |
Largeur de rayon0 | Épaisseur de poutre0 ou poutre1 à Attachement0 ( voir ci-dessous ). | 1.5 |
Largeur de rayon1 | Épaisseur de poutre0 ou poutre1 à Attache1 ( voir ci-dessous ). | 1.8 |
Particules NumHit | Nombre de particules que l'émetteur HitParticles ( voir ci-dessous ) émettra. | 3 |
HitParticlesUtiliser la couleur de partie | Définissez à vrai si vous voulez que les particules de frappe soient de la couleur de la surface frappée ; faux si vous voulez que les particules de frappe ne changent pas de couleur. | vrai |
- Descendants du ShotEffect spécifié noté dans la section précédente
Voler | Sound qui joue pendant que la balle/projectile se déplace. | optional |
optional | ||
optional | ||
Attachement0 | Attachment dont la position sur le parent BasePart détermine l'arrière des rayons de suivi ; assurez-vous de définir Beam.Attachment0 sur les deux Beam0 et Beam1 à ceci. | optional |
Attachement1 | Attachment dont la position sur le parent BasePart détermine la face avant des rayons de suivi ; assurez-vous de définir Beam.Attachment1 sur les deux Beam0 et Beam1 à ceci. | optional |
Particules de piste | ParticleEmitter parentées comme enfant direct de Attachement0 ; cela s'émettra pendant que la balle/projectile se déplace. | optional |
Particules de pointe | ParticleEmitter parentées comme enfant direct de Attachement1 ; cela s'émettra pendant que la balle/projectile se déplace. | optional |
HitEffect | Attachment dont la position sera définie à Beam.Attachment1 de Beam0 lorsque la balle/projectile frappe.Vous devez spécifier Beam0 et ses annexes pour que cela fonctionne correctement. | optional |
Son d'impact | Sound parenté comme enfant direct de l'effet de frappe ; joue lorsque la balle/projectile frappe. | optional |
HitParticles | Sound parenté comme enfant direct de HitEffect ; émet lorsque la balle/projectile frappe. | optional |
[Partie de projectile] | Tout Part ou MeshPart que vous souhaitez apparaître comme un projectile physique.Assurez-vous de définir ShouldMovePart noté dans la section précédente à vrai si vous avez un objet visible ici. | optional |
Particules de canon
Cette option émet des particules de la spécifiée ParticleEmitter à l'extrémité de l'arme TipAttachment Attachment lorsqu'elle est tirée.
Configuration des descendants :

- Effet de tir ( StringValue ) — Nom d'un effet de tir stocké dans WeaponsSystem/Assets/Effects/Shots .
- NumMuzzleParticles ( IntValue ) (facultatif) — Nombre de particules de canon qui seront émises ; la valeur par défaut est 50 .
Pour l'effet de tir spécifié, ajoutez une ressource ParticleEmitter dans WeaponsSystem/Assets/Effects/Shots nommée particules de canon .

Éclats de canon
Cette option crée un effet de flash Beam lorsque l'arme est tirée.
Descendants du modèle :

- MuzzleFlash0 ( Attachment ) — Utilisé pour spécifier un côté du flash de canon. La position n'a pas d'importance.
- MuzzleFlash1 ( Attachment ) — Utilisé pour spécifier le côté opposé du flash de canon. La position n'a pas d'importance.
- MuzzleFlash ( Beam ) — Assurez-vous de définir Attachment0 à MuzzleFlash0 et Attachment1 à MuzzleFlash1 .
Configuration des descendants :

- Temps de flash de canon ( NumberValue ) (facultatif) — Durée pendant laquelle le flash de canon s'affichera ; la valeur par défaut est 0.03 .
- MuzzleFlashRotation0 ( NumberValue ) (facultatif) — Rotation minimale du flash de canon ; la valeur par défaut est -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (facultatif) — Rotation maximale du flash de canon ; la valeur par défaut est math.pi .
- MuzzleFlashSize0 ( NumberValue ) (facultatif) — Taille minimale de l'éclat de canon ; la valeur par défaut est 1 .
- MuzzleFlashSize1 ( NumberValue ) (facultatif) — Taille maximale de l'éclat de canon ; la valeur par défaut est 1 .
Trails de particules
Cette option crée une trace de longueur variable de l'arme au point d'impact du projectile.
Configuration des descendants :

- Longueur du parcours ( NumberValue ) (facultatif) — Longueur du parcours derrière balle/projectile ; la valeur par défaut est nil ce qui signifie que la longueur du parcours sera plutôt calculée en utilisant Facteur de longueur de parcours .
- Facteur de longueur de sentier ( NumberValue ) (facultatif) — La longueur du sentier sera définie sur cette valeur multipliée par la distance parcourue par le projectile/balle dans le dernier cadre ; la valeur par défaut est 1 .Notez que cela sera annulé si vous incluez la longueur du parcours .
- Montrer l'ensemble du parcours jusqu'à ce qu'il soit frappé ( BoolValue ) (facultatif) — Définir sur vrai pour rendre le parcours de l'arme de la pointe à l'endroit où le projectile atteint ; cela annulera à la fois la longueur du parcours et le facteur de longueur du parcours et le parcours disparaîtra seulement une fois que le projectile frappera quelque chose.Définir à faux pour utiliser l'une des deux options ci-dessus pour calculer la longueur du parcours.La valeur par défaut est faux .
Marques de frappe
Cette addition visuelle apparaît sur la surface où les projectiles frappent et est utile pour les flèches, les trous de balle, les marques de brûlure, etc.
Configuration des descendants :

- Effet de marque de frappe ( StringValue ) (facultatif) — Nom de l'effet de marque de frappe stocké dans WeaponsSystem/Assets/Effects/HitMarks ; la valeur par défaut est BulletHole .
- AlignHitMarkToNormal ( BoolValue ) (facultatif) — Définir à vrai si la marque de frappe doit toujours s'aligner à plat sur la surface comme un trou de balle, ou faux si la marque de frappe doit apparaître coincée dans la surface depuis la direction du projectile (comme une flèche).La valeur par défaut est vrai .
Vous pouvez ajouter la ressource suivante facultative dans WeaponsSystem/Assets/Effects/HitMarks :

- Briller ( Decal ) (facultatif) — Apparaît sur la surface d'impact entièrement opaque, puis devient rapidement plus transparente, comme un effet de brillance sur la surface qui disparaît rapidement.Utile pour des choses comme montrer une marque rouge brillante où les explosifs frappent.
- BulletHole ( Decal ) (facultatif) — Apparaît sur la surface d'impact entièrement opaque et, après 4 secondes, disparaît à transparent pendant 1 seconde.
- Panneau d'impact ( BillboardGui ) (facultatif) — S'affiche à la surface d'impact, toujours face à la caméra.
- Impact ( ImageLabel ) (facultatif) — Enfant direct de ImpactBillboard ; cela commence entièrement opaque, grandit à la taille complète du ImpactBillboard en 0,1 secondes, puis diminue à moitié sa taille et disparaît à pleine transparence en 0,1 secondes.
- Tout Part / MeshPart / SpecialMesh que vous souhaitez apparaître comme un projectile physique (facultatif).Par exemple, y compris une flèche MeshPart et le paramètre AlignHitMarkToNormal noté ci-dessus à faux fera en sorte que la flèche sortira de la surface dans la direction dans laquelle vous l'avez tirée.
Projectiles explosifs
Les projectiles peuvent inclure un objet d'explosion pour endommager les personnages des joueurs dans une zone autour du point d'impact.
Configuration des descendants :

- ExplodeOnImpact ( BoolValue ) (facultatif) — Définir sur vrai si vous voulez des balles/projets pour que l'arme explose à l'impact, faux autrement.La valeur par défaut est faux .
- Rayon d'explosion ( NumberValue ) (facultatif) — Rayon d'explosion d'explosion; la valeur par défaut est 8 .
- Pression d'explosion ( NumberValue ) (facultatif) — Pression d'explosion de l'explosion ; la valeur par défaut est 10000 .
- Dégâts d'explosion ( NumberValue ) (facultatif) — Dégâts infligés aux choses au centre de l'explosion.Notez que l'explosion inflige moins de dégâts plus loin les objets frappés sont du centre de l'explosion.La valeur par défaut est 100 .
Chargement de l'arme
Une arme de charge comme le Railgun doit être chargée entre les tirs avant de pouvoir tirer à nouveau.
Descendants du modèle :

- Chargement ( Sound ) (facultatif) — Joue pendant que l'arme se charge.
- Déchargement ( Sound ) (facultatif) — Joue pendant que l'arme se décharge, par exemple si vous chargez l'arme seulement partiellement et relâchez le bouton de tir.
- ChargeComplete ( Sound ) (facultatif) — Joue lorsque l'arme a atteint la montantcomplète.
- DischargeComplete ( Sound ) (facultatif) — Joue lorsque l'arme est complètement déchargée.
- ChargeGlow ( BasePart ) (facultatif) — Cet objet deviendra moins transparent au fur et à mesure que l'arme se charge, de sorte qu'il sera entièrement opaque à 100% de montant.
- ChargeCompleteParticles ( ParticleEmitter ) (facultatif) — Émet lorsque l'arme a terminé de se charger.Cet émetteur peut être un enfant de n'importe quel modèle BasePart ou un enfant d'un Attachment à l'intérieur du BasePart.
- Particules de décharge complète ( ParticleEmitter ) (facultatif) — Émet lorsque l'arme est complètement déchargée.Cet émetteur peut être un enfant de n'importe quel modèle BasePart ou un enfant d'un Attachment à l'intérieur du BasePart.
- Particules de chargement ( ParticleEmitter ) (facultatif) — Émet pendant que l'arme se charge.Vous pouvez inclure plusieurs émetteurs de ce nom et chacun émettra pendant la charge.Cet émetteur peut être un enfant de n'importe quel modèle BasePart ou un enfant d'un Attachment à l'intérieur du BasePart.
Configuration des descendants :

- Vitesse de chargement ( NumberValue ) — Vitesse à laquelle l'arme se montant. Ce valeur doit être spécifiée pour indiquer que l'arme utilise la charge.
- Vitesse de décharge ( NumberValue ) (facultatif) — Vitesse à laquelle l'arme se déchargera ; la valeur par défaut est 0 ce qui signifie que l'arme ne se déchargera pas du tout.
- ChargePassivement ( BoolValue ) (facultatif) — Définir sur vrai si vous voulez que l'arme se charge passivement afin qu'elle tire instantanément lorsque vous cliquez, ou faux si vous voulez cliquer/toucher pour charger l'arme et qu'elle tire une fois la charge complète atteinte.La valeur par défaut est faux .
- ChargingParticlesRatePerCharge ( ) (facultatif) — Nombre de particules qui émettront de tous les émetteurs de particules de charge multiplié par la charge actuelle de l'arme.La valeur par défaut est 20 , ce qui signifie que si la charge de l'arme est à 10%, chaque émetteur de particules de chargement émettra 2 particules (20×0.1), et si la charge de l'arme est à 90%, chaque émetteur émettra 18 particules (20×0.9).
- Décharge de feu ( NumberValue ) (facultatif) — Quantité de charge que l'arme perdra après avoir tiré un tir entièrement chargé ; la valeur par défaut est 1 .
- NumChargeCompleteParticles ( IntValue ) (facultatif) — Nombre de particules que l'émetteur ChargeCompleteParticles émettra une fois que l'arme sera entièrement chargée.La valeur par défaut est 25 .
- NumDischargeCompleteParticles ( IntValue ) (facultatif) — Nombre de particules que l'émetteur - DischargeCompleteParticles émettra lorsque l'arme sera complètement déchargée.La valeur par défaut est 25 .
Arme de l'arc
Une arme à arc comme le crochet peut inclure une construction de cordes et d'armes réalistes, ainsi qu'une flèche visuelle fixée sur la chaîne.
En plus d'ajouter des descendants de modèle, vous devez appliquer ce qui suivre:
- Faites de l'arme une arme de chargement.Par exemple, ajoutez le taux de charge requis ChargeRate dans le Configuration de l'arme qui spécifie à quelle vitesse la chaîne est dessinée.En outre, envisagez d'ajouter des descendants facultatifs à l'arme Model tels qu'un son de chargement pour la corde/les bras qui sont tirés retour.
Descendants du modèle :

- LeftString ( Beam ) (facultatif) — La moitié visuelle de la chaîne à gauche.
- RightString ( Beam ) (facultatif) — La moitié visuelle droite de la chaîne.
- Flèche ( BasePart ) (facultatif) — La flèche qui apparaît lorsque le arc est entièrement dessiné.Notez que c'est uniquement pour l'apparence visuelle sur l'arc (la flèche réelle tirée sera un effet de tir comme décrit dans effets de projectiles/frappes et sons).
- String1 ( Attachment ) (facultatif) — Le point central de la chaîne.
- StringTight ( Attachment ) (facultatif) — Point où String1 devrait être lorsque l'arc est entièrement tiré.
- Bras ( Part ) (facultatif) — Une partie qui ne sert que d'indicateur interne indiquant que les bras de l'arc seront animés.Cela peut contenir les enfants directs suivants :
- LeftString0 ( Attachment ) (facultatif) — Point où le côté gauche de la chaîne est attaché à l'arc.
- RightString0 ( Attachment ) (facultatif) — Point où le côté droit de la chaîne est attaché à l'arc.
- GaucheLâche ( Attachment ) (facultatif) — Point où LeftString0 devrait être lorsque l'arc est en repos.
- DroitLoose ( Attachment ) (facultatif) — Point où RightString0 devrait être lorsque l'arc est en repos.
- Serrage gauche ( Attachment ) (facultatif) — Point où LeftString0 devrait être lorsque l'arc est entièrement tiré.
- Droit serré ( Attachment ) (facultatif) — Point où RightString0 devrait être lorsque le arc est entièrement tiré.
- [SpecialMesh] ( SpecialMesh ) (facultatif) — La partie de l'arc qui se courbera réellement lorsque l'arc sera tiré.Notez que vous devez spécifier les quatre objets suivants Vector3Value pour rendre cette animation.
- Décalage serré ( Vector3Value ) (facultatif) — Décalage du SpecialMesh lorsque le arc est entièrement dessiné.
- Taille serrée ( Vector3Value ) (facultatif) — Taille du SpecialMesh lorsque le arc est entièrement dessiné.
Interface de système d'armes interface utilisateur graphique
Le système d'armes principales interagit avec ce système pour mettre à jour l'interface utilisateur en fonction de choses comme la propagation du pistolet, d'indicateurs lorsque vous êtes frappé ou que vous frappez d'autres personnes, etc.
Le WeaponsSystemGui est un objet ScreenGui dans WeaponsSystem/Assets qui est parenté à PlayerGui lorsque l'expérience commence.WeaponSystemGui a 4 descendants :
- Éléments de redimensionnement - Un Folder d'éléments sur l'écran.
- Grand écran tactile - Un Frame pour les boutons sur les grands écrans tactiles.
- Petit écran tactile - Un Frame pour les boutons sur les petits écrans tactiles.
Éléments de mise à l'échelle
ScalingElements est un Folder parent sous WeaponsSystemGui avec les descendants suivants :
Nom | taperd'instance | Avertissement |
---|---|---|
Indicateurs directionnels | Folder | Un Folder où tous les indicateurs directionnels sont stockés. |
Ligne de mire | Frame | A Frame contenant les objets suivants :[UIAspectRationConstraint] - UIAspectRatioConstraint Bas - ImageLabel Gauche - ImageLabel Droite - ImageLabel Haut - ImageLabel |
Marqueur de frappe | Frame | Un Frame contenant les objets suivants :[UIAspectRatioConstraint] - UIAspectRatioConstraint HitMarkerImage - ImageLabel qui apparaît et disparaît lorsque le joueur frappe avec succès un autre personnage joueur. |
Grand écran tactile
LargeTouchscreen est un Frame contenant des boutons qui s'affichent sur de grands écrans tactiles. LargeTouchscreen a les descendants suivants :
- Bouton de visée ( ImageButton )
- Bouton de feu ( ImageButton )
Portée
Le scope est un Frame qui contient ScopeImage ( ImageLabel ) qui apparaît lorsque vous zoomez sur une arme avec HasScope activé (voir Structure d'arme ). Scope a les descendants suivants :
Nom | taperd'instance | Avertissement |
---|---|---|
ScopeInstance | Frame | Un Frame contenant les ressources suivantes utilisées lors du zoom sur une arme avec HasScope activé:[UIAspectRationConstraint] - UIAspectRatioConstraint BottomBlack - Frame LeftBlack - Frame RightBlack - Frame TopBlack - Frame |
Petit écran tactile
SmallTouchScreen est un Frame contenant des boutons qui s'affichent sur de petits écrans tactiles. SmallTouchscreen a les descendants suivants :
- Bouton de visée ( ImageButton )
- Bouton de feu ( ImageButton )
Créer un indicateur directionnel
Les indicateurs directionnels sont utilisés pour montrer la direction de quelque chose autour du point de mire du joueur.Par exemple, si quelqu'un vous tire dessus, un semi-cercle rouge peut apparaître autour de votre point de mire dans la direction d'où le tir est venu.D'autres exemples incluent des indicateurs pour montrer la direction des pas, des tirs indirects ou même des objets environnementaux tels que des coffres.
Pour créer un nouvel indicateur, ajoutez un nouvel indicateur Frame dans WeaponsSystemGui/ScalingElements/DirectionalIndicators avec la structure suivante :
Nom | taperd'instance | Avertissement |
---|---|---|
[Contrainte d'aspect d'interface utilisateur] | UIAspectRatioConstraint > | |
[ImageLabel] | ImageLabel | Image de l'indicateur directionnel.La modification de la rotation de l'image dans Studio peut être requise à moins que vous n'uploadiez l'image afin qu'elle soit face vers le bas et qu'il n'y ait pas beaucoup d'espace vide autour d'elle.Cette étiquette d'image doit également contenir sa propre UIAspectRatioConstraint . |
[Configération] | Configuration | Contient des propriétés optionnelles à ajuster. Voir configuration de l'indicateur pour plus d'informations. |
Une fois créé, vous pouvez activer un indicateur via la commande suivante dans WeaponsSystem/Libraries/WeaponsGui où indicatorName est le nom de la chaîne de l'indicateur à activer et worldPos est la position du monde où l'indicateur directionnel doit se diriger :
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Configuration de l'indicateur
Les indicateurs directionnels peuvent être modifiés plus tard en ajustant l'objet parent Configuration sous le [Indicator].Tous ces paramètres ont une valeur par défaut, il n'est donc pas nécessaire de définir des configurations lorsque vous ne modifiez pas un paramètre.
Les configurations suivantes peuvent être configurer:
Nom | taperd'instance | Avertissement |
---|---|---|
Niveau de distance depuis le centre | NumberValue | Nombre de niveaux de distance du centre de l'écran (chaque niveau de distance est d'environ 0,03 redimensionnerd'écran) ; la valeur par défaut est 6 . |
Temps de fondu | NumberValue | Dégradation de l'indicateur suivant son activation et le temps TimeBeforeFade ; la valeur par défaut est 1 . |
Nom | StringValue | Nom de l'indicateur directionnel tel que vous souhaitez le référencer dans le code ; la valeur par défaut est le nom du niveau supérieur de l'indicateur Frame . |
Temps avant la disparition | NumberValue | Nombre de secondes pendant lesquelles l'indicateur apparaîtra avant de disparaître ; la valeur par défaut est 1 . |
Transparence avant la disparition | NumberValue | Transparence de l'indicateur avant qu'il ne commence à disparaître ; la valeur par défaut est 0 . |
Niveau de largeur | NumberValue | Nombre de niveaux de largeur du centre (chaque niveau de largeur est d'environ 0,03 redimensionnerd'affichage) ; la valeur par défaut est celle de DistanceLevelFromCenter . |
Afficher le panneau des dommages
La bannière de dégâts est utilisée pour montrer de petits chiffres au-dessus de la tête d'un personnage lorsqu'il est endommagé.Ceux-ci n'apparaîtront que pour le joueur qui a endommagé le personnage d'un autre joueur, pas pour les joueurs en train de regarder.
Les panneaux de dégâts sont gérés dans WeaponsSystem/Libraries/DamageBillboardHandler et peuvent être activés à partir de n'importe quel code côté client comme suivant, où les dégâts sont le montant des dégâts infligés et adornmentPart est la partie sur laquelle adorer le panneau, comme la tête de la victime :
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
caméraà épaule
La caméra d'épaule est une caméra à la troisième personne qui regarde sur l'épaule droite du personnage du joueur.Pour personnaliser la caméra d'épaule, modifiez les variables sous le commentaire -- Paramètres de configuration (constantes) dans la fonction ShoulderCamera.new() de WeaponsSystem/Libraries/ShoulderCamera.Vous pouvez modifier des choses telles que le champ de voir, le décalage par rapport au personnage, la vitesse de marche lors du sprint ou du zoomage , etc.
Contrôle de la course et du zoom
Par défaut, le système d'armes ajoute la capacité "sprint", afin que les joueurs puissent sprinter en maintenant la touche Shift enfoncée, en poussant complètement sur le joystick dynamique (mobile) ou en poussant complètement sur le joystick gauche (gamepad).Si vous voulez désactiver le sprint, définissez la valeur de SprintEnabled dans Système d'armes / configuration à faux .
Le système réduit également la vitesse du joueur lorsqu'il vise/zoome, mais vous pouvez désactiver ce comportement en définissant la valeur de SlowZoomWalkEnabled à faux .
