Mode Selfie

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Pemain sudah mengambil tangkapan layar untuk memperingati momen-momen menyenangkan dalam pengalaman. Modul SelfieMode pengembang memungkinkan pemain untuk menangkap kenangan yang lebih bersih dari momen itu tanpa jendela obrolan atau daftar pemain, sementara juga mendukung efek filter, menyembunyikan karakter lain, dan berpose.

Penggunaan Modul

Instalasi

Untuk menggunakan modul SelfieMode dalam sebuah pengalaman:

  1. Dari menu Window di Studio atau toolbar tab Home, buka Toolbox dan pilih tab Creator Store.

  2. Pastikan pengurutan Models dipilih, kemudian klik tombol Lihat Semua untuk Kategori.

  3. Temukan dan klik ubin Packages.

  4. Temukan modul Mode Selfie dan klik itu, atau seret dan jatuhkan ke dalam tampilan 3D.

  5. Di jendela Explorer, pindahkan seluruh paket SelfieMode ke ReplicatedStorage. Setelah menjalankan pengalaman, modul akan mulai berjalan.

Konfigurasi

Modul ini sudah dikonfigurasi untuk bekerja dengan sebagian besar kasus penggunaan, tetapi Anda dapat dengan mudah menyesuaikannya melalui fungsi konfigurasi.

  1. Di StarterPlayerScripts, buat LocalScript baru dan ubah namanya menjadi ConfigureSelfieMode.

  2. Tempelkan kode berikut ke dalam skrip baru.

    LocalScript - ConfigureSelfieMode

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

Gerakan Karakter

Mungkin berguna untuk mencegah karakter pemain bergerak saat dalam mode selfie. Anda dapat mencapainya dengan mengatur disableCharacterMovement ke true dalam panggilan konfigurasi.

LocalScript - ConfigureSelfieMode

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

Tindakan Mode Selfie

SelfieMode hadir dengan tindakan berikut, yang dapat Anda gunakan dengan fungsi activateAction, deactivateAction, dan toggleAction, atau mendeteksinya melalui acara actionActivated dan actionDeactivated.

Depth-of-Field

Secara default, SelfieMode menunjukkan efek depth‑of‑field generik (blur halus di latar belakang) ketika pemain mengalihkan tindakan.

Untuk mengubah efek depth‑of‑field default, atur depthOfFieldEffect ke instansi DepthOfFieldEffect Anda sendiri dalam panggilan konfigurasi.

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

Kunci Pandangan

Pengalihan Kunci Pandangan menyebabkan karakter pemain untuk melihat ke arah kamera saat menyiapkan pose selfie, dalam rentang realistis seberapa jauh leher mereka dapat berputar.

Sembunyikan Orang Lain

Secara default, karakter lain terlihat di samping karakter pemain. Pemain dapat mendapatkan gambar solo yang sempurna dengan mengklik tombol Sembunyikan Orang Lain. Ketika dialihkan, karakter lain memudar dari pandangan dan tetap tidak terlihat hingga tindakan tersebut dialihkan kembali.

Filter

Tindakan Filter memungkinkan pemain menerapkan filter preset dari opsi Pop, Lembut, Antik, Imut, Dramatis, dan Monokrom.

Pose

Tindakan Pose memungkinkan pemain untuk memilih pose preset dari opsi Sorak, Bergemuruh, Lumba-lumba, Flossing, Gitar, Lompat Melambai, Lebih Keras, Top Rock, Putar, dan Melambai.

Referensi API

Tipe

Tindakan

Setiap tindakan diwakili oleh sebuah kamus dengan pasangan kunci-nilai berikut:

KunciTipeDeskripsi
namestringNama dari tindakan, ditampilkan pertama dalam tooltip.
descriptionstringDeskripsi tindakan, ditampilkan setelah name dalam tooltip.
iconstringID aset untuk ikon tindakan.
activeIconstringID aset untuk ikon tindakan dalam keadaan "aktif". Hanya bisa digunakan pada tindakan induk, bukan sub-tindakan.
actionstableDaftar opsional dari sub-tindakan. Ini memungkinkan Anda untuk membuat submenu dari berbagai tindakan lainnya.
parentTindakanTindakan induk dari tindakan; ini hanya berlaku untuk sub-tindakan dan menunjuk ke tindakan yang mengandungnya.
onActivatedfunctionFungsi callback opsional yang dijalankan ketika pemain mengaktifkan tindakan atau sub-tindakan. Biasanya, jika suatu tindakan mengandung sub-tindakan, hanya sub-tindakan yang memerlukan callback yang didefinisikan sebagai cara untuk mengetahui bahwa pemain mengaktifkan sub-tindakan dan tidak hanya "memperluas" tindakan induk.
LocalScript

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

Enums

SelfieMode.Action

SelfieMode hadir dengan beberapa tindakan. Anda dapat menggunakan enum ini dengan fungsi activateAction, deactivateAction, dan toggleAction.

NamaRingkasan
DepthOfFieldReferensi ke tindakan Depth‑of‑Field.
LockGazeReferensi ke tindakan Kunci Pandangan.
HideOthersReferensi ke tindakan Sembunyikan Orang Lain.
FilterReferensi ke tindakan Filter.
PoseReferensi ke tindakan Pose.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Aktifkan tindakan "Filter"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Fungsi

konfigurasi

konfigurasi(config: table)

Mengganti opsi konfigurasi default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari LocalScript.

KunciDeskripsiDefault
disableCharacterMovementJika true, mencegah karakter bergerak saat mode selfie terbuka.false
depthOfFieldEffectInstansi DepthOfFieldEffect opsional yang muncul ketika pemain mengalihkan tindakan Depth of Field.
LocalScript - ConfigureSelfieMode

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

openSelfieMode

openSelfieMode()

Seorang pemain biasanya akan membuka mode selfie dengan tombol "kamera" di sisi kanan layar, tetapi fungsi ini memungkinkan Anda untuk membukanya melalui kode. Saat menerapkan tombol kustom seperti yang ditunjukkan di bawah ini, Anda harus menonaktifkan tombol default melalui setHudButtonEnabled. Fungsi ini hanya dapat dipanggil dari LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Hapus tombol default
SelfieMode.setHudButtonEnabled(false)
-- Hubungkan tombol kustom
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

closeSelfieMode

closeSelfieMode()

Seorang pemain biasanya akan menutup mode selfie dengan tombol di bagian bawah layar, tetapi fungsi ini memungkinkan Anda menutupnya melalui kode. Hanya dapat dipanggil dari LocalScript.

LocalScript

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

isSelfieModeOpen

isSelfieModeOpen(): boolean

Mengembalikan true jika mode selfie terbuka sebagai hasil dari aksi pemain atau melalui openSelfieMode. Fungsi ini hanya dapat dipanggil dari LocalScript.

LocalScript

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

setHudButtonEnabled

setHudButtonEnabled()

Mengatur apakah tombol default untuk memasuki mode selfie ditampilkan. Berguna saat menerapkan openSelfieMode melalui tombol UI kustom. Fungsi ini hanya dapat dipanggil dari LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
local button = script.Parent
-- Hapus tombol default
SelfieMode.setHudButtonEnabled(false)
-- Hubungkan tombol kustom
button.Activated:Connect(function()
SelfieMode.openSelfieMode()
end)

getAction

getAction(action: SelfieMode.Action): Tindakan

Mendapatkan tipe Tindakan melalui 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)

Secara programatik mengaktifkan salah satu tindakan default. Ini sama dengan ketika pemain mengalihkan tindakan dari bilah tindakan. Hanya dapat dipanggil dari LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Aktifkan tindakan "Filter"
SelfieMode.activateAction(SelfieMode.Action.Filter)

deactivateAction

deactivateAction(action: SelfieMode.Action)

Secara programatik menonaktifkan salah satu tindakan default. Ini sama dengan ketika pemain menonaktifkan tindakan dari bilah tindakan. Hanya dapat dipanggil dari LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Nonaktifkan tindakan "Filter"
SelfieMode.deactivateAction(SelfieMode.Action.Filter)

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Mengalihkan tindakan hidup jika mati, atau mengalihkan mati jika hidup. Ini sama dengan ketika pemain mengklik tindakan dari bilah tindakan. Mengembalikan status "apakah diaktifkan" yang baru sebagai boolean. Hanya dapat dipanggil dari 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("Diaktifkan", lockGazeAction.name)
else
print("Dinonaktifkan", lockGazeAction.name)
end

setTheme

setTheme(theme: table)

Mengkonfigurasi tema mode selfie, termasuk ukuran teks, font, warna tombol/tooltips, dan lainnya. Fungsi ini hanya dapat dipanggil dari LocalScript.

KunciDeskripsiDefault
textSizeUkuran dari semua teks.16
fontFont yang digunakan di seluruh UI (Enum.Font).GothamMedium
paddingPadding utama yang digunakan untuk menyusun elemen UI (UDim).(0, 12)
paddingSmallPadding lebih kecil yang digunakan untuk menerapkan margin halus antara elemen (UDim).(0, 6)
paddingScreenPadding yang digunakan di sekitar tepi layar untuk memberi ruang bagi mode selfie (UDim).(0, 24)
backgroundColorWarna latar belakang yang digunakan untuk bilah yang menampilkan tindakan (Color3).[0, 0, 0]
scrollBarColorWarna dari scrollbar yang digunakan dalam elemen ScrollingFrame modul (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)

Mengatur apakah mode selfie diaktifkan atau tidak. Saat dinonaktifkan, semua UI untuk modul dihapus dan semua acara terputus. Fungsi ini hanya dapat dipanggil dari LocalScript.

LocalScript

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

Acara

selfieModeOpened

Diberitakan ketika pemain membuka mode selfie atau ketika openSelfieMode dipanggil. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeOpened:Connect(function()
print("Mode selfie terbuka")
end)

selfieModeClosed

Diberitakan ketika pemain menutup mode selfie atau ketika closeSelfieMode dipanggil. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.selfieModeClosed:Connect(function()
print("Mode selfie ditutup")
end)

actionActivated

Parameter
action: SelfieMode.ActionTindakan Action yang diaktifkan.

Diberitakan ketika suatu tindakan diaktifkan; ini mungkin salah satu tindakan utama seperti Depth of Field, Kunci Pandangan, atau Sembunyikan Orang Lain; atau mungkin sub-tindakan seperti filter atau pose. Fungsi yang terhubung menerima Action yang diaktifkan. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

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

actionDeactivated

Parameter
action: SelfieMode.ActionTindakan Action yang dinonaktifkan.

Diberitakan ketika tindakan utama atau sub-tindakan dinonaktifkan. Fungsi yang terhubung menerima Action yang dinonaktifkan. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

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

filterChanged

Parameter
newFilter: stringFilter baru.
oldFilter: stringFilter sebelumnya.

Diberitakan ketika suatu filter diterapkan atau dihapus. Fungsi yang terhubung menerima nama filter baru dan nama filter lama. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.filterChanged:Connect(function(newFilter, oldFilter)
print("Filter diubah dari", oldFilter, "menjadi", newFilter)
end)

poseChanged

Parameter
newPose: stringPose baru.
oldPose: stringPose sebelumnya.

Diberitakan ketika suatu pose diterapkan atau dihapus. Fungsi yang terhubung menerima nama pose baru dan nama pose lama. Acara ini hanya dapat dihubungkan dalam LocalScript.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
SelfieMode.poseChanged:Connect(function(newPose, oldPose)
print("Pose diubah dari", oldPose, "menjadi", newPose)
end)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.