Photomaton

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Prendre une photo est un moyen parfait de commémorer une grande expérience. Le Photomaton module de développeur est un outil de mise en scène photo facile à utiliser qui permet aux joueurs de prendre une pose unique avec un arrière-plan qui représente leur expérience.

Utilisation du module

Installation

Pour utiliser le module Photomaton dans une expérience :

  1. Dans le menu Fenêtre de Studio ou la barre d'outils de l'onglet Accueil, ouvrez la Boîte à outils et sélectionnez l'onglet Creator Store.

  2. Assurez-vous que le tri Modèles est sélectionné, puis cliquez sur le bouton Voir tout pour Catégories.

  3. Localisez et cliquez sur le carreau Paquets.

  4. Repérez le module Photomaton et cliquez dessus, ou faites-le glisser dans la vue 3D.

  5. Dans la fenêtre Explorateur, déplacez l'intégralité du modèle Photomaton dans ReplicatedStorage. Lors de l'exécution de l'expérience, le module commencera à fonctionner.

Positionner le photomaton

Le module est fourni avec un modèle Photomaton que vous pouvez positionner dans le monde 3D. Ce modèle est celui avec lequel les joueurs interagiront pour configurer une photo.

  1. Localisez le maillage Photomaton dans le dossier Workspace du dossier principal du module.

  2. Déplacez-le dans la hiérarchie de Workspace au niveau supérieur et positionnez-le où vous le souhaitez.

Configuration

Le module est pré-configuré pour fonctionner pour la plupart des cas d'utilisation, mais il peut être facilement personnalisé via la fonction configure. Par exemple, pour changer le message par défaut au bas de la photo :

  1. Dans StarterPlayerScripts, créez un nouveau LocalScript et renommez-le en ConfigurePhotomaton.

  2. Collez le code suivant dans le nouveau script.

    LocalScript - ConfigurePhotomaton

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Photomaton = require(ReplicatedStorage.Photomaton)
    Photomaton.configure({
    frameMessage = "Première capture au Photomaton!",
    })

Connecter aux événements

Chaque fois que le photomaton affiche un nouvel écran à un client local, un événement correspondant est déclenché. Ces événements peuvent être connectés dans un LocalScript afin que vous puissiez répondre avec votre propre logique personnalisée.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.countdownStarted:Connect(function()
print("Le compte à rebours a commencé")
end)
Photomaton.printoutShown:Connect(function()
print("L'impression est affichée")
end)
Photomaton.promptShown:Connect(function()
print("L'invite de la caméra est affichée")
end)

Visibilité de l'interface graphique

Par défaut, le photomaton cache tous les ScreenGuis et CoreGuis lorsqu'une photo est mise en scène. Si vous souhaitez remplacer ce comportement de masquage automatique et décider par programmation quelles interfaces graphiques doivent rester visibles, incluez les rappels hideOtherGuis et showOtherGuis et réagissez avec votre propre logique personnalisée.

LocalScript

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local Photomaton = require(ReplicatedStorage.Photomaton)
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- Créer une interface graphique d'écran qui ne sera pas masquée
local specialGuiInstance = Instance.new("ScreenGui")
-- Dessiner l'interface graphique d'écran au-dessus de l'interface graphique du photomaton
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Définir un attribut sur l'interface graphique d'écran pour empêcher le masquage
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Ajouter une étiquette de texte à l'interface graphique
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Reste visible lors de la prise d'une photo"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
Photomaton.hideOtherGuis(function()
-- Masquer toutes les interfaces graphiques d'écran définies par le développeur sauf celles marquées avec l'attribut
local instances = playerGui:GetChildren()
for _, instance in instances do
if instance:IsA("ScreenGui") and not instance:GetAttribute("ShowInPhotoBooth") and instance.Enabled then
instance.Enabled = false
table.insert(hiddenInstances, instance)
end
end
-- Masquer des interfaces graphiques principales spécifiques
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
Photomaton.showOtherGuis(function()
-- Afficher toutes les interfaces graphiques d'écran définies par le développeur qui ont été cachées
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Afficher des interfaces graphiques principales spécifiques qui ont été cachées
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)

Référence API

Fonctions

configure

configure(config: table)

Remplace les options de configuration par défaut via les clés/valeurs suivantes dans le tableau config. Cette fonction ne peut être appelée que depuis un LocalScript.

CléDescriptionPar défaut
frameMessageMessage affiché en bas de la photo. Sa durée peut être contrôlée via la propriété fadeUiDelay."Utilisez votre appareil pour prendre une capture d'écran et partagez!"
fadeUiDelayTemps d'affichage du message du cadre avant qu'il ne disparaisse, en secondes. Définir à un nombre négatif pour ne jamais disparaître.3
closeButtonImageImage à utiliser pour le bouton de fermeture de la photo, placée au-dessus de l'image closeButtonBackgroundImage."rbxassetid://7027440823"
closeButtonBackgroundImageImage de fond à utiliser pour le bouton de fermeture de la photo."rbxassetid://7027440891"
cameraLandscapePositionDistance de la caméra du photomaton, à l'avant et en haut du personnage, lors de la prise d'une photo en mode paysage (Vector2).(5, 2)
cameraPortraitPositionDistance de la caméra du photomaton, à l'avant et en haut du personnage, lors de la prise d'une photo en mode portrait (Vector2).(10, 1)
countdownFontPolice à utiliser pour les chiffres dans le compte à rebours (Enum.Font).GothamBlack
countdownTextColorCouleur des chiffres dans le compte à rebours (Color3).[255, 255, 255]
printoutCharacterPositionPosition du personnage à l'écran lorsque l'impression est affichée (UDim2).(0.5, 0, 0.5, 0)
printoutCharacterSizeMontant de l'espace à l'écran que prend le personnage dans l'impression (UDim2).(1, 0, 1, 0)
characterAnimationID d'actif de l'animation que le personnage effectue dans la photo, en pause à son cadre de départ."rbxassetid://6899663224"
filterImageImage à appliquer sur la photo comme filtre. Si nil, un filtre par défaut qui assombrit les bords de l'image sera utilisé.nil
LocalScript - ConfigurePhotomaton

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.configure({
frameMessage = "Quelle pose cool!",
fadeUiDelay = 5,
maxActivationDistance = 5,
printoutCharacterSize = UDim2.fromScale(1.5, 1.5),
})

setBackgrounds

setBackgrounds(backgrounds: table)

Remplace les arrière-plans par défaut fournis par le photomaton. Les images d'arrière-plan doivent avoir un rapport d'aspect de 16:9 (1024×576) pour une expérience optimale et leurs ID d'actif doivent être inclus dans le tableau des arrière-plans. Entre 1 et 4 (inclus) arrière-plans peuvent être fournis.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.setBackgrounds({
"rbxassetid://7018713114",
"rbxassetid://950538356",
})

Événements

countdownStarted

Se déclenche lorsque le compte à rebours commence. Cet événement ne peut être connecté que dans un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.countdownStarted:Connect(function()
print("Le compte à rebours a commencé")
end)

printoutShown

Se déclenche lorsque l'impression est affichée à l'utilisateur. Cet événement ne peut être connecté que dans un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.printoutShown:Connect(function()
print("L'impression est affichée")
end)

promptShown

Se déclenche lorsque l'impression est fermée et que le bouton de la caméra est à nouveau affiché. Cet événement ne peut être connecté que dans un LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Photomaton = require(ReplicatedStorage.Photomaton)
Photomaton.promptShown:Connect(function()
print("L'invite de la caméra est affichée")
end)

Rappels

hideOtherGuis

hideOtherGuis(callback: function)

Ce rappel s'exécute immédiatement avant l'affichage de l'impression, vous permettant de désactiver l'ensemble des ScreenGuis ou éléments à l'intérieur avant que l'impression ne soit affichée. Les interfaces graphiques utilisées par le photomaton ont l'attribut ShowInPhotoBooth défini sur true. Voir Visibilité de l'interface graphique pour plus de détails et un code d'exemple.

showOtherGuis

showOtherGuis(callback: function)

Ce rappel s'exécute après la fermeture de l'impression, vous permettant de réactiver l'ensemble des ScreenGuis ou éléments à l'intérieur. Les interfaces graphiques utilisées par le photomaton ont l'attribut ShowInPhotoBooth défini sur true. Voir Visibilité de l'interface graphique pour plus de détails et un code d'exemple.

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.