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 permainan. Modul SelfieMode pengembang memungkinkan pemain untuk menangkap kenangan yang lebih bersih dari momen tersebut tanpa jendela obrolan atau daftar pemain, sambil juga mendukung efek filter, menyembunyikan karakter lain, dan berpose.

Penggunaan Modul

Instalasi

Untuk menggunakan modul SelfieMode dalam sebuah permainan:

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

  2. Pastikan pengurutan Models dipilih, lalu klik tombol See All untuk Categories.

  3. Temukan dan klik ubin Packages.

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

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

Konfigurasi

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

  1. Di StarterPlayerScripts, buat LocalScript baru dan ganti 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 menguntungkan untuk mencegah karakter pemain bergerak saat dalam mode selfie. Anda dapat mencapainya dengan mengatur disableCharacterMovement ke true dalam panggilan configure.

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

Aksi Mode Selfie

SelfieMode dilengkapi dengan aksi berikut, yang masing-masing dapat Anda gunakan dengan fungsi activateAction, deactivateAction, dan toggleAction, atau mendeteksi melalui acara actionActivated dan actionDeactivated.

Depth-of-Field

Secara default, SelfieMode menunjukkan efek depth‑of‑field generik (kabut halus di latar belakang) ketika seorang pemain mengaktifkan aksi.

Untuk mengubah efek depth‑of‑field default, atur depthOfFieldEffect ke instance DepthOfFieldEffect Anda sendiri dalam panggilan 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
})

Kunci Pandangan

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

Sembunyikan Lainnya

Secara default, karakter lain terlihat bersamaan dengan karakter pemain. Pemain dapat mendapatkan foto solo yang sempurna dengan mengklik tombol Sembunyikan Lainnya. Ketika diaktifkan, karakter lain memudar dari pandangan dan tetap tidak terlihat sampai aksi dinonaktifkan.

Filter

Aksi Filter memungkinkan pemain menerapkan filter preset dari opsi Pop, Soft, Antique, Cute, Dramatic, dan Monochrome.

Pose

Aksi Pose memungkinkan pemain memilih pose preset dari opsi Cheer, Clapping, Dolphin, Flossing, Guitar, Jump Wave, Louder, Top Rock, Twirl, dan Wave.

Referensi API

Tipe

Aksi

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

KunciTipeDeskripsi
namestringNama aksi, ditampilkan pertama dalam tooltip.
descriptionstringDeskripsi aksi, ditampilkan setelah name dalam tooltip.
iconstringID aset untuk ikon aksi.
activeIconstringID aset untuk ikon aksi dalam keadaan "aktif". Hanya dapat digunakan pada aksi induk, bukan sub-aksi.
actionstableDaftar opsional sub-aksi. Ini memungkinkan Anda untuk membuat submenu dari berbagai aksi lainnya.
parentActionAksi induk dari aksi; ini hanya berlaku untuk sub-aksi dan menunjuk ke aksi yang mengandungnya.
onActivatedfunctionFungsi callback opsional yang dijalankan ketika seorang pemain mengaktifkan aksi atau sub-aksi. Biasanya, jika sebuah aksi mengandung sub-aksi, hanya sub-aksi yang perlu mendefinisikan callback sebagai cara untuk mengetahui bahwa pemain mengaktifkan sub-aksi dan tidak hanya "memperluas" aksi 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 dilengkapi dengan beberapa aksi. Anda dapat menggunakan enum ini dengan fungsi activateAction, deactivateAction, dan toggleAction.

NamaRingkasan
DepthOfFieldReferensi ke aksi Depth‑of‑Field.
LockGazeReferensi ke aksi Kunci Pandangan.
HideOthersReferensi ke aksi Sembunyikan Lainnya.
FilterReferensi ke aksi Filter.
PoseReferensi ke aksi Pose.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SelfieMode = require(ReplicatedStorage.SelfieMode)
-- Aktifkan aksi "Filter"
SelfieMode.activateAction(SelfieMode.Action.Filter)

Fungsi

configure

configure(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
depthOfFieldEffectInstance DepthOfFieldEffect kustom opsional yang muncul ketika pemain mengaktifkan aksi 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 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 tindakan 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 masuk ke 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): Action

Mendapatkan tipe Action 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)

Mengaktifkan secara programatis salah satu aksi default. Ini sama seperti ketika seorang pemain mengaktifkan aksi dari bilah aksi. Hanya dapat dipanggil dari LocalScript.

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

deactivateAction

deactivateAction(action: SelfieMode.Action)

Menonaktifkan secara programatis salah satu aksi default. Ini sama seperti ketika seorang pemain menonaktifkan aksi dari bilah aksi. Hanya dapat dipanggil dari LocalScript.

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

toggleAction

toggleAction(action: SelfieMode.Action): boolean

Mengaktifkan aksi jika dimatikan, atau menonaktifkannya jika diaktifkan. Ini sama seperti ketika seorang pemain mengklik aksi dari bilah aksi. Mengembalikan status baru "di aktifkan" 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)

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

KunciDeskripsiDefault
textSizeUkuran 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 memberikan ruang bernapas pada mode selfie (UDim).(0, 24)
backgroundColorWarna latar belakang yang digunakan untuk bilah yang menampilkan aksi (Color3).[0, 0, 0]
scrollBarColorWarna 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. Ketika 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

Ditembakkan 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

Ditembakkan 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.ActionAksi yang diaktifkan Action.

Ditembakkan ketika sebuah aksi diaktifkan; ini bisa menjadi salah satu aksi utama seperti Depth of Field, Lock Gaze, atau Hide Others; atau bisa juga menjadi sub-aksi 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.ActionAksi yang dinonaktifkan Action.

Ditembakkan ketika sebuah aksi utama atau sub-aksi 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.

Ditembakkan ketika sebuah 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 berubah dari", oldFilter, "ke", newFilter)
end)

poseChanged

Parameter
newPose: stringPose baru.
oldPose: stringPose sebelumnya.

Ditembakkan ketika sebuah 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 berubah dari", oldPose, "ke", 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.