セルフィーモード

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

プレイヤーはすでに体験の楽しい瞬間を記念するためにスクリーンショットを撮影しています。SelfieMode デベロッパーモジュールは、チャットウィンドウやプレイヤーリストなしでその瞬間のクリーンな記憶をキャプチャできるようにし、フィルターエフェクトのサポート、他のキャラクターの隠蔽、ポージングを提供します。

モジュールの使用

インストール

体験内でSelfieModeモジュールを使用するには:

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

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

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

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

  5. Explorerウィンドウで、SelfieModeパッケージ全体をReplicatedStorageに移動します。体験を実行すると、モジュールが動作を始めます。

設定

モジュールはほとんどの使用ケースに対して事前に設定されていますが、configure関数を通じて簡単にカスタマイズできます。

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

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

    LocalScript - ConfigureSelfieMode

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

キャラクターの移動

セルフィーモード中にプレイヤーのキャラクターの動きを防ぐことは有利です。これをconfigure呼び出しでdisableCharacterMovementをtrueに設定することで実現できます。

LocalScript - ConfigureSelfieMode

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

セルフィーモードのアクション

SelfieModeには以下のアクションが付属しており、各アクションはactivateActiondeactivateAction、およびtoggleAction関数で使用することができ、またactionActivatedおよびactionDeactivatedイベントを通じて検出することができます。

被写界深度

デフォルトで、SelfieModeはプレイヤーがアクションを切り替えたときに一般的な被写界深度効果(背景の微妙なぼかし)を表示します。

デフォルトの被写界深度効果を変更するには、configure呼び出しでdepthOfFieldEffectを独自のDepthOfFieldEffectインスタンスに設定します。

LocalScript - ConfigureSelfieMode

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

視線を固定

視線を固定のトグルは、プレイヤーのキャラクターがセルフィーポーズを設定する際にカメラを見つめるようにします。この時、首の回転範囲内で現実的な距離に制限されます。

その他を隠す

デフォルトでは、他のキャラクターはプレイヤーのキャラクターと一緒に表示されます。プレイヤーはその他を隠すボタンをクリックすることで、完璧なソロショットを取得できます。トグルがオンになると、他のキャラクターは視界から消え、そのアクションがオフになるまで非表示のままとなります。

フィルター

フィルターアクションでは、プレイヤーがポップソフトアンティークキュートドラマティックモノクロームのオプションからプリセットフィルターを適用できます。

ポーズ

ポーズアクションでは、プレイヤーが応援拍手イルカフロスギタージャンプ ウェーブラウダートップ ロックツイール、およびウェーブのオプションからプリセットポーズを選択できます。

API 参照

タイプ

アクション

各アクションは以下のキーと値のペアを持つ辞書によって表されます。

キータイプ説明
namestringアクションの名前で、ツールチップ内で最初に表示されます。
descriptionstringアクションの説明で、ツールチップ内でnameの後に表示されます。
iconstringアクションのアイコンのアセットID。
activeIconstringアクションが「アクティブ」状態のときのアイコンのアセットID。親アクションでのみ使用できます。
actionstableオプションのサブアクションのリスト。この機能を使用することでさまざまな他のアクションのサブメニューを作成できます。
parentActionアクションの親。この設定はサブアクションにのみ適用され、そのコンテナとなるアクションを指します。
onActivatedfunctionオプションのコールバック関数で、プレイヤーがアクションまたはサブアクションをアクティブにしたときに実行されます。通常、アクションにサブアクションが含まれている場合は、サブアクションにコールバックを定義するのが一般的です。これはプレイヤーがサブアクションをアクティブにしたか、単に親アクションを「展開」したかを知る手段です。
LocalScript

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

列挙型

SelfieMode.Action

SelfieModeにはいくつかのアクションが含まれています。この列挙型をactivateActiondeactivateAction、およびtoggleAction関数と一緒に使用できます。

名前概要
DepthOfFieldDepth‑of‑Fieldアクションへの参照。
LockGaze視線を固定アクションへの参照。
HideOthersその他を隠すアクションへの参照。
Filterフィルターアクションへの参照。
Poseポーズアクションへの参照。
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションをアクティブにする
SelfieMode.activateAction(SelfieMode.Action.Filter)

関数

configure

configure(config: table)

configテーブル内の以下のキー/値により、デフォルトの設定オプションをオーバーライドします。この関数はLocalScript内からのみ呼び出すことができます。

キー説明デフォルト
disableCharacterMovementtrueの場合、セルフィーモードがオープンしている間、キャラクターの移動を防ぎます。false
depthOfFieldEffectプレイヤーが被写界深度アクションをトグルしたときに表示されるオプションのカスタムDepthOfFieldEffectインスタンス。
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

プレイヤーは通常、画面右側の「カメラ」ボタンでセルフィーモードを開きますが、この関数を使うことでコードを通じて開くことができます。以下に示すようにカスタムボタンを実装する際には、setHudButtonEnabledを通じてデフォルトのボタンを無効にする必要があります。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- デフォルトボタンを取り除く
SelfieMode.setHudButtonEnabled(false)
-- カスタムボタンを接続
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

プレイヤーは通常、画面下部の**⊗**ボタンでセルフィーモードを閉じますが、この関数を使うことでコードを通じて閉じることができます。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen(): boolean

プレイヤーのアクションやopenSelfieMode経由でセルフィーモードがオープンしている場合にtrueを返します。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

セルフィーモードに入るためのデフォルトボタンが表示されるかどうかを設定します。カスタムUIボタンからopenSelfieModeを実装する場合に便利です。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- デフォルトボタンを取り除く
SelfieMode.setHudButtonEnabled(false)
-- カスタムボタンを接続
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Action

SelfieMode.Action列挙型を通じてActionタイプを取得します。

LocalScript

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

activateAction

activateAction(action: SelfieMode.Action)

デフォルトのアクションの1つをプログラムからアクティブにします。これは、プレイヤーがアクションバーからアクションをオンにしたときと同じです。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションをアクティブにする
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

デフォルトのアクションの1つをプログラムから無効にします。これは、プレイヤーがアクションバーからアクションをオフにしたときと同じです。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションを無効にする
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

アクションがオフであればオンに切り替え、オンであればオフに切り替えます。これは、プレイヤーがアクションバーからアクションをクリックしたときと同じです。新しい「オンにトグルされた」状態をbooleanとして返します。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)
local isEnabled = SelfieMode.toggleAction(lockGazeAction)
if isEnabled then
print("アクティブ化", lockGazeAction.name)
else
print("無効化", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

セルフィーモードテーマを設定します。これには、テキストサイズ、フォント、ボタン/ツールチップの色などが含まれます。この関数はLocalScript内からのみ呼び出すことができます。

キー説明デフォルト
textSizeすべてのテキストのサイズ。16
fontすべてのUIで使用されるフォント(Enum.Font)。GothamMedium
paddingUI要素のレイアウトに使用されるメインパディング(UDim)。(0, 12)
paddingSmall要素間に微妙なマージンを適用するために使用される小さいパディング(UDim)。(0, 6)
paddingScreenセルフィーモードに余裕を持たせるために画面の端に使用されるパディング(UDim)。(0, 24)
backgroundColorアクションを表示するバーの背景色(Color3)。[0, 0, 0]
scrollBarColorモジュール内のScrollingFrame要素で使用されるスクロールバーの色(Color3)。[255, 255, 255]
LocalScript

local 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)

セルフィーモードが有効か無効かを設定します。無効にすると、モジュールのすべてのUIが削除され、すべてのイベントが切断されます。この関数はLocalScript内からのみ呼び出すことができます。

LocalScript

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

イベント

selfieModeOpened

プレイヤーがセルフィーモードを開いたときやopenSelfieModeが呼び出されたときに発火します。このイベントはLocalScript内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("セルフィーモードオープン")
end)

selfieModeClosed

プレイヤーがセルフィーモードを閉じたときやcloseSelfieModeが呼び出されたときに発火します。このイベントはLocalScript内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("セルフィーモードクローズ")
end)

actionActivated

パラメータ
action: SelfieMode.Actionアクティブ化されたアクション

アクションがアクティブ化されたときに発火します;これには、Depth of FieldLock Gaze、またはHide Othersのような主要アクションが含まれる可能性があります。あるいは、filterposeのようなサブアクションである可能性もあります。接続された関数はアクティブ化されたアクションを受け取ります。このイベントはLocalScript内でのみ接続できます。

LocalScript

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

actionDeactivated

パラメータ
action: SelfieMode.Action非アクティブ化されたアクション

主要アクションまたはサブアクションが非アクティブ化されたときに発火します。接続された関数は非アクティブ化されたアクションを受け取ります。このイベントはLocalScript内でのみ接続できます。

LocalScript

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

filterChanged

パラメータ
newFilter: string新しいフィルター。
oldFilter: string以前のフィルター。

フィルターが適用または削除されたときに発火します。接続された関数は新しいフィルター名と古いフィルター名を受け取ります。このイベントはLocalScript内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("フィルターが変更されました", oldFilter, "から", newFilter, "に")
end)

poseChanged

パラメータ
newPose: string新しいポーズ。
oldPose: string以前のポーズ。

ポーズが適用または削除されたときに発火します。接続された関数は新しいポーズ名と古いポーズ名を受け取ります。このイベントはLocalScript内でのみ接続できます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("ポーズが変更されました", oldPose, "から", newPose, "に")
end)
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。