Chế Độ Selfie

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Người chơi đã chụp ảnh màn hình để ghi nhớ những khoảnh khắc vui vẻ trong trải nghiệm. Mô-đun SelfieMode phát triển cho phép người chơi ghi lại những kỷ niệm sạch sẽ hơn mà không có cửa sổ trò chuyện hay danh sách người chơi, đồng thời hỗ trợ các hiệu ứng bộ lọc, ẩn các nhân vật khác và tạo dáng.

Sử Dụng Mô-đun

Cài Đặt

Để sử dụng mô-đun SelfieMode trong một trải nghiệm:

  1. Từ menu Cửa Sổ của Studio hoặc thanh công cụ tab Trang Chủ, mở Hộp Công Cụ và chọn tab Cửa Hàng Tạo.

  2. Đảm bảo rằng sắp xếp Mô Hình đã được chọn, sau đó nhấp vào nút Xem Tất Cả cho Danh Mục.

  3. Tìm và nhấp vào ô Gói.

  4. Tìm mô-đun Chế Độ Selfie và nhấp vào nó, hoặc kéo và thả nó vào chế độ 3D.

  5. Trong cửa sổ Khám Phá, di chuyển toàn bộ gói SelfieMode vào ReplicatedStorage. Sau khi trải nghiệm chạy, mô-đun sẽ bắt đầu hoạt động.

Cấu Hình

Mô-đun được cấu hình sẵn để hoạt động cho hầu hết các trường hợp sử dụng, nhưng bạn có thể dễ dàng tùy chỉnh nó thông qua chức năng configure.

  1. Trong StarterPlayerScripts, tạo một LocalScript mới và đổi tên thành ConfigureSelfieMode.

  2. Dán mã sau vào script mới.

    LocalScript - ConfigureSelfieMode

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

Di Chuyển Nhân Vật

Có thể có lợi khi ngăn chặn nhân vật của người chơi di chuyển trong khi ở chế độ selfie. Bạn có thể đạt được điều này bằng cách đặt disableCharacterMovement thành true trong một cuộc gọi configure.

LocalScript - ConfigureSelfieMode

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

Hành Động Chế Độ Selfie

SelfieMode đi kèm với các hành động sau đây, mỗi hành động bạn có thể sử dụng với các chức năng activateAction, deactivateAction, và toggleAction, hoặc phát hiện qua các sự kiện actionActivatedactionDeactivated.

Độ Sâu Trường

Theo mặc định, SelfieMode hiển thị một hiệu ứng độ sâu trường tổng quát (mờ nhẹ nền) khi người chơi bật hành động.

Để thay đổi hiệu ứng độ sâu trường mặc định, hãy đặt depthOfFieldEffect thành bản thể DepthOfFieldEffect của riêng bạn trong một cuộc gọi configure.

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

Khóa Nhìn

Công tắc Khóa Nhìn khiến nhân vật của người chơi nhìn về phía camera trong khi đặt dáng selfie, trong một khoảng cách thực tế mà cổ của họ có thể quay.

Ẩn Những Người Khác

Theo mặc định, các nhân vật khác sẽ hiển thị cùng với nhân vật của người chơi. Người chơi có thể có được một bức ảnh solo hoàn hảo bằng cách nhấp vào nút Ẩn Những Người Khác. Khi được bật, các nhân vật khác sẽ mờ đi khỏi tầm nhìn và vẫn không hiển thị cho đến khi hành động được tắt.

Bộ Lọc

Hành động Bộ Lọc cho phép người chơi áp dụng một bộ lọc đã đặt sẵn từ các tùy chọn Pop, Mềm, Cổ Điển, Dễ Thương, Kịch Tính, và Đơn Màu.

Tạo Dáng

Hành động Tạo Dáng cho phép người chơi chọn một dáng đã đặt sẵn từ các tùy chọn Cổ Vũ, Vỗ Tay, Cá Heo, Nhảy, Guitar, Nhảy Vẫy, Lớn Tiếng, Rock Đỉnh, Xoay, và Vẫy.

Tham Khảo API

Các Kiểu

Hành Động

Mỗi hành động được đại diện bằng một từ điển với các cặp khóa-giá trị sau:

KhóaKiểuMô Tả
namestringTên của hành động, hiển thị đầu tiên trong các tooltip.
descriptionstringMô tả của hành động, hiển thị sau name trong các tooltip.
iconstringID tài sản cho biểu tượng của hành động.
activeIconstringID tài sản cho biểu tượng của hành động trong trạng thái "kích hoạt". Chỉ có thể sử dụng cho các hành động cha, không phải hành động con.
actionstableDanh sách tùy chọn của các hành động phụ. Điều này cho phép bạn tạo các menu phụ cho nhiều hành động khác nhau.
parentActionHành động cha của hành động; điều này chỉ áp dụng cho một hành động con và chỉ đến hành động chứa nó.
onActivatedfunctionHàm gọi lại tùy chọn chạy khi một người chơi kích hoạt một hành động hoặc hành động phụ. Thông thường, nếu một hành động chứa các hành động con, chỉ hành động con cần một hàm gọi lại được định nghĩa như một cách để biết rằng người chơi đã kích hoạt hành động con và không chỉ đơn giản là "mở rộng" hành động cha.
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)

Enum

SelfieMode.Action

SelfieMode đi kèm với một số hành động. Bạn có thể sử dụng enum này với các chức năng activateAction, deactivateAction, và toggleAction.

TênTóm tắt
DepthOfFieldTham chiếu đến hành động Độ Sâu Trường.
LockGazeTham chiếu đến hành động Khóa Nhìn.
HideOthersTham chiếu đến hành động Ẩn Những Người Khác.
FilterTham chiếu đến hành động Bộ Lọc.
PoseTham chiếu đến hành động Tạo Dáng.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Kích hoạt hành động "Bộ Lọc"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Các Chức Năng

configure

configure(config: table)

Ghi đè các tùy chọn cấu hình mặc định thông qua các khóa/giá trị sau trong bảng config. Chức năng này chỉ có thể được gọi từ một LocalScript.

KhóaMô TảMặc định
disableCharacterMovementNếu true, ngăn không cho nhân vật di chuyển trong khi chế độ selfie đang mở.false
depthOfFieldEffectBản thể DepthOfFieldEffect tùy chọn tùy chỉnh xuất hiện khi người chơi bật hành động Độ Sâu Trường.
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

Một người chơi thường sẽ mở chế độ selfie bằng nút "camera" ở phía bên phải màn hình, nhưng chức năng này cho phép bạn mở nó thông qua mã. Khi triển khai một nút tùy chỉnh như được hiển thị dưới đây, bạn nên vô hiệu hóa nút mặc định thông qua setHudButtonEnabled. Chức năng này chỉ có thể được gọi từ một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Gỡ bỏ nút mặc định
SelfieMode.setHudButtonEnabled(false)
-- Kết nối nút tùy chỉnh
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

Một người chơi thường sẽ đóng chế độ selfie bằng nút ở dưới cùng màn hình, nhưng chức năng này cho phép bạn đóng nó thông qua mã. Chỉ có thể gọi từ một LocalScript.

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen(): boolean

Trả về true nếu chế độ selfie đang mở do hành động của người chơi hoặc thông qua openSelfieMode. Chức năng này chỉ có thể được gọi từ một LocalScript.

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

Đặt xem liệu nút mặc định để vào chế độ selfie có hiển thị hay không. Hữu ích khi triển khai openSelfieMode thông qua một nút UI tùy chỉnh. Chức năng này chỉ có thể được gọi từ một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Gỡ bỏ nút mặc định
SelfieMode.setHudButtonEnabled(false)
-- Kết nối nút tùy chỉnh
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Action

Lấy một loại Action thông qua enum SelfieMode.Action.

LocalScript

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

activateAction

activateAction(action: SelfieMode.Action)

Kích hoạt theo chương trình một trong các hành động mặc định. Điều này tương tự như khi người chơi bật hành động từ thanh hành động. Chỉ có thể gọi từ một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Kích hoạt hành động "Bộ Lọc"
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

Hủy kích hoạt theo chương trình một trong các hành động mặc định. Điều này tương tự như khi người chơi tắt hành động từ thanh hành động. Chỉ có thể gọi từ một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Hủy kích hoạt hành động "Bộ Lọc"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Chuyển đổi một hành động thành trạng thái bật nếu nó đang tắt, hoặc chuyển đổi nó thành tắt nếu nó đang bật. Điều này tương tự như khi người chơi nhấp vào hành động từ thanh hành động. Trả về trạng thái "đã được bật" mới như một boolean. Chỉ có thể gọi từ một 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("Kích hoạt", lockGazeAction.name)
else
print("Hủy kích hoạt", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

Cấu hình chủ đề chế độ selfie, bao gồm kích thước văn bản, phông chữ, màu nút/tooltips, và nhiều hơn nữa. Chức năng này chỉ có thể được gọi từ một LocalScript.

KhóaMô TảMặc định
textSizeKích thước của tất cả các văn bản.16
fontPhông chữ sử dụng cho tất cả UI (Enum.Font).GothamMedium
paddingKhoảng cách chính được sử dụng để bố trí các phần tử UI (UDim).(0, 12)
paddingSmallKhoảng cách nhỏ hơn được sử dụng để áp dụng các lề tinh tế giữa các phần tử (UDim).(0, 6)
paddingScreenKhoảng cách xung quanh các cạnh màn hình để tạo không gian cho chế độ selfie (UDim).(0, 24)
backgroundColorMàu nền sử dụng cho thanh hiển thị các hành động (Color3).[0, 0, 0]
scrollBarColorMàu của thanh cuộn được sử dụng trong các phần tử ScrollingFrame của mô-đun (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)

Đặt xem liệu chế độ selfie có được bật hay không. Khi bị vô hiệu hóa, tất cả UI cho mô-đun sẽ bị loại bỏ và tất cả sự kiện sẽ bị ngắt kết nối. Chức năng này chỉ có thể được gọi từ một LocalScript.

LocalScript

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

Sự Kiện

selfieModeOpened

Kích hoạt khi người chơi mở chế độ selfie hoặc khi openSelfieMode được gọi. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Chế độ selfie đã mở")
end)

selfieModeClosed

Kích hoạt khi người chơi đóng chế độ selfie hoặc khi closeSelfieMode được gọi. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Chế độ selfie đã đóng")
end)

actionActivated

Tham Số
action: SelfieMode.ActionHành động Action đã được kích hoạt.

Kích hoạt khi một hành động được kích hoạt; điều này có thể là một trong các hành động chính như Độ Sâu Trường, Khóa Nhìn, hoặc Ẩn Những Người Khác; hoặc có thể là một hành động con như một bộ lọc hoặc dáng. Hàm được kết nối nhận hành động Action đã được kích hoạt. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionActivated:Connect(function(action)
print(action.name, "đã kích hoạt")
end)

actionDeactivated

Tham Số
action: SelfieMode.ActionHành động Action đã bị hủy kích hoạt.

Kích hoạt khi một hành động chính hoặc hành động con bị hủy kích hoạt. Hàm được kết nối nhận hành động Action đã bị hủy kích hoạt. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.actionDeactivated:Connect(function(action)
print(action.name, "đã bị hủy kích hoạt")
end)

filterChanged

Tham Số
newFilter: stringBộ lọc mới.
oldFilter: stringBộ lọc trước đó.

Kích hoạt khi một bộ lọc được áp dụng hoặc loại bỏ. Hàm được kết nối nhận tên bộ lọc mới và tên bộ lọc cũ. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Bộ lọc đã thay đổi từ", oldFilter, "thành", newFilter)
end)

poseChanged

Tham Số
newPose: stringDáng mới.
oldPose: stringDáng trước đó.

Kích hoạt khi một dáng được áp dụng hoặc loại bỏ. Hàm được kết nối nhận tên dáng mới và tên dáng cũ. Sự kiện này chỉ có thể được kết nối trong một LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Dáng đã thay đổi từ", oldPose, "thành", newPose)
end)
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.