Seat
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Un type de BasePart dans lequel un personnage de joueur peut «s'asseoir».Lorsqu'un personnage touche un objet de siège activé, il sera attaché à la partie par un Weld et les scripts de personnage par défaut joueront une animationsde siège.
Comment fonctionnent les sièges ?
Lorsqu'un modèle contenant un Humanoid et un BasePart appelé 'HumanoidRootPart' (généralement un personnage de joueur) touche un siège, un Weld est créé entre le siège et la partie.Les propriétés C0 et C1 sont configurées de sorte que le caractère soit soudé à 2 points au-dessus du siège.Cette soudure s'appelle « SeatWeld » et est parentée à la selle.
Lorsque vous vous asseyez, la propriété Seat.Occupant est définie sur la Humanoid qui est 'assise' dans le siège.De plus, la propriété Humanoid.SeatPart de l'humanoïde est définie sur le siège.
Un personnage peut également être forcé de s'asseoir à un siège en utilisant la fonction Seat:Sit().
Il y a deux façons pour un personnage de sortir d'un siège.Lorsqu'un joueur saute, il est retiré du siège.Cependant, cela peut également être fait manuellement en détruisant le souduredu siège, par exemple :
siège : FindFirstChild("SeatWeld") : Destroy()
Les sièges de notes ont un temps de recharge (actuellement 3 secondes) qui est sur une base par caractère par siège.Cela signifie qu'une fois qu'un personnage a quitté son siège, il ne peut pas s'asseoir sur le même siège pendant 3 secondes.Ce comportement de récupération peut changer et ne doit pas être attendu par les développeurs.
Pour quoi les sièges peuvent-ils être utilisés ?
Les sièges ont une gamme diversifiée d'utilisations, allant de l'évident au plus conventionnel.
- Créer des chaises ou des bancs sans besoin de programmation
- Permettre aux personnages de « s'asseoir » dans des objets en mouvement tels que des véhicules sans se faire balancer
- Création d'interfaces contrôlées par le personnage dans le siège en utilisant la propriété Seat.Occupant
Échantillons de code
This code sample includes a demonstration of how the Seat.Occupant property can be used to track which player is sitting in a seat and when they sit down or sit up.
local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)
Résumé
Propriétés
Si le siège est utilisable ou non. Si la valeur est définie sur vrai, le siège agira comme une partie normale.
L'humanoïde qui est assis dans le siège.
Définit la forme globale de l'objet.
Détermine si une partie est immobile par la physique.
La vitesse angulaire de l'assemblage de la pièce.
Le centre de masse de l'assemblage de la partie dans l'espace mondial.
La vitesse linéaire de l'assemblage de la pièce.
La masse totale de l'assemblage de la partie.
Une référence à la partie racine de l'assemblage.
Détermine le type de surface pour le dos d'une pièce.
Détermine le type de surface pour le côté inférieur d'une pièce.
Détermine la couleur d'une partie.
Détermine la position et l'orientation du BasePart dans le monde.
Détermine si une partie peut entrer en collision avec d'autres parties.
Détermine si la partie est prise en compte lors des opérations de requête spatiale.
Détermine si Touched et TouchEnded événements se déclenhent sur la partie.
Détermine si oui ou non une partie lance une ombre.
Décrit la position mondiale dans laquelle le centre de masse d'une partie est situé.
Détermine le nom du groupe de collision d'une partie.
Détermine la couleur d'une partie.
Indique les propriétés physiques actuelles de la pièce.
Détermine plusieurs propriétés physiques d'une partie.
Utilisé pour activer ou désactiver les forces aérodynamiques sur les parties et les assemblages.
La taille physique réelle du BasePart telle que perçue par le moteur de physique.
Détermine le type de surface pour le visage avant d'une partie.
Détermine le type de surface pour le côté gauche d'une pièce.
Détermine un multiplicateur pour BasePart.Transparency qui n'est visible que pour le client local.
Détermine si une partie est sélectionnable dans Studio.
Décrit la masse de la partie, le produit de sa densité et de son volume.
Détermine si la partie contribue à la masse totale ou à l'inertie de son corps rigide.
Détermine la texture et les propriétés physiques par défaut d'une pièce.
Le nom de MaterialVariant.
Décrit la rotation de la partie dans le monde.
Spécifie le décalage du pivot de la partie par rapport à son CFrame .
Décrit la position de la partie dans le monde.
Temps écoulé depuis la dernière mise à jour physique enregistrée.
Détermine à quel point une partie reflète la skybox.
Décrit le plus petit changement de taille autorisé par la méthode Resize().
Décrit les visages sur lesquels une partie peut être redimensionnée.
Détermine le type de surface pour le côté droit d'une pièce.
La règle principale pour déterminer la partie racine d'une assemblée.
La rotation de la pièce en degrés pour les trois axes.
Détermine les dimensions d'une pièce (longueur, largeur, hauteur).
Détermine le type de surface pour le haut du visage d'une pièce.
Détermine à quel point une partie peut être vue à travers (l'inverse de l'opacité de la partie).
Méthodes
Force le personnage avec le caractère spécifié Humanoid à s'asseoir dans le siège.
Appliquer un impulsion angulaire à l'assemblage.
Appliquez un impulsion à l'assemblage à l'assemblage de center of mass .
Appliquer un impulsion à l'assemblage à une position spécifiée.
Renvoie si les parties peuvent se heurter les unes aux autres.
Vérifie si vous pouvez définir la propriété réseau d'une partie.
Retourne une table de parties connectées à l'objet par tout type de joint rigide.
Renvoie tous les jointures ou contraintes qui sont connectées à cette partie.
Renvoie la valeur de la propriété Mass.
Renvoie le joueur actuel qui est le propriétaire du réseau de cette partie, ou nil en cas du serveur.
Renvoie true si le moteur de jeu décide automatiquement du propriétaire du réseau pour cette partie.
Renvoie la partie de base d'une assemblage de parties.
Renvoie une table de toutes les BasePart.CanCollide parties vraies qui se chevauchent avec cette partie.
Renvoie la vitesse linéaire de l'assemblage de la pièce à la position donnée par rapport à cette pièce.
Renvoie true si l'objet est connecté à une partie qui le maintiendra en place (par exemple, une partie Anchored), sinon renvoie false.
Change la taille d'un objet tout comme l'utilisation de l'outil de redimensionnement de Studio.
Définit le joueur donné comme propriétaire du réseau pour ceci et toutes les parties connectées.
Permet au moteur de jeu de décider dynamiquement qui gérera la physique de la partie (l'un des clients ou le serveur).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle IntersectOperation à partir de la géométrie chevauchante de la pièce et des autres parties dans l'ensemble donné.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle UnionOperation à partir de la partie, moins la géométrie occupée par les parties dans l'ensemble donné.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crée une nouvelle UnionOperation de la partie, plus la géométrie occupée par les parties dans l'ensemble donné.
Obtient le pivot d'un PVInstance .
Transforme le PVInstance ainsi que tous ses descendants PVInstances de sorte que le pivot est désormais situé au point spécifié CFrame.
Évènements
Évènements hérités de BasePartS'enflamme lorsqu'une partie cesse de toucher une autre partie en raison d'un mouvement physique.
S'enflamme lorsqu'une partie touche une autre partie en raison d'un mouvement physique.