フォトブース

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

写真を撮ることは素晴らしい体験を記念するのに最適な方法です。PhotoBooth 開発者モジュールは、プレイヤーが独自のポーズをとり、その体験を表現する背景を用意する、使いやすい写真ステージングツールです。

モジュールの使用法

インストール

PhotoBooth モジュールを体験に使用するには:

  1. スタジオの ウィンドウ メニューまたは ホーム タブのツールバーから、ツールボックスを開き、クリエイターストア タブを選択します。

  2. モデル ソートが選択されていることを確認し、カテゴリすべて表示 ボタンをクリックします。

  3. パッケージ タイルを探してクリックします。

  4. Photo Booth モジュールを見つけてクリックするか、3Dビューにドラッグアンドドロップします。

  5. エクスプローラーウィンドウで、PhotoBooth モデル全体を ReplicatedStorage に移動します。体験を実行するとモジュールが実行を開始します。

ブースの配置

このモジュールには、3D世界に配置できる PhotoBooth モデルが1つ付属しています。このモデルは、プレイヤーが写真を設定するために対話する対象です。

  1. モジュールのメインフォルダー内の Workspace フォルダー内で PhotoBooth メッシュを見つけます。

  2. それを最上位の Workspace 階層に移動させ、所望の位置に配置します。

設定

このモジュールは、ほとんどのユースケースで動作するように予め設定されていますが、configure 関数を通じて簡単にカスタマイズできます。たとえば、写真の下部にあるデフォルトメッセージを変更するには:

  1. StarterPlayerScripts 内に新しい LocalScript を作成し、名前を ConfigurePhotoBooth に変更します。

  2. 新しいスクリプトに次のコードを貼り付けます。

    LocalScript - ConfigurePhotoBooth

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
    PhotoBooth.configure({
    frameMessage = "最初のフォトブースキャプチャ!",
    })

イベントへの接続

フォトブースがローカルクライアントに新しい画面を表示するたびに、対応するイベントが発生します。このイベントは LocalScript 内で接続でき、独自のカスタムロジックに応じて反応できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("カウントダウンが始まりました")
end)
PhotoBooth.printoutShown:Connect(function()
print("印刷物が表示されています")
end)
PhotoBooth.promptShown:Connect(function()
print("カメラのプロンプトが表示されています")
end)

GUIの可視性

デフォルトでは、フォトブースが写真をステージする際に、すべての ScreenGuis および CoreGuis を非表示にします。この自動非表示動作をオーバーライドし、どのGUIsを表示したままにするかをプログラム的に決定したい場合は、hideOtherGuis および showOtherGuis コールバックを含めて、独自のカスタムロジックに応じて応答してください。

LocalScript

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- 非表示にしない画面GUIを作成する
local specialGuiInstance = Instance.new("ScreenGui")
-- フォトブースGUIの上に画面GUIを描画する
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- 非表示を防ぐために画面GUIに属性を設定する
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- GUIにテキストラベルを追加する
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "写真を撮るときには表示されます"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
PhotoBooth.hideOtherGuis(function()
-- 属性でマークされていない開発者定義のすべての画面GUIを非表示にする
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
-- 特定のコアGUIを非表示にする
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- 非表示にされた開発者定義のすべての画面GUIを表示する
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- 非表示にされた特定のコアGUIを表示する
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)

APIリファレンス

関数

configure

configure(config: table)

config テーブル内の次のキー/値を介してデフォルトの設定オプションを上書きします。この関数は LocalScript からのみ呼び出すことができます。

キー説明デフォルト
frameMessage写真の下部に表示されるメッセージ。このメッセージの表示時間は fadeUiDelay プロパティで制御できます。"あなたのデバイスを使用してスクリーンショットを撮影し、共有してください!"
fadeUiDelayフレームメッセージがフェードアウトするまでの表示時間(秒)。負の数に設定すると、フェードしなくなります。3
closeButtonImage閉じる写真ボタンに使用される画像、closeButtonBackgroundImage 画像の上に配置されます。"rbxassetid://7027440823"
closeButtonBackgroundImage閉じる写真ボタンに使用される背景画像。"rbxassetid://7027440891"
cameraLandscapePosition横向きモードで写真を撮る際に、カメラがキャラクターの前方および上方にどのくらい離れているか(Vector2)。(5, 2)
cameraPortraitPosition縦向きモードで写真を撮る際に、カメラがキャラクターの前方および上方にどのくらい離れているか(Vector2)。(10, 1)
countdownFontカウントダウンの数字に使用されるフォント(Enum.Font)。GothamBlack
countdownTextColorカウントダウンの数字の色(Color3)。[255, 255, 255]
printoutCharacterPosition印刷物が表示されているときの画面上のキャラクターの位置(UDim2)。(0.5, 0, 0.5, 0)
printoutCharacterSize印刷物におけるキャラクターが占める画面のスペース(UDim2)。(1, 0, 1, 0)
characterAnimation写真の中でキャラクターが取るアニメーションのアセットID。最初のフレームで一時停止します。"rbxassetid://6899663224"
filterImage写真にフィルターとして適用する画像。nil の場合は、画像のエッジを暗くするデフォルトのフィルターが使用されます。nil
LocalScript - ConfigurePhotoBooth

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.configure({
frameMessage = "かっこいいポーズですね!",
fadeUiDelay = 5,
maxActivationDistance = 5,
printoutCharacterSize = UDim2.fromScale(1.5, 1.5),
})

setBackgrounds

setBackgrounds(backgrounds: table)

フォトブースが提供するデフォルトの背景を上書きします。背景画像は、最適な体験のために16:9アスペクト比(1024×576)である必要があり、背景配列にはそのアセットIDを含める必要があります。1~4 (含む) の背景を提供できます。

LocalScript

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

イベント

countdownStarted

カウントダウンが始まると発生します。このイベントは LocalScript 内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.countdownStarted:Connect(function()
print("カウントダウンが始まりました")
end)

printoutShown

印刷物がユーザーに表示されると発生します。このイベントは LocalScript 内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.printoutShown:Connect(function()
print("印刷物が表示されています")
end)

promptShown

印刷物が閉じられ、カメラボタンが再度表示されると発生します。このイベントは LocalScript 内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage.PhotoBooth)
PhotoBooth.promptShown:Connect(function()
print("カメラのプロンプトが表示されています")
end)

コールバック

hideOtherGuis

hideOtherGuis(callback: function)

このコールバックは、印刷物が表示される直前に実行され、印刷物が表示される前に完全な ScreenGuis またはその中の要素を無効にすることができます。フォトブースで使用されるGUIは ShowInPhotoBooth 属性が true に設定されています。GUIの可視性 の詳細とサンプルコードを参照してください。

showOtherGuis

showOtherGuis(callback: function)

このコールバックは、印刷物が閉じられた後に実行され、完全な ScreenGuis またはその中の要素を再度有効にすることができます。フォトブースで使用されるGUIは ShowInPhotoBooth 属性が true に設定されています。GUIの可視性 の詳細とサンプルコードを参照してください。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。