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 mengenang momen menyenangkan di pengalaman.Mode Selfie pengembang memungkinkan pemain menangkap memori yang lebih bersih dari momen itu tanpa jendela obrolan atau daftar pemain, sambil juga mendukung efek filter, menyembunyikan karakter lain, dan berpose.

Penggunaan Modul

Instalasi

Untuk menggunakan modul Mode Selfie dalam pengalaman:

  1. Dari tab Pandangan, buka Kotak Alat dan pilih tab Toko Pencipta .

    Toolbox toggle button in Studio
  2. Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori .

  3. Temukan dan klik ubin Modul Pengembang .

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

  5. Di jendela Explorer, pindahkan seluruh model Mode Selfie ke ServerScriptService .Setelah menjalankan pengalaman, modul akan didistribusikan ke berbagai layanan dan mulai berjalan.

Konfigurasi

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

  1. Di StarterPlayerScripts , buat yang baru LocalScript dan ganti namanya menjadi Konfigurasi Mode Selfie .

  2. Tempelkan kode berikut ke skrip baru.

    Skrip Lokal - Konfigurasi Mode Selfie

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

Gerakan Karakter

Mungkin lebih menguntungkan untuk mencegah karakter pemain bergerak saat dalam mode selfie.Anda dapat mencapai ini dengan menetapkan disableCharacterMovement ke benar dalam panggilan konfigurasi.

Skrip Lokal - Konfigurasi Mode Selfie

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

Tindakan Mode Selfie

Mode Selfie datang dengan tindakan berikut , masing-masing dari mana Anda dapat menggunakan dengan fungsi aktifkanAksi , nonaktifkanAksi , dan aktifkanAksi fungsi, atau mendeteksi melalui peristiwa aksiDiaktifkan dan aksiDideaktifkan .

Kedalaman Bidang

Secara default, Mode Selfie menunjukkan efek umum kedalaman lapangan ( blur halus dari latar belakang ) ketika seorang pemain menyalakan action.

Untuk mengubah efek kedalaman bidang default, atur depthOfFieldEffect ke instansi DepthOfFieldEffect Anda sendiri dalam panggilan konfigurasi.

Skrip Lokal - Konfigurasi Mode Selfie

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

Kunci Pandangan

Tombol Kunci Pandangan menyebabkan karakter pemain melihat kamera saat mengatur pose selfie, dalam jarak realistis seberapa jauh leher mereka bisa berputar.

Sembunyikan Lainnya

Secara default, karakter lainnya terlihat di samping karakter pemain.Pemain dapat memperoleh tembakan solo sempurna dengan mengklik tombol Sembunyikan Orang Lain .Saat diaktifkan, karakter lain memudar dari pandangan dan tetap tidak terlihat sampai aksi dimatikan.

Filter

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

Posisi

Tindakan Pose memungkinkan pemain memilih posisi prasetel dari opsi Cheer , Tepuk Tangan , Dolphin , Flossing , Gitar , Gelombang Jump , Lebih Keras , Top Rock , Twirl , dan Gelombang .

Referensi API

Jenis

Tindakan

Setiap tindakan diwakili oleh kamus dengan pas kunci-nilai berikut:

KunciJenisDeskripsi
namestringNama action, ditampilkan pertama di tooltip.
descriptionstringDeskripsi action, ditampilkan setelah nama di tooltip.
iconstringID aset untuk ikon action.
activeIconstringID aset untuk ikon tindakan dalam status "aktif". Hanya dapat digunakan pada tindakan orang tua, bukan sub-tindakan.
actionsmejaDaftar opsi tindakan turunan. Ini memungkinkan Anda untuk membuat submenu dari berbagai tindakan lainnya.
parentTindakanOrangtua dari action; ini hanya berlaku untuk sub-tindakan dan menunjukkan tindakan yang berisi itu.
onActivatedfungsiFungsi panggil balas opsional yang berjalan saat pemain mengaktifkan tindakan atau sub-tindakan.Biasanya, jika tindakan berisi tindakan turunan, hanya tindakan turunan yang memerlukan panggil balik yang didefinisikan sebagai cara untuk mengetahui bahwa pemain mengaktifkan tindakan turunan dan tidak hanya "memperluas" actionorang tua.
Skrip Lokal

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)

Enums

SelfieMode.Action

Mode Selfie hadir dengan beberapa tindakan.Anda dapat menggunakan enum ini dengan aktifkanAksi , nonaktifkanAksi , dan aktifkanAksi fungsi.

NamaSingkatan
DepthOfFieldReferensi ke actionKedalaman Bidang .
LockGazeReferensi ke actionKunci Pandangan.
HideOthersReferensi ke actionSembunyikan Lainnya.
FilterReferensi ke actionFilter .
PoseReferensi ke actionPose.
Skrip Lokal

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

Fungsi

mengonfigurasi

mengonfigurasi(config: table )

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

KunciDeskripsiStandar
disableCharacterMovementJika benar, mencegah karakter bergerak saat mode selfie terbuka.salah
depthOfFieldEffectOpsional khusus DepthOfFieldEffect actionyang muncul ketika pemain menyalihkan tindakan Kedalaman Bidang .
Skrip Lokal - Konfigurasi Mode Selfie

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

bukaMode Selfie

openSelfieMode()

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 khusus seperti yang ditunjukkan di bawah, Anda harus menonaktifkan tombol default melalui setHudButtonEnabled.Fungsi ini hanya dapat dipanggil dari LocalScript .

Skrip Lokal

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

tutupMode Selfie

tutupMode Selfie()

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 .

Skrip Lokal

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

apakah Selfie Mode Terbuka

isSelfieModeOpen(): boolean

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

Skrip Lokal

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

setHudButtonEnabled

setHudButtonEnabled()

Mengatur apakah tombol default untuk masuk ke mode selfie ditampilkan.Berguna saat menerapkan bukaMode Selfie melalui tombol UI khusus.Fungsi ini hanya dapat dipanggil dari LocalScript .

Skrip Lokal

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

dapatkanAksi

mendapatkanAction(action: SelfieMode.Action ): Tindakan

Mendapatkan tipe Tindakan melalui sebuah SelfieMode.Action enum.

Skrip Lokal

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

aktifkan tindakan

aktifkanAksi(action: SelfieMode.Action )

Aktif secara programatik untuk salah satu tindakan default .Ini sama dengan ketika pemain menyalakan tindakan dari bilah tindakan.Hanya dapat dipanggil dari LocalScript .

Skrip Lokal

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

Nonaktifkan Tindakan

deactivateAction(action: SelfieMode.Action )

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

Skrip Lokal

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

aktifkanAksi

toggleAction(action: SelfieMode.Action ): boolean

Mengubah tindakan pada jika tidak aktif, atau mengubahnya mati jika aktif.Ini sama dengan ketika pemain mengklik tindakan dari bilah tindakan.Kembalikan status "is toggled on" baru sebagai boolean.Hanya dapat dipanggil dari LocalScript .

Skrip Lokal

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 )

Konfigurasi tema mode selfie, termasuk ukuran teks, font, warna tombol/instruksi, dan banyak lagi. Fungsi ini hanya dapat dipanggil dari LocalScript.

KunciDeskripsiStandar
textSizeUkuran semua teks.16
fontFont yang digunakan di seluruh UI ( Enum.Font ).GothamMedium
paddingPengisi utama yang digunakan untuk menempatkan elemen UI ( UDim ).(0, 12)
paddingSmallPengisi lebih kecil yang digunakan untuk menerapkan margin halus antara elemen ( UDim ).(0, 6)
paddingScreenPengisi digunakan di sekitar tepi layar untuk memberikan ruang pernapasan pada mode selfie ( UDim ).(0, 24)
backgroundColorWarna latar belakang yang digunakan untuk bar yang menampilkan tindakan ( Color3 ).[0, 0, 0]
scrollBarColorWarna bilah geser yang digunakan di elemen ScrollingFrame modul ( Color3 ).[255, 255, 255]
Skrip Lokal

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

aturEnabled

setEnabled(isEnabled: boolean )

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

Skrip Lokal

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

Peristiwa

selfieModeTerbuka

Melepaskan api saat pemain membuka mode selfie atau saat openSelfieMode dipanggil. Peristiwa ini hanya dapat terhubung di dalam LocalScript .

Skrip Lokal

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

selfieModeClosed

Melepaskan api saat pemain menutup mode selfie atau saat closeSelfieMode dipanggil. Acara ini hanya dapat terhubung di LocalScript .

Skrip Lokal

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

aktifAksi

Parameter
action: SelfieMode.ActionTindakan yang diaktifkan .

Melepaskan api saat tindakan diaktifkan; ini mungkin menjadi salah satu tindakan utama seperti Kedalaman Bidang , Lock Gaze , atau Sembunyikan Orang Lain ; atau alternatifnya bisa menjadi sub-aksi seperti filter atau pose .Fungsi terhubung menerima tindakan aktif .Acara ini hanya dapat terhubung di LocalScript .

Skrip Lokal

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

aktivasiDinonaktifkan

Parameter
action: SelfieMode.ActionTindakan yang dinonaktifkan .

Melepaskan api ketika tindakan utama atau sub-tindakan dinonaktifkan.Fungsi terhubung menerima tindakan deaktif nonaktif.Acara ini hanya dapat terhubung di LocalScript .

Skrip Lokal

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

filter berubah

Parameter
filter baru: stringfilterbaru.
filter lama: stringfiltersebelumnya.

Melepaskan api ketika filter diterapkan atau dihapus.Fungsi terhubung menerima nama filter baru dan nama filter lama.Acara ini hanya dapat terhubung di LocalScript .

Skrip Lokal

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)

poseBerubah

Parameter
newPose: stringPosisi baru.
oldPose: stringPosisi sebelumnya.

Melepaskan api saat pose diterapkan atau dihapus.Fungsi terhubung menerima nama pose baru dan nama pose lama.Acara ini hanya dapat terhubung di LocalScript .

Skrip Lokal

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)