プレイヤーは、すでにバーチャル空間内での楽しい瞬間を記念するためにスクリーンショットを撮っています。 SelfieMode開発者モジュールでは、プレイヤーがチャットウィンドウやプレイヤーリストなしで、その瞬間のよりクリーンな思い出を捉えて、エフェクトのフィルタ、他のキャラクターを隠すこと、ポーズに対応できます。
モジュールの使用法
インストール
バーチャル空間でSelfieModeモジュールを使用するには、次の手順に従います:
表示タブから、ツールボックスを開き、マーケットプレイスタブを選択します。
モデルのソートが選択されていることを確認し、カテゴリのすべてのボタンを表示をクリックします。
DEV モジュールタイルを見つけてクリックします。
Selfie Modeモジュールを見つけてクリックするか、3D ビューにドラッグ&ドロップします。
エクスプローラウィンドウで、SelfieModeモデル全体をServerScriptServiceに移動します。 バーチャル空間を実行すると、モジュールはそれ自体をさまざまなサービスに配布し、実行を開始します。
設定
モジュールは、ほとんどのユースケースで動作するように事前設定されていますが、設定関数を使用して簡単にカスタマイズできます。
StarterPlayerScriptsで、新しいLocalScriptを作成して、それをConfigureSelfieModeに名前変更します。
以下のコードを新しいスクリプトに貼り付けます。
LocalScript - ConfigureSelfieModelocal 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 = 0customDepthOfField.FarIntensity = 1customDepthOfField.FocusDistance = 5customDepthOfField.InFocusRadius = 5SelfieMode.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)は、activateAction、deactivateAction、toggleAction関数で使用できます。
名前 | まとめ |
---|---|
DepthOfField | ](#depth-of-field)フィールドの深さ[操作への参照。 |
LockGaze | 視線のロック操作への参照。 |
HideOthers | 他を非表示にする操作への参照。 |
Filter | フィルタ操作への参照。 |
Pose | ポーズ操作への参照。 |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- Activate "Filter" actionSelfieMode.activateAction(SelfieMode.Action.Filter)
関数
設定
configure(config:table)
デフォルト設定オプションは、configテーブル内の以下のキー/値を使用して上書きします。 この関数は、LocalScriptからのみ呼び出すことができます。
キー | 概要 | デフォルト |
---|---|---|
disableCharacterMovement | trueの場合、セルフィーモードが開いている間、キャラクターが移動するのを防ぎます。 | 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" actionSelfieMode.activateAction(SelfieMode.Action.Filter)
deactivateAction
deactivateAction(action:SelfieMode.Action)
デフォルト操作のつをプログラムで無効にします。 これは、プレイヤーが操作バーから操作をオフにする場合同じです。 LocalScriptからのみ呼び出すことができます。
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SelfieMode = require(ReplicatedStorage:WaitForChild("SelfieMode"))-- Deactivate "Filter" actionSelfieMode.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 thenprint("Activated", lockGazeAction.name)elseprint("Deactivated", lockGazeAction.name)end
setTheme
setTheme(theme:table)
テキストサイズ、フォント、ボタン/ツールチップの色など、Selfie Mode(自撮りモード)テーマを設定します。 この関数は、LocalScriptからのみ呼び出すことができます。
Script Editor
キー | 概要 | デフォルト |
---|---|---|
textSize | すべてのテキストサイズ。 | 16 |
font | すべてのUI全体で使用されるフォント(Enum.Font)。 | GothamMedium |
padding | UI要素のレイアウトに使用されるメインパディング(UDim)。 | (0, 12) |
paddingSmall | 要素間に微妙な余白を適用するために使用される小さなパディングUDim。 | (0, 6) |
paddingScreen | 画面のエッジに使用されるパディングで、Selfie Mode(自撮りモードUDim)に息をのむような空間を生み出します。 | (0, 24) |
backgroundColor | 操作を表示するバーに使用される背景色(Color3)。 | [0, 0, 0] |
scrollBarColor | モジュールのScrollingFrame要素で使用されるスクロールバーの色(Color3)。 | [255, 255, 255] |
ボタンとツールチップ
キー | 概要 | デフォルト |
---|---|---|
openButtonBackgroundColor | Selfie Mode(自撮りモード)を開くために使用される画面の右側にあるHUDボタンの背景色(Color3)。 | [255, 255, 255] |
openButtonIconColor | HUDボタンのカメラアイコンの色(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)