Les joueurs prennent déjà des captures d'écran pour commémorer des moments amusants dans les expériences. Le module SelfieMode développeur permet aux joueurs de capturer un souvenir plus propre de ce moment sans la fenêtre de chat ou la liste des joueurs, tout en prenant en charge des effets de filtre, la dissimulation d'autres personnages et des poses.
Utilisation du module
Installation
Pour utiliser le module SelfieMode dans une expérience :
Depuis le menu Fenêtre de Studio ou la barre d'outils de l'onglet Accueil, ouvrez le Toolbox et sélectionnez l'onglet Boutique du Créateur.

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

Localisez et cliquez sur le carrefour Packages.
Trouvez le module Mode Selfie et cliquez dessus, ou faites-le glisser dans la vue 3D.

Dans la fenêtre Explorateur, déplacez l'ensemble du package SelfieMode dans ReplicatedStorage. Lors de l'exécution de l'expérience, le module commencera à fonctionner.
Configuration
Le module est préconfiguré pour fonctionner dans la plupart des cas d'utilisation, mais vous pouvez facilement le personnaliser via la fonction configure.
Dans StarterPlayerScripts, créez un nouveau LocalScript et renommez-le en ConfigureSelfieMode.
Collez le code suivant dans le nouveau script.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
Mouvement du personnage
Il peut être avantageux d'empêcher le personnage du joueur de se déplacer pendant le mode selfie. Vous pouvez y parvenir en définissant disableCharacterMovement sur true dans un appel à configure.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
Actions du mode selfie
SelfieMode est livré avec les actions suivantes, que vous pouvez utiliser avec les fonctions activateAction, deactivateAction et toggleAction, ou détecter via les événements actionActivated et actionDeactivated.
Profondeur de champ
Par défaut, SelfieMode montre un effet générique de profondeur de champ (flou subtil de l'arrière-plan) lorsqu'un joueur active l'action.

Pour changer l'effet de profondeur de champ par défaut, définissez depthOfFieldEffect sur votre propre instance DepthOfFieldEffect dans un appel à configure.
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local customDepthOfField = Instance.new("DepthOfFieldEffect")customDepthOfField.NearIntensity = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.configure({depthOfFieldEffect = customDepthOfField})
Verrouiller le regard
Le basculement Verrouiller le regard fait que le personnage du joueur regarde la caméra tout en se préparant à la pose selfie, dans une plage réaliste de la façon dont leur cou peut tourner.
Masquer les autres
Par défaut, d'autres personnages sont visibles aux côtés du personnage du joueur. Les joueurs peuvent obtenir une prise de vue parfaite en solo en cliquant sur le bouton Masquer les autres. Lorsqu'il est activé, d'autres personnages s'estompent et restent invisibles jusqu'à ce que l'action soit désactivée.
Filtre
L'action Filtre permet au joueur d'appliquer un filtre prédéfini parmi les options Pop, Douce, Antique, Mignon, Dramatique, et Monochrome.

Pose
L'action Pose permet au joueur de sélectionner une pose prédéfinie parmi les options Applaudir, Clapping, Dauphin, Flossing, Guitare, Vague de saut, Plus fort, Top Rock, Twirl, et Vague.

Référence API
Types
Action
Chaque action est représentée par un dictionnaire avec les paires clé-valeur suivantes :
| Clé | Type | Description |
|---|---|---|
| name | string | Nom de l'action, montré en premier dans les infobulles. |
| description | string | Description de l'action, montrée après name dans les infobulles. |
| icon | string | ID de l'actif pour l'icône de l'action. |
| activeIcon | string | ID de l'actif pour l'icône de l'action en état "actif". Ne peut être utilisé que sur des actions parentes, pas sur des sous-actions. |
| actions | table | Liste optionnelle de sous-actions. Cela vous permet de créer des sous-menus d'autres actions variées. |
| parent | Action | Le parent de l'action ; cela ne s'applique qu'à une sous-action et pointe vers l'action qui la contient. |
| onActivated | function | Fonction de rappel optionnelle qui s'exécute lorsqu'un joueur active une action ou une sous-action. En général, si une action contient des sous-actions, seules les sous-actions devront avoir une fonction de rappel définie en tant que moyen de savoir que le joueur a activé la sous-action et n'a pas simplement "étendu" l'action parente. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activé")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "désactivé")
end)
Enums
SelfieMode.Action
SelfieMode est livré avec plusieurs actions. Vous pouvez utiliser cet enum avec les fonctions activateAction, deactivateAction, et toggleAction.
| Nom | Résumé |
|---|---|
| DepthOfField | Référence à l'action Profondeur de champ. |
| LockGaze | Référence à l'action Verrouiller le regard. |
| HideOthers | Référence à l'action Masquer les autres. |
| Filter | Référence à l'action Filtre. |
| Pose | Référence à l'action Pose. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Activer l'action "Filtre"SelfieMode.activateAction(SelfieMode.Action.Filter)
Fonctions
configure
configure(config: table)
Écrase les options de configuration par défaut via les clés/valeurs suivantes dans la table config. Cette fonction ne peut être appelée que depuis un LocalScript.
| Clé | Description | Par défaut |
|---|---|---|
| disableCharacterMovement | Si vrai, empêche le personnage de se déplacer pendant que le mode selfie est ouvert. | false |
| depthOfFieldEffect | Instance optionnelle personnalisée DepthOfFieldEffect qui apparait lorsque le joueur active l'action Profondeur de Champ. |
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
openSelfieMode
openSelfieMode()
Un joueur ouvrira généralement le mode selfie avec le bouton "caméra" sur le côté droit de l'écran, mais cette fonction vous permet de l'ouvrir par code. Lors de la mise en place d'un bouton personnalisé comme montré ci-dessous, vous devriez désactiver le bouton par défaut via setHudButtonEnabled. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Supprimer le bouton par défaut
SelfieMode.setHudButtonEnabled(false)
-- Connecter le bouton personnalisé
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
closeSelfieMode
closeSelfieMode()
Un joueur fermera généralement le mode selfie avec le bouton ⊗ au bas de l'écran, mais cette fonction vous permet de le fermer par code. Ne peut être appelé que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.closeSelfieMode()
isSelfieModeOpen
isSelfieModeOpen(): boolean
Retourne true si le mode selfie est ouvert en raison de l'action du joueur ou via openSelfieMode. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.openSelfieMode()print(SelfieMode.isSelfieModeOpen())
setHudButtonEnabled
setHudButtonEnabled()
Définit si le bouton par défaut pour entrer en mode selfie est affiché. Utile lors de la mise en œuvre de openSelfieMode via un bouton UI personnalisé. Cette fonction peut seulement être appelée depuis un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Supprimer le bouton par défaut
SelfieMode.setHudButtonEnabled(false)
-- Connecter le bouton personnalisé
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)
getAction
getAction(action: SelfieMode.Action): Action
Obtient un type Action via un enum SelfieMode.Action.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
activateAction
activateAction(action: SelfieMode.Action)
Active programmatique l'une des actions par défaut. C'est la même chose que lorsque le joueur active l'action sur la barre d'action. Ne peut être appelé que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Activer l'action "Filtre"SelfieMode.activateAction(SelfieMode.Action.Filter)
deactivateAction
deactivateAction(action: SelfieMode.Action)
Désactive programmatique l'une des actions par défaut. C'est la même chose que lorsque le joueur désactive l'action sur la barre d'action. Ne peut être appelé que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)-- Désactiver l'action "Filtre"SelfieMode.deactivateAction(SelfieMode.Action.Filter)
toggleAction
toggleAction(action: SelfieMode.Action): boolean
Bascule une action sur si elle est désactivée, ou la désactive si elle est active. C'est la même chose que lorsque le joueur clique sur l'action de la barre d'action. Retourne le nouvel état "est activé" comme un booléen. Ne peut être appelé que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)local isEnabled = SelfieMode.toggleAction(lockGazeAction)if isEnabled thenprint("Activé", lockGazeAction.name)elseprint("Désactivé", lockGazeAction.name)end
setTheme
setTheme(theme: table)
Configure le thème du mode selfie, y compris la taille du texte, la police, les couleurs des boutons/des infobulles, et plus encore. Cette fonction ne peut être appelée que depuis un LocalScript.
| Clé | Description | Par défaut |
|---|---|---|
| textSize | Taille de tout le texte. | 16 |
| font | Police utilisée dans toute l'UI (Enum.Font). | GothamMedium |
| padding | Rembourrage principal utilisé pour disposer les éléments de l'UI (UDim). | (0, 12) |
| paddingSmall | Rembourrage plus petit utilisé pour appliquer des marges subtiles entre les éléments (UDim). | (0, 6) |
| paddingScreen | Rembourrage utilisé autour des bords de l'écran pour donner un peu d'espace au mode selfie (UDim). | (0, 24) |
| backgroundColor | Couleur de fond utilisée pour la barre qui affiche les actions (Color3). | [0, 0, 0] |
| scrollBarColor | Couleur de la barre de défilement utilisée dans les éléments ScrollingFrame du module (Color3). | [255, 255, 255] |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.setTheme({textSize = 20,font = Enum.Font.Michroma,backgroundColor = Color3.fromRGB(0, 40, 75),})
setEnabled
setEnabled(isEnabled: boolean)
Définit si le mode selfie est activé ou non. Lorsqu'il est désactivé, toute l'UI du module est supprimée et tous les événements sont déconnectés. Cette fonction ne peut être appelée que depuis un LocalScript.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.setEnabled(false)
Événements
selfieModeOpened
Se déclenche lorsque le joueur ouvre le mode selfie ou lorsque openSelfieMode est appelé. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Mode selfie ouvert")
end)
selfieModeClosed
Se déclenche lorsque le joueur ferme le mode selfie ou lorsque closeSelfieMode est appelé. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Mode selfie fermé")
end)
actionActivated
| Paramètres | |
|---|---|
| action: SelfieMode.Action | L'Action activée. |
Se déclenche lorsqu'une action est activée ; cela peut être l'une des actions principales comme Profondeur de Champ, Verrouiller le Regard, ou Masquer les autres ; alternativement, cela peut être une sous-action comme un filtre ou une pose. La fonction connectée reçoit l'Action activée. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activé")
end)
actionDeactivated
| Paramètres | |
|---|---|
| action: SelfieMode.Action | L'Action désactivée. |
Se déclenche lorsqu'une action principale ou sous-action est désactivée. La fonction connectée reçoit l'Action désactivée. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "désactivé")
end)
filterChanged
Se déclenche lorsqu'un filtre est appliqué ou retiré. La fonction connectée reçoit le nom du nouveau filtre et le nom de l'ancien filtre. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filtre changé de", oldFilter, "à", newFilter)
end)
poseChanged
Se déclenche lorsqu'une pose est appliquée ou retirée. La fonction connectée reçoit le nom de la nouvelle pose et le nom de l'ancienne pose. Cet événement ne peut être connecté que dans un LocalScript.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose changée de", oldPose, "à", newPose)
end)