Mode autoportée

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

Les joueurs prennent déjà des captures d'écran pour commémorer des moments amusants dans les expériences.Le module développeur SelfieMode capture une mémoire plus propre de ce moment sans la fenêtre de chat ou la liste des joueurs, tout en supportant les effets de filtre, la dissimulation d'autres personnages et la pose.

Utilisation du module

Étabissement

Pour utiliser le module mode selfie dans une expérience :

  1. De l'onglet Affichage, ouvrez la boîte à outils et sélectionnez l'onglet boutique des créateurs .

    Toolbox toggle button in Studio
  2. Assurez-vous que le tri des modèles est sélectionné, puis cliquez sur le bouton Voir tout pour les catégories .

  3. Localisez et cliquez sur la case modules de développement .

  4. Localisez le module mode selfie et cliquez dessus, ou glissez-déposez-le dans la voir3D.

  5. Dans la fenêtre Explorateur, déplacez l'ensemble du modèle SelfieMode dans ServerScriptService .Une fois l'expérience exécutée, le module se distribuera à différents services et commencera à fonctionner.

Configération

Le module est préconfiguré pour fonctionner dans la plupart des cas d'utilisation, mais vous pouvez facilement le personnaliser via la fonction configurer.

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

  2. Collez le code suivant dans le nouveau script.

    LocalScript - Configurer le mode selfie

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
    SelfieMode.configure({
    disableCharacterMovement = true
    })

Mouvement du personnage

Il peut être avantageux d'empêcher le personnage du joueur de se déplacer en mode selfie.Vous pouvez y parvenir en définissant disableCharacterMovement à vrai dans un appel configurer.

LocalScript - Configurer le mode selfie

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.configure({
disableCharacterMovement = true
})

Actions de mode selfie

Mode selfie est livré avec les actions suivantes , chacune desquelles vous pouvez utiliser avec la fonction activerAction , désactiverAction et activerAction , ou détecter à travers 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 du fond) lorsqu'un joueur active l'action.

Pour changer l'effet de profondeur de champ par défaut, définissez depthOfFieldEffect à votre propre instance DepthOfFieldEffect dans un appel configurer.

LocalScript - Configurer le mode selfie

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local customDepthOfField = Instance.new("DepthOfFieldEffect")
customDepthOfField.NearIntensity = 0
customDepthOfField.FarIntensity = 1
customDepthOfField.FocusDistance = 5
customDepthOfField.InFocusRadius = 5
SelfieMode.configure({
depthOfFieldEffect = customDepthOfField
})

Verrouiller le regard

L'option Verrouiller le regard fait en sorte que le personnage du joueur regarde la caméra lorsqu'il configure la pose selfie, dans une plage réaliste de la portée à laquelle son cou peut se tourner.

Masquer les autres

Par défaut, les autres personnages sont visibles à côté du personnage du joueur.Les joueurs peuvent obtenir un tir solo parfait en cliquant sur le bouton masquer les autres .Lorsqu'il est activé, les autres personnages disparaissent de la vue et restent invisibles jusqu'à ce que l'action soit off.

Filtrer

L'action Filtre laisse le joueur appliquer un filtre prédéfini des options Pop , Soft , Antique , Cute , Dramatique et Monochrome .

Positionner

L'action Pose laisse le joueur sélectionner une pose prédéfinie parmi les options Cheer , Clapping , Dolphin , Flossing , Guitar , Jump Wave , Louder , Top Rock , Twirl et Vague .

Référence API

Les types

Action

Chaque action est représentée par un dictionnaire avec les paires clé-valeur suivants :

CléTypeAvertissement
namechaîneNom de l'action, affiché en premier dans les didacticiels.
descriptionchaîneDescription de l'action, affichée après nom dans les didacticiels.
iconchaîneID de ressource pour l'icône de l'action.
activeIconchaîneID de ressource pour l'icône de l'action dans l'état « actif ». Ne peut être utilisé que sur les actions parentales, pas sur les sous-actions.
actionstableauListe facultative de sous-actions. Cela vous permet de créer des sous-menus d'autres actions diverses.
parentActionLe parent de l'action ; cela ne s'applique qu'à une sous-action et pointe vers l'action qui la contient.
onActivatedfonctionFonction de rappel facultative qui s'exécute lorsqu'un joueur active une action ou une sous-action.Typiquement, si une action contient des sous-actions, seules les sous-actions auront besoin d'un rappel défini comme un moyen de savoir que le joueur a activé la sous-action et n'a pas simplement "étendu" l'action parentale.
Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)

Enums

Action de SelfieMode.

Le mode selfie est livré avec plusieurs actions.Vous pouvez utiliser cet enum avec les fonctions activerAction, désactiverAction, et activerAction.

NomSommaire
DepthOfFieldRéférence à l'action profondeur de champ.
LockGazeRéférence à l'action Verrouiller le regard.
HideOthersRéférence à l'action masquer les autres.
FilterRéférence à l'action filtre .
PoseRéférence à l'action Pose.
Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Activer l'action "Filtrer"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Fonctions

configurer

configurer(config: table )

Remplacements des options de configuration par défaut via les clés/ valeurs suivantes dans la table config .Cette fonction ne peut être appelée qu'à partir d'un LocalScript .

CléAvertissementPar défaut
disableCharacterMovementSi c'est vrai, empêche le personnage de se déplacer lorsque le mode selfie est ouvert.faux
depthOfFieldEffectInstance personnalisée optionnelle DepthOfFieldEffect qui apparaît lorsque le joueur active l'action profondeur de champ.
LocalScript - Configurer le mode selfie

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.configure({
disableCharacterMovement = true
})

ouvrirSelfieMode

ouvrirMode selfie()

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 d'y accéder via un code.Lors de l'implémentation d'un bouton personnalisé comme illustré ci-dessous, vous devez désactiver le bouton par défaut via setHudButtonEnabled.Cette fonction ne peut être appelée qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Supprimer le bouton par défaut
SelfieMode.setHudButtonEnabled(false)
-- Connectez le bouton personnalisé
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

fermer le mode selfie

fermer le mode selfie()

Un joueur va généralement fermer le mode selfie avec le bouton au bas de l'écran, mais cette fonction vous permet de le fermer via du code.Ne peut être appelé qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.closeSelfieMode()

est-ce que SelfieModeOpen

estSelfieModeOpen(): 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 qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.openSelfieMode()
print(SelfieMode.isSelfieModeOpen())

définir le bouton HudEnabled

setHudButtonEnabled()

Définit si le bouton par défaut pour entrer en mode selfie est affiché.Utile lors de l'implémentation de openSelfieMode via un bouton d'interface utilisateur personnalisé.Cette fonction ne peut être appelée qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Supprimer le bouton par défaut
SelfieMode.setHudButtonEnabled(false)
-- Connectez le bouton personnalisé
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

obtenirAction

getAction(action : SelfieMode.Action ) : Action

Obtient un type d'action Action à travers un SelfieMode.Action enum.

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)

activer l'action

activerAction(action : SelfieMode.Action )

Active programmatiquement l'une des actions par défaut ..C'est la même chose que lorsqu'un joueur bascule l'action à partir de la barre d'action.Ne peut être appelé qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Activer l'action "Filtrer"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Désactiver l'action

désactiver l'action(action: SelfieMode.Action )

Désactive programmatiquement l'une des actions par défaut ..C'est la même chose que lorsqu'un joueur désactive l'action à partir de la barre d'action.Ne peut être appelé qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Désactiver l'action « Filtrer »
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

actionToggle

toggleAction(action : SelfieMode.Action ) : boolean

Active ou désactive une action sur si elle est off, ou la désactive si elle est activée.C'est la même chose que lorsqu'un joueur clique sur l'action à partir de la barre d'action.Retourne l'état nouveau « est activé » en tant que booléen.Ne peut être appelé qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
local isEnabled = SelfieMode.toggleAction(lockGazeAction)
if isEnabled then
print("Activated", lockGazeAction.name)
else
print("Deactivated", lockGazeAction.name)
end

thème défini

setTheme(theme: table )

Configure le thème du mode selfie, y compris la taille du texte, la police, les couleurs des boutons/didacticiels et plus encore. Cette fonction ne peut être appelée qu'à partir d'un LocalScript .

CléAvertissementPar défaut
textSizeTaille de tout le texte.16
fontPolice utilisée à travers toute l'interface utilisateur ( Enum.Font ).GothamMedium
paddingAmortissement principal utilisé pour définir les éléments d'interface utilisateur ( UDim ).(0, 12)
paddingSmallUn espace plus petit utilisé pour appliquer des marges subtiles entre les éléments ( UDim ).(0, 6)
paddingScreenEspacement utilisé autour des bords de l'écran pour donner au mode selfie une certaine marge de respiration (UDim).(0, 24)
backgroundColorCouleur de fond utilisée pour la barre qui affiche les actions (Color3).[0, 0, 0]
scrollBarColorCouleur de la barre de défilement utilisée dans les éléments ScrollingFrame du module (Color3).[255, 255, 255]
Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.setTheme({
textSize = 20,
font = Enum.Font.Michroma,
backgroundColor = Color3.fromRGB(0, 40, 75),
})

définirEnabled

setEnabled(isEnabled: boolean )

Définit si le mode selfie est activé ou non.Lorsqu'il est désactivé, toute l'interface utilisateur pour le module est supprimée et toutes les événements sont déconnectés.Cette fonction ne peut être appelée qu'à partir d'un LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.setEnabled(false)

Événements

selfieModeOuvert

S'enflamme lorsque le joueur ouvre le mode selfie ou lorsque openSelfieMode est appelé. Cet événement ne peut être connecté qu'en LocalScript.

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeOpened:Connect(function()
print("Selfie mode open")
end)

mode selfie fermé

S'enflamme lorsque le joueur ferme le mode selfie ou lorsque closeSelfieMode est appelé. Cet événement ne peut être connecté qu'en LocalScript.

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.selfieModeClosed:Connect(function()
print("Selfie mode closed")
end)

actionActivée

Paramètres
action : SelfieMode.ActionL'action activée Action.

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 ; ou, alternativement, cela peut être une sous-action comme un filtre ou pose .La fonction connectée reçoit l'action activée Action.Cet événement ne peut être connecté qu'en LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "activated")
end)

actionDésactivé

Paramètres
action : SelfieMode.ActionL'action désactivée Action.

S'enflamme lorsqu'une action principale ou une sous-action est désactivée.La fonction connectée reçoit l'action désactivée désactivée.Cet événement ne peut être connecté qu'en LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "deactivated")
end)

filtré modifié

Paramètres
nouveauFiltrer : stringLe nouveau filtres.
ancien filtre : stringLe filtresprécédent.

S'enflamme lorsqu'un filtre est appliqué ou supprimé.La fonction connectée reçoit le nouveau nom de filtre et le nom de filtre ancien.Cet événement ne peut être connecté qu'en LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filter changed from", oldFilter, "to", newFilter)
end)

position modifiée

Paramètres
newPose : stringLa nouvelle posture.
oldPose : stringLa pose précédente.

S'enflamme lorsqu'une pose est appliquée ou supprimée.La fonction connectée reçoit le nouveau nom de pose et le nom de pose ancien.Cet événement ne peut être connecté qu'en LocalScript .

Lecteur localScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose changed from", oldPose, "to", newPose)
end)