自撮りモード

プレイヤーは、すでにバーチャル空間内での楽しい瞬間を記念するためにスクリーンショットを撮っています。 SelfieMode開発者モジュールでは、プレイヤーがチャットウィンドウやプレイヤーリストなしで、その瞬間のよりクリーンな思い出を捉えて、エフェクトのフィルタ、他のキャラクターを隠すこと、ポーズに対応できます。

モジュールの使用法

インストール

バーチャル空間でSelfieModeモジュールを使用するには、次の手順に従います:

  1. 表示タブから、ツールボックスを開き、マーケットプレイスタブを選択します。

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

  3. DEV モジュールタイルを見つけてクリックします。

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

  5. エクスプローラウィンドウで、SelfieModeモデル全体をServerScriptServiceに移動します。 バーチャル空間を実行すると、モジュールはそれ自体をさまざまなサービスに配布し、実行を開始します。

設定

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

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

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

    LocalScript - ConfigureSelfieMode

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

キャラクターの動き

プレイヤーのキャラクターが Selfie Mode 中に移動するのを防ぐときに、有利な場合があります。 これを実現するには、設定コールでdisableCharacterMovementを true に設定します。

LocalScript - ConfigureSelfieMode

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

Selfie Mode アクション

操作の親:これはサブ操作にだけ適用され、それを含む操作をポイントます。

フィールドの深さ

デフォルトでは、SelfieModeは、プレイヤーがアクションをトグルすると、一般的なフィールドエフェクトの深さ(背景の微妙なぼかし)が表示されます。

オフ
オン

デフォルトのフィールドエフェクトの深さを変更するには、設定コールで、depthOfFieldEffectを自分のDepthOfFieldEffectに設定します。

LocalScript - ConfigureSelfieMode

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

視線のロック

視線のロックトグルを使用すると、自撮りポーズを決める際に、首が回る範囲内でカメラ目線になるように設定できます。

他を非表示にする

デフォルトでは、他のキャラクターはプレイヤーのキャラクターと一緒に表示されます。 プレイヤーは、他を非表示にするボタンをクリックすることで、完璧なソロショットを取得できます。 オンにすると、他のキャラクターは表示からフェードアウトし、操作をオフにするまで表示されません。

フィルタ

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

ソフト
ドラマティック
モノクロ

ポーズ

ポーズ操作では、プレイヤーは、声援拍手イルカフロスギター波乗り大声トップロックツイールウェーブからプリセットポーズを選択できます。

フロス
大声
ツイール

API リファレンス

種類

動作

各操作は、以下のキー値ペアを持つ辞書で表現されます。

キー概要
name文字列ツールチップで最初に表示された操作の名前。
description文字列文字列の名前の後に表示される操作の説明。
icon文字列操作アイコンのアセットID。
activeIcon文字列「アクティブ」状態の操作アイコンのアセットID。 親操作でのみ使用でき、サブ操作では使用できません。
actionsテーブルオプションのサブ操作リスト。 これにより、他のさまざまな操作のサブメニューを作成できます。
parent操作にだけ適用され、それを含む操作をポイントます。
onActivated関数プレイヤーが操作またはサブ操作をアクティブ化すると実行されるオプションのコールバック関数です。 通常、操作にサブ操作が含まれている場合には、プレイヤーがサブ操作をアクティブ化し親操作を単に「展開」しなかったことを知る手段として定義されたコールバックが必要となるのは、サブ操作のみになります。
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)

列挙型

SelfieMode.Action

SelfieModeには、いくつかの操作が付属しています。 この列挙型(Enum)は、activateActiondeactivateActiontoggleAction関数で使用できます。

名前まとめ
DepthOfField](#depth-of-field)フィールドの深さ[操作への参照。
LockGaze視線のロック操作への参照。
HideOthers他を非表示にする操作への参照。
Filterフィルタ操作への参照。
Poseポーズ操作への参照。
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Activate "Filter" action
SelfieMode.activateAction(SelfieMode.Action.Filter)

関数

設定

configure(config:table)

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

キー概要デフォルト
disableCharacterMovementtrueの場合、セルフィーモードが開いている間、キャラクターが移動するのを防ぎます。false
depthOfFieldEffectプレイヤーがフィールドの深さ操作をトグルすると、オプションのカスタムの DepthOfFieldEffectインスタンスが表示されます。
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

プレイヤーは、通常、Selfie Mode(自撮りモード)を、画面の右側にある「カメラ」ボタンで開きますが、この関数にコードを指定して開くことができます。 以下に示すようにカスタムボタンを実装する場合、setHudButtonEnabledでデフォルトボタンを無効化する必要があります。 この関数は、LocalScriptからのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remove the default button
SelfieMode.setHudButtonEnabled(false)
-- Connect the custom button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

プレイヤーは、通常、画面下にある**⊗**ボタンで Selfie Mode(自撮りモード)を閉じますが、この関数では、コードで閉じます。 LocalScriptからのみ呼び出すことができます。

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen():boolean

プレイヤー操作の結果して、またはopenSelfieModeを介して Selfie Mode(自撮りモード)が開いている場合、trueを返します。 この関数は、LocalScriptからのみ呼び出すことができます。

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

Selfie Mode(自撮りモード)に入るデフォルトボタンが表示するかどうかを設定します。 カスタム UI ボタンでopenSelfieModeを実装するときに便利です。 この関数は、LocalScriptからのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
local button = script.Parent
-- Remove the default button
SelfieMode.setHudButtonEnabled(false)
-- Connect the custom button
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action:SelfieMode.Action):Action

SelfieMode.Action列挙型の操作の種類を取得します。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("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:WaitForChild("SelfieMode"))
-- Activate "Filter" action
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action:SelfieMode.Action)

デフォルト操作のつをプログラムで無効にします。 これは、プレイヤーが操作バーから操作をオフにする場合同じです。 LocalScriptからのみ呼び出すことができます。

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))
-- Deactivate "Filter" action
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action:SelfieMode.Action):boolean

オフの場合には操作をオンにします、オンの場合にはオフにします。 これは、操作バーからプレイヤーが操作をクリックする場合と同じです。 新しい「オンに切り替えられている」状態をブール値として返します。 LocalScriptからのみ呼び出すことができます。

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

setTheme

setTheme(theme:table)

テキストサイズ、フォント、ボタン/ツールチップの色など、Selfie Mode(自撮りモード)テーマを設定します。 この関数は、LocalScriptからのみ呼び出すことができます。

Script Editor

キー概要デフォルト
textSizeすべてのテキストサイズ。16
fontすべてのUI全体で使用されるフォント(Enum.Font)。GothamMedium
paddingUI要素のレイアウトに使用されるメインパディング(UDim)。(0, 12)
paddingSmall要素間に微妙な余白を適用するために使用される小さなパディングUDim(0, 6)
paddingScreen画面のエッジに使用されるパディングで、Selfie Mode(自撮りモードUDim)に息をのむような空間を生み出します。(0, 24)
backgroundColor操作を表示するバーに使用される背景色(Color3)。[0, 0, 0]
scrollBarColorモジュールのScrollingFrame要素で使用されるスクロールバーの色(Color3)。[255, 255, 255]

ボタンとツールチップ

キー概要デフォルト
openButtonBackgroundColorSelfie Mode(自撮りモード)を開くために使用される画面の右側にあるHUDボタンの背景色(Color3)。[255, 255, 255]
openButtonIconColorHUDボタンのカメラアイコンの色(Color3)。[0, 0, 0]
closeButtonBackgroundColor「閉じる」ボタンの背景色(Color3)。[0, 0, 0]
closeButtonIconColor「閉じる」ボタンのアイコンの色(Color3)。[255, 255, 255]
actionButtonBackgroundColor操作の切り替えに使用されるさまざまな操作ボタンの背景色(Color3)。[255, 255, 255]
actionButtonIconColorさまざまな操作ボタンのアイコンの色(Color3)。[0, 0, 0]
tooltipBackgroundColorツールチップと通知の背景色(Color3)。[0, 0, 0]
tooltipNameColorツールチップ名のテキストの色(Color3)。 通知テキストの色としても使用されます。[255, 255, 255]
tooltipDescriptionColorツールチップの説明の色(ツールチップ名に焦点を当てるためにわずかに薄くなっている)(Color3)。 通知には使用されません。[169, 169, 169]
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),
})

setEnabled

setEnabled(isEnabled:boolean)

Selfie Mode(自撮りモード)を有効にするかどうかを設定します。 無効にすると、モジュールのすべての UI が削除され、すべてのイベントが切断されます。 この関数は、LocalScriptからのみ呼び出すことができます。

LocalScript

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

イベント

selfieModeOpened

selfieModeOpened():RBXScriptSignal

プレイヤーが Selfie Mode(自撮りモード)を開いたとき、またopenSelfieModeが呼び出されるときに発生します。 このイベントは、LocalScript内でのみ接続できます

LocalScript

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

selfieModeClosed

selfieModeClosed():RBXScriptSignal

プレイヤーが Selfie Mode(自撮りモード)を閉じる、またはcloseSelfieModeが呼び出されるときに発生します。 このイベントは、LocalScript内でのみ接続できます

LocalScript

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

actionActivated

actionActivated(action:SelfieMode.Action):RBXScriptSignal

操作が有効になると、フィ ールド の深さ, 視線 のロック, その他 を非表示; にするなどの主要な操作の 1 つ、あるいは フィルタ または ポーズのようなサブ操作のアクティベートが発生します。 接続された関数は、アクティブ化された操作を受け取ります。 このイベントは、LocalScript内でのみ接続できます

LocalScript

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

actionDeactivated

actionDeactivated(action:SelfieMode.Action):RBXScriptSignal

プライマリ操作またはサブ操作が非アクティブ化されたときに発生します。 接続された関数は、アクティブ化された操作を受け取ります。 このイベントは、LocalScript内でのみ接続できます

LocalScript

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

filterChanged

filterChanged(newFilter:string,oldFilter:string):RBXScriptSignal

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

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)

poseChanged

poseChanged(newPose:string, oldPose:string):RBXScriptSignal

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

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)