プレイヤーはすでにゲーム内で楽しい瞬間を記念するためにスクリーンショットを撮っています。SelfieMode 開発者モジュールは、チャットウィンドウやプレイヤーリストなしでその瞬間のクリーンな記憶をキャプチャできるようにし、フィルター効果、他のキャラクターの隠蔽、ポーズをサポートします。
モジュールの使用法
インストール
ゲームでSelfieModeモジュールを使用するには:
スタジオのウィンドウメニューまたはホームタブツールバーから、ツールボックスを開き、クリエイターストアタブを選択します。

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

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

エクスプローラーウィンドウで、SelfieModeパッケージ全体をReplicatedStorageに移動します。ゲームを実行すると、モジュールが実行を開始します。
設定
モジュールはほとんどの使用ケースに対して事前設定されていますが、configure関数を通じて簡単にカスタマイズできます。
StarterPlayerScripts内に新しいLocalScriptを作成し、名前をConfigureSelfieModeに変更します。
新しいスクリプトに以下のコードを貼り付けます。
LocalScript - ConfigureSelfieModelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage.SelfieMode)SelfieMode.configure({disableCharacterMovement = true})
キャラクターの移動
セルフィーモード中にプレイヤーのキャラクターが移動するのを防ぐことが有利な場合があります。これは、configure呼び出しでdisableCharacterMovementをtrueに設定することで実現できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})セルフィーモードのアクション
SelfieModeには、activateAction、deactivateAction、およびtoggleAction関数で使用できる以下のアクションが含まれています。また、actionActivatedおよびactionDeactivatedイベントを通じて検出することもできます。
被写界深度
デフォルトでは、SelfieModeはプレイヤーがアクションを切り替えたときに一般的な被写界深度効果(背景の微妙なぼかし)を表示します。

デフォルトの被写界深度効果を変更するには、configure呼び出しでdepthOfFieldEffectを独自のDepthOfFieldEffectインスタンスに設定します。
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リファレンス
タイプ
アクション
各アクションは、以下のキーと値のペアを持つ辞書で表されます。
| キー | タイプ | 説明 |
|---|---|---|
| name | string | アクションの名前で、ツールチップに最初に表示されます。 |
| description | string | アクションの説明で、ツールチップのnameの後に表示されます。 |
| icon | string | アクションのアイコンのアセットID。 |
| activeIcon | string | アクションの「アクティブ」状態のアイコンのアセットID。親アクションでのみ使用できます。 |
| actions | table | オプションのサブアクションのリスト。これにより、さまざまな他のアクションのサブメニューを作成できます。 |
| parent | Action | アクションの親。これはサブアクションにのみ適用され、含まれているアクションを指します。 |
| onActivated | function | オプションのコールバック関数で、プレイヤーがアクションまたはサブアクションをアクティブにしたときに実行されます。通常、アクションがサブアクションを含む場合、サブアクションのみがコールバックを定義する必要があります。これは、プレイヤーがサブアクションをアクティブにしたことを知る手段です。 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "がアクティブになりました")
end)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "が非アクティブになりました")
end)列挙型
SelfieMode.Action
SelfieModeには、いくつかのアクションが含まれています。この列挙型は、activateAction、deactivateAction、およびtoggleAction関数で使用できます。
| 名前 | 概要 |
|---|---|
| DepthOfField | 被写界深度アクションへの参照。 |
| LockGaze | 視線を固定アクションへの参照。 |
| HideOthers | 他のキャラクターを隠すアクションへの参照。 |
| Filter | フィルターアクションへの参照。 |
| Pose | ポーズアクションへの参照。 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションをアクティブにする
SelfieMode.activateAction(SelfieMode.Action.Filter)関数
configure
configure(config: table)
configテーブル内の以下のキー/値を通じてデフォルトの設定オプションを上書きします。この関数は、LocalScriptからのみ呼び出すことができます。
| キー | 説明 | デフォルト |
|---|---|---|
| disableCharacterMovement | trueの場合、セルフィーモードが開いている間、キャラクターの移動を防ぎます。 | false |
| depthOfFieldEffect | プレイヤーが被写界深度アクションを切り替えたときに表示されるオプションのカスタムDepthOfFieldEffectインスタンス。 |
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.configure({
disableCharacterMovement = true
})openSelfieMode
openSelfieMode()
プレイヤーは通常、画面の右側にある「カメラ」ボタンでセルフィーモードを開きますが、この関数を使用するとコードを通じて開くことができます。以下のようにカスタムボタンを実装する場合、setHudButtonEnabledを通じてデフォルトボタンを無効にする必要があります。この関数は、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からのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.closeSelfieMode()isSelfieModeOpen
isSelfieModeOpen(): boolean
プレイヤーのアクションまたはopenSelfieModeを通じてセルフィーモードが開いている場合、trueを返します。この関数は、LocalScriptからのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.openSelfieMode()
print(SelfieMode.isSelfieModeOpen())setHudButtonEnabled
setHudButtonEnabled()
セルフィーモードに入るためのデフォルトボタンが表示されるかどうかを設定します。カスタムUIボタンを通じてopenSelfieModeを実装する際に便利です。この関数は、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タイプを取得します。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local lockGazeAction = SelfieMode.getAction(SelfieMode.Action.LockGaze)activateAction
activateAction(action: SelfieMode.Action)
プログラム的にデフォルトのアクションの1つをアクティブにします。これは、プレイヤーがアクションバーからアクションをオンに切り替えたときと同じです。この関数は、LocalScriptからのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションをアクティブにする
SelfieMode.activateAction(SelfieMode.Action.Filter)deactivateAction
deactivateAction(action: SelfieMode.Action)
プログラム的にデフォルトのアクションの1つを非アクティブにします。これは、プレイヤーがアクションバーからアクションをオフに切り替えたときと同じです。この関数は、LocalScriptからのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- "フィルター"アクションを非アクティブにする
SelfieMode.deactivateAction(SelfieMode.Action.Filter)toggleAction
toggleAction(action: SelfieMode.Action): boolean
アクションがオフの場合はオンに切り替え、オンの場合はオフに切り替えます。これは、プレイヤーがアクションバーからアクションをクリックしたときと同じです。新しい「オンに切り替えられた」状態をブール値として返します。この関数は、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)
endsetTheme
setTheme(theme: table)
セルフィーモードのテーマを設定します。これには、テキストサイズ、フォント、ボタン/ツールチップの色などが含まれます。この関数は、LocalScriptからのみ呼び出すことができます。
| キー | 説明 | デフォルト |
|---|---|---|
| textSize | すべてのテキストのサイズ。 | 16 |
| font | すべてのUIで使用されるフォント(Enum.Font)。 | GothamMedium |
| padding | UI要素のレイアウトに使用されるメインパディング(UDim)。 | (0, 12) |
| paddingSmall | 要素間の微妙なマージンを適用するために使用される小さなパディング(UDim)。 | (0, 6) |
| paddingScreen | セルフィーモードに余裕を持たせるために画面の端に使用されるパディング(UDim)。 | (0, 24) |
| backgroundColor | アクションを表示するバーの背景色(Color3)。 | [0, 0, 0] |
| scrollBarColor | モジュールのScrollingFrame要素で使用されるスクロールバーの色(Color3)。 | [255, 255, 255] |
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からのみ呼び出すことができます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.setEnabled(false)イベント
selfieModeOpened
プレイヤーがセルフィーモードを開いたとき、またはopenSelfieModeが呼び出されたときに発火します。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("セルフィーモードが開かれました")
end)selfieModeClosed
プレイヤーがセルフィーモードを閉じたとき、またはcloseSelfieModeが呼び出されたときに発火します。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("セルフィーモードが閉じられました")
end)actionActivated
| パラメータ | |
|---|---|
| action: SelfieMode.Action | アクティブ化されたアクション。 |
アクションがアクティブ化されたときに発火します。これは、被写界深度、視線を固定、または他のキャラクターを隠すなどの主要なアクションの1つである可能性があります。または、フィルターやポーズなどのサブアクションである可能性もあります。接続された関数は、アクティブ化されたアクションを受け取ります。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "がアクティブになりました")
end)actionDeactivated
| パラメータ | |
|---|---|
| action: SelfieMode.Action | 非アクティブ化されたアクション。 |
主要なアクションまたはサブアクションが非アクティブ化されたときに発火します。接続された関数は、非アクティブ化されたアクションを受け取ります。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "が非アクティブになりました")
end)filterChanged
フィルターが適用または削除されたときに発火します。接続された関数は、新しいフィルター名と古いフィルター名を受け取ります。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("フィルターが", oldFilter, "から", newFilter, "に変更されました")
end)poseChanged
ポーズが適用または削除されたときに発火します。接続された関数は、新しいポーズ名と古いポーズ名を受け取ります。このイベントは、LocalScript内でのみ接続できます。
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("ポーズが", oldPose, "から", newPose, "に変更されました")
end)