Nama Karakter/Pengganda Kesehatan

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

Instansi Humanoid digunakan untuk membuat model karakter, baik untuk avatar pengguna dan NPC. Saat Humanoid hadir di dalam Model yang berisi bagian bernama 1> Kepala1>, Roblox menampilkan nama dan/atau bar kesehatan di atas bagian itu.

Character display information above an in-experience avatar

Melalui berbagai Humanoid属性, Anda dapat mengubah mengikuti:

  • Jarak dari mana pengguna dapat melihat nama/kesehatan dari humanoid lain dalam hubungannya dengan karakter mereka sendiri humanoid.
  • Nama tampilan yang menunjukkan lebih dari seorang manusia.
  • Apakah bar kesehatan manusia selalu muncul, tidak pernah muncul, atau hanya muncul saat manusia rusak.
  • Apakah garis dan bar kesehatan ditutup ketika garis pandangan antara kamera dan manusia lainnya diblokir.

Jendela Propinsi

Jenis Jarak Tampilan

Properti Humanoid.DisplayDistanceType menentukan cara pengguna melihat nama/kesehatan karakter lain dalam hubungannya dengan karakter mereka sendiri.

Pengunjung

Ketika DisplayDistanceType dari manusia ditetapkan menjadi HumanoidDisplayDistanceType.Viewer dan Class

Dalam skenario berikut, karakter pengguna ( Viewer ) memiliki lebih banyak NameDisplayDistance daripada HealthDisplayDistance, seperti yang ditunjukkan oleh lingkaran. Sebagai

Subjek

Ketika DisplayDistanceType dari manusia di set ke HumanoidDisplayDistanceType.Subject dan Class.H

Dalam skenario berikut, kedua Watchman dan Octavia ditetapkan menjadi Subjek dan kedua 1> Class.Humanoid.NameDisplayDistance|NameDisplayDistance1> jangkauan dinyatakan oleh lingkaran. Hanya nama 4> Octavia4> yang dilihat ole

Tidak ada

Ketika DisplayDistanceType manusia di set ke HumanoidDisplayDistanceType.None , maka nama dan bar kesehatannya tidak muncul di bawah kondisi apa pun. Dalam skenario berikut, kedua Watchman

Jenis Tampilan Kesehatan

Properti Humanoid.HealthDisplayType menyediakan lebih banyak kontrol atas visibilitas bar kesehatan karakter. Bar mengambil refleksi kesehatan Health sebagai faktor dari kesehatannya MaxHealth dan itu mengubah warna dari hijau ke kuning

Selalu Aktif

Ketika HealthDisplayType manusia di set ke HumanoidHealthDisplayType.AlwaysOn , maka bar kesehatannya selalu muncul.

Tampilkan Saat Rusak

Sebuah humanoid dengan HealthDisplayType tetap set ke HumanoidHealthDisplayType.DisplayWhenDamaged

Selalu Matikan

Ketika HealthDisplayType manoid diatur ke HumanoidHealthDisplayType.AlwaysOff, bar kesehatannya tidak pernah muncul di bawah kondisi apa pun.

Oklusi

Ocклюasi (menyembunyikan) nama manusia di balik dinding atau objek lainnya dikendalikan oleh properti Humanoid.NameOcclusion karakter.

Tidak ada Occlusion

Ketika seorang humanoid tersembunyi di balik objek yang terlihat dan NameOcclusion tetap set ke NameOcclusion.NoOcclusion, nama dan kesehatannya tidak pernah terblokir dari melihat humanoid.

Dalam skenario berikut, kedua Watchman dan Octavia diatur untuk NoOcclusion . Meskipun kedua tersebut cukup tersembunyi di balik kolom batu, namun manusia yang menonton masih melihat nama/kesehatan mereka.

Nonaktifkan Semua

Ketika seorang humanoid tersembunyi di balik objek yang terlihat dan NameOcclusion tetap set ke NameOcclusion.OccludeAll, nama dan kesehatannya selalu tersembunyi saat melihat humanoid.

Dalam skenario berikut, kedua Watchman dan Octavia tersembunyi cukup di balik kolom batu. Watchman diatur untuk 1> OccludeAll 1>, jadi nama dan kesehatannya tersembunyi dari humanoid yang melihat. 4> Octavia ', namun, diatur untuk 7>

Oklusi Musuh

Ketika seorang manusia disembunyikan di balik objek yang terlihat dan namanya NameOcclusion ditetapkan menjadi NameOcclusion.EnemyOcclusion, namanya dan kesehatannya hanya diblokir dari manusia pemain (pemain di Class.Team yang berbeda).

Dalam skenario berikut, kedua Watchman dan Octavia tersembunyi cukup di balik kolom batu, dan kedua EnemyOcclusion . Humanoid pemandangan dan 1> Watchman1> berada di tim yang sama, jadi occlusive nama/kesehatan tidak ter

Mengubah Karakter yang Diberikan

Avatar Pengguna

Untuk mengubah nama atau tampilan kesehatan untuk setiap avatar yang masuk dalam pengalaman, hubungkan acara Players.PlayerAdded dan Player.CharacterAdded dalam Class.Script dan tetapkan Script properti tampilan pada karakter 1> Class.Humanoid1> .

Skrip - Kustomisasi Global

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Berikan setiap manusia pengendalian penuh atas nama / kesehatannya
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- Tetapkan jarak tampilan nama sebesar 20 stud
humanoid.NameDisplayDistance = 20
-- Tetapkan jarak tampilan bar kesehatan menjadi 15 stud
humanoid.HealthDisplayDistance = 15
-- Hanya tampilkan bar kesehatan saat humanoid rusak
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Anda juga dapat menyesuaikan propinsi berdasarkan nama pemainnya Team, seperti menetapkan semua pemain "penjaga" ke nama yang genéric, dan menyembunyikan nama semua pemain "ninja".

Skrip - Kustomisasi Tim

local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Tetapkan nama semua penjaga menjadi "Penjaga" umum
if player.Team.Name == "Guards" then
humanoid.DisplayName = "Guard"
-- Sembunyikan nama untuk semua ninja
elseif player.Team.Name == "Ninjas" then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Karakter NPC

Untuk karakter NPC yang sudah ditempatkan di dunia 3D, Anda dapat mengedit nama/kesehatan langsung di objek Humanoid di jendela Property.

Menggeser Nama Layar

Secara default, nama tampilan manusia bercocok dengan akun Roblox pengguna Nama Tampilan yang unik dan berbeda dari akun mereka Username . Untuk menunjukkan nama yang sepenuhnya khusus yang tidak terkait dengan akun pengguna, Anda dapat mengatasi property Humanoid.DisplayName.

Mengatur Secara Langsung

Anda dapat mengatur DisplayName properti dari setiap Humanoid instansi yang Anda dapatkan referensi melalui Script, seperti contoh 1> kustomisasi tim1>, atau langsung di objek 4> Humanoid4> pada

Mengatur Melalui Masukan Pengguna

Di beberapa genre seperti roleplaying atau pertarungan, Anda mungkin ingin memberikan metode bagi pengguna untuk memasukkan nama karakter mereka sendiri, nama hewan peliharaan, dll. yang spesifik untuk pengalaman dan tidak terikat dengan nama displayakun mereka. Anda dapat mengumpulkan input ini di sisi klien melalui entri nama TextBox.

Setelah input diSubmit, Anda dapat menyimpannya ke server melalui acara remote dan kemudian, di sisi server, dengarkan acara remote dan asign nama yang disaring ke karakter pengguna Class.Humanoid .

Skrip Lokal - Acara Remote Kebakaran

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")
changeNameEvent:FireServer("Amory")
Skrip - Assign Nama Ter필tern

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- Buat acara remote untuk menerima teks dari klien untuk disaring
local changeNameEvent = Instance.new("RemoteEvent")
changeNameEvent.Name = "ChangeNameEvent"
changeNameEvent.Parent = ReplicatedStorage
local function onRequestNameChange(player, newName)
local character = player.Character
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local filterResult
local success, errorMessage = pcall(function()
filterResult = TextService:FilterStringAsync(newName, player.UserId)
end)
if success then
local filteredName
local success, errorMessage = pcall(function()
filteredName = filterResult:GetNonChatStringForBroadcastAsync()
end)
if success and humanoid then
humanoid.DisplayName = filteredName
end
end
end
changeNameEvent.OnServerEvent:Connect(onRequestNameChange)