ViewportFrame
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
ViewportFrame adalah GuiObject yang menampilkan objek 3D di dalam batasnya, menawarkan cara untuk menampilkan objek 3D di ruang 2D seperti ScreenGui .Objek ini memiliki peringatan berikut:
Tidak ada bayangan atau efek post-processing yang ditampilkan.
Enum.Material.Neon dan Enum.Material.Glass materi ditampilkan dengan kualitas terendah.
Tersarang GuiObjects tidak didukung.
Secara default, pencahayaan di dalam ViewportFrame bertindak seolah-olah Lighting.EnvironmentSpecularScale dan Lighting.EnvironmentDiffuseScale sama-sama ditetapkan ke 0 , jadi properti yang bergantung pada bidang ini, seperti SurfaceAppearance.MetalnessMap , mungkin terlihat berbeda.
Objek ini dapat menggunakan anak sebagai peta kubus untuk refleksi, di mana hanya enam properti objek yang digunakan.Menganggap properti ini valid, pencahayaan di dalam ViewportFrame bertindak serupa dengan jika Lighting.EnvironmentSpecularScale dan Lighting.EnvironmentDiffuseScale keduanya diatur ke 1 .Untuk rincian, lihat di sini .
Contoh Kode
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
local viewportFrame = Instance.new("ViewportFrame")
viewportFrame.Size = UDim2.new(0.3, 0, 0.4, 0)
viewportFrame.Position = UDim2.new(0, 15, 0, 15)
viewportFrame.BackgroundColor3 = Color3.new(0, 0, 0)
viewportFrame.BorderColor3 = Color3.new(0.6, 0.5, 0.4)
viewportFrame.BorderSizePixel = 2
viewportFrame.BackgroundTransparency = 0.25
viewportFrame.Parent = screenGui
local part = Instance.new("Part")
part.Material = Enum.Material.Concrete
part.Color = Color3.new(0.25, 0.75, 1)
part.Position = Vector3.new(0, 0, 0)
part.Parent = viewportFrame
local viewportCamera = Instance.new("Camera")
viewportFrame.CurrentCamera = viewportCamera
viewportCamera.Parent = viewportFrame
viewportCamera.CFrame = CFrame.new(Vector3.new(0, 2, 12), part.Position)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = playerGui
local TweenService = game:GetService("TweenService")
local viewportFrame = Instance.new("ViewportFrame")
viewportFrame.Size = UDim2.new(0.3, 0, 0.4, 0)
viewportFrame.Position = UDim2.new(0, 15, 0, 15)
viewportFrame.BackgroundColor3 = Color3.new(0, 0, 0)
viewportFrame.BorderColor3 = Color3.new(0.6, 0.5, 0.4)
viewportFrame.BorderSizePixel = 2
viewportFrame.BackgroundTransparency = 0.25
viewportFrame.Parent = screenGui
local part = Instance.new("Part")
part.Material = Enum.Material.Concrete
part.Color = Color3.new(0.25, 0.75, 1)
part.Position = Vector3.new(0, 0, 0)
part.Parent = viewportFrame
local viewportCamera = Instance.new("Camera")
viewportFrame.CurrentCamera = viewportCamera
viewportCamera.Parent = viewportFrame
viewportCamera.CFrame = CFrame.new(Vector3.new(0, 2, 12), part.Position)
task.wait(2)
local cameraGoal = {
CFrame = CFrame.new(Vector3.new(0, 6, 4), part.Position),
}
local tweenInfo = TweenInfo.new(2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween = TweenService:Create(viewportCamera, tweenInfo, cameraGoal)
tween:Play()
Rangkuman
Properti
Warna pencahayaan yang diterapkan ke area dalam ViewportFrame .
Camera yang digunakan untuk menampilkan objek anak.
Menentukan bagaimana gambar jendela tampilan yang dirender akan diwarnai.
Menentukan transparansi gambar viewport yang drender.
Warna cahaya yang dipancarkan.
A Vector3 mewakili arah sumber cahaya.
Menentukan apakah elemen UI ini menenggelamkan input.
Menentukan titik asal dari GuiObject , relatif terhadap ukuran absolutnya.
Menentukan apakah penyesuaian ulang terjadi berdasarkan konten anak.
Menentukan warna latar belakang GuiObject.
Menentukan transparansi latar belakang dan border GuiObject .
Menentukan warna border GuiObject .
Menentukan dengan cara apa perbatasan GuiObject diletakkan relatif terhadap dimensinya.
Menentukan lebar piksel dari batas GuiObject .
Menentukan apakah keturunan GuiObjects di luar batas elemen GUI orangtua harus ditampilkan.
Menentukan apakah mouse pemain ditekan secara aktif di GuiObject atau tidak.
Menentukan apakah GuiButton dapat berinteraksi atau tidak, atau apakah GuiState dari GuiObject berubah atau tidak.
Mengontrol urutan sortir dari GuiObject ketika digunakan dengan UIGridStyleLayout .
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke bawah.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke kiri.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke kanan.
Tetapkan GuiObject yang akan dipilih saat pemilih gamepad dipindahkan ke atas.
Menentukan posisi piksel dan skalar dari GuiObject .
Menentukan jumlah derajat di mana GuiObject diputar.
Tentukan apakah GuiObject dapat dipilih oleh gamepad.
Menggantikan dekorasi seleksi default yang digunakan untuk gamepad.
Pesanan dari GuiObjects dipilih oleh pilihan UI gamepad.
Menentukan ukuran piksel dan skala dari GuiObject .
Mengatur sumbu yang akan didasarkan pada, relatif terhadap ukuran orang tuanya.
Properti campuran dari BackgroundTransparency dan TextTransparency.
Menentukan apakah GuiObject dan keturunannya akan ditampilkan.
Menentukan urutan di mana sebuah GuiObject ditampilkan relatif terhadap yang lain.
Menggambarkan posisi layar aktual dari elemen GuiBase2d , dalam piksel.
Menggambarkan rotasi layar aktual dari elemen GuiBase2d , dalam derajat.
Menggambarkan ukuran layar aktual dari elemen GuiBase2d , dalam piksel.
Ketika diatur ke true , lokalisasi akan diterapkan ke GuiBase2d dan keturunannnya.
Referensi ke LocalizationTable untuk digunakan untuk menerapkan lokalisasi otomatis ke GuiBase2d dan keturunannnya.
Sesuaikan perilaku pemilihan gamepad dalam arah turun.
Sesuaikan perilaku pemilihan gamepad di arah kiri.
Sesuaikan perilaku pemilihan gamepad di arah yang benar.
Sesuaikan perilaku pemilihan gamepad dalam arah atas.
Memungkinkan kustomisasi gerakan seleksi gamepad.
Metode
Metode diwarisi dari GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Dengan lancar memindahkan GUI ke baru UDim2.
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Dengan lancar memindahkan GUI ke ukuran dan posisi baru.
Acara
Acara diwarisi dari GuiObjectDitembak ketika pengguna mulai berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Ditembak ketika pengguna mengubah cara mereka berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Ditembak ketika pengguna berhenti berinteraksi melalui perangkat Antarmuka Manusia-Komputer (tombol mouse turun, sentuhan mulai, tombol keyboard turun, dll).
Melepaskan api saat pengguna memindahkan mouse ke elemen GUI.
Melepaskan api saat pengguna memindahkan mouse mereka keluar dari elemen GUI.
Melepaskan api setiap kali pengguna memindahkan mouse saat berada di dalam elemen GUI.
Melepaskan api saat pengguna menggulir roda mouse kembali saat mouse berada di atas elemen GUI.
Melepaskan api saat pengguna menggulir roda mouse ke depan saat mouse berada di atas elemen GUI.
Ditembak ketika GuiObject difokuskan dengan pemilih Gamepad.
Ditembak ketika pemilih Gamepad berhenti fokus pada GuiObject.
Melepaskan api saat pemain mulai, melanjutkan dan berhenti menekan tombol UI dalam waktu lama.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain menggerakkan jari mereka di elemen UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain melakukan gerakan pinch atau pull menggunakan dua jari di elemen UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Melepaskan api saat pemain melakukan gerakan rotasi menggunakan dua jari di elemen UI.
Melepaskan api saat pemain melakukan gerakan geser pada elemen UI.
Melepaskan api saat pemain melakukan gerakan geser di elemen UI.
- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Memicu ketika pemilihan gamepad bergerak ke, meninggalkan, atau berubah di dalam terhubung GuiBase2d atau keturunan mana pun GuiObjects .
Properti
Ambient
Properti ini menentukan warna pencahayaan yang diterapkan ke area dalam ViewportFrame . Nilai default adalah
CurrentCamera
Camera instansi yang digunakan untuk menampilkan objek anak. Nilai default adalah nil .
Objek Camera tidak bereplikasi sehingga ViewportFrame.CurrentCamera juga tidak akan bereplikasi.Ketika Anda mengatur properti ini, Camera.CFrame dan Camera.FieldOfView akan disimpan dan direplikasi dengan ViewportFrame internal sehingga klien dapat menampilkan frame tanpa objek Camera.
ImageColor3
Properti ini menentukan bagaimana gambar jendela tampilan yang diterapkan akan diwarnai, memungkinkan Anda untuk mengubah warna tanpa langsung memodifikasi objek yang diterapkan.Nilai kolorisasi default adalah
Lihat juga ImageTransparency yang menentukan transparansi gambar yang drender.
ImageTransparency
Properti ini menentukan transparansi gambar viewport yang ditampilkan, memungkinkan Anda untuk mengubah transparansi tanpa langsung memodifikasi objek yang ditampilkan.Nilai 0 (默认) sama sekali tidak transparan dan nilai 1 sama sekali tidak transparan (tidak terlihat).
Lihat juga ImageColor3 yang menentukan bagaimana gambar yang diterjemahkan akan diwarnai.
LightColor
Warna cahaya yang dipancarkan. Nilai default adalah
LightDirection
A Vector3 mewakili arah sumber cahaya dari posisi