Class.Humanoid instansı, kullanıcı avatarları ve NPC'ler için karakter modelleri oluşturmak için kullanılır. Bir Humanoid içinde bir Model isimli bölüm varsa, Roblox, bu bölümün üzerinde bir isim ve/veya sağlık çubuğu görüntüler.
Çeşitli Humanoid özellikleri aracılığıyla takip edilendeğiştirebilirsiniz:
- Kullanıcıların kendi karakterlerinin insanoidi ile ilgili olarak diğer insanoidlerin isimlerini / sağlıklarını görebileceği mesafe.
- insanoid adını gösteren gösterim adı şu.
- Bir insanoid'in sağlık çubuğu her zaman görünür, hiç görünmez veya sadece hasar gördüğünde görünür.
- Kamera ve başka bir insanoid arasındaki hizalama şeridi kapatıldığında isimler ve sağlık çubukları kapalı (gizli) olup olmadığı.
Görünüm Özellikleri
Ekran mesafesi türü
The Humanoid.DisplayDistanceType özelliği, kullanıcıların kendi karakterleriyle ilgili olarak diğer karakterlerin isimlerini/sağlıklarını gördüğünü ayarlar.
Gösterici
Bir insanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.Viewer ve Class.H
Aşağıdaki senaryoda, kullanıcının karakteri ( Gösterici ) daha büyük bir NameDisplayDistance sahip olur, göstergelerin gösterdiği gibi. sonuçolarak, kullanıcı
Konu
Bir insanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.Subject ve Class.H
Aşağıdaki senaryoda, hem Watchman hem de OctaviaSubject ve onların 2> Class.Humanoid.NameDisplayDistance|NameDisplayDistance2> menzilleri kürelerle gösterilir. Sadece 5> Octavia5> ismi kullanıcının karakterinin men
Hiçbiri
Bir humanoid'in Class.Humanoid.DisplayDistanceType|DisplayDistanceType``Enum.HumanoidDisplayDistanceType|HumanoidDisplayDistanceType.None olarak ayarlandığında, ismi ve sağlık çubuğu herhangi bir durumda görünmez. Aşağıd
Sağlık Ekranı Türü
Class.Humanoid.HealthDisplayType özelliği, karakterin sağlık çubuğunun görünürlüğü üzerinde daha fazla kontrol sağlar. Bar, karakterin sağlık çubuğunun görünürlüğünü Health olarak faktör olarak değiştirir ve sağlık çubuğ
Her Zaman Açık
Bir insanoid'in Class.Humanoid.HealthDisplayType|HealthDisplayType``Enum.HumanoidHealthDisplayType|HumanoidHealthDisplayType.AlwaysOn olarak ayarlandığında, sağlık çubuğu her zaman görünür.
Hasarlandığında Göster
A humanoid with HealthDisplayType set to HumanoidHealthDisplayType.DisplayWhenDamaged only shows a health bar when
Her zaman kapalı
Bir insanoid'in Class.Humanoid.HealthDisplayType|HealthDisplayType``Enum.HumanoidHealthDisplayType|HumanoidHealthDisplayType.AlwaysOff olarak ayarlandığında, sağlık çubuğu herhangi bir durumda görünmez.
Kapaşma
Duvarlar veya diğer nesnelerin arkasındaki insanoid isimlerinin gizlenmesi, karakterin Humanoid.NameOcclusion özelliği tarafından kontrol edilir.
NoOcclusion
Bir insanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.NoOcclusion olarak ayarlandığında, onun ismi ve sağlığı insanoidleri görüntülerken asla insanoidlerin görüntülenemediğinden kaynaklanmaz.
Aşağıdaki senaryoda, hem Watchman hem de Octavia NoOcclusion olarak ayarlandı. Her ikisi de yeterince taş sütunların arkasında gizlenmiş olsa da, görüntülenen insanoid hala isimlerini/sağlıklarını görür.
Hepsini Gizle
Bir insanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.OccludeAll olarak ayarlandığında, ismi ve sağlığı insanoidleri görüntülerken hep insanoidlerin görüntüsünden kapatılır.
Aşağıdaki senaryoda, hem Watchman hem de Octavia taş sütunların arkasında yeterince gizlenmiştir. Watchman2> OccludeAll2> , bu yüzden ismi ve sağlığı görüntülenen insanoidden gizlenmiştir.
DüşmanOcклю
Bir humanoid, görünür bir nesnenin arkasında saklı olduğunda ve onun Class.Humanoid.NameOcclusion|NameOcclusion``Enum.NameOcclusion|NameOcclusion.EnemyOcclusion olarak ayarlandığında, onun ismi ve sağlığı sadece düşman humanoidlerinden (oyuncular bir farklı Class.Team
Aşağıdaki senaryoda, hem Watchman hem de Octavia taş sütunların arkasında yeterince gizlenmiştir ve ikisi de EnemyOcclusion içindir. Görüntü insanoid ve 1> Watchman1> , aynı 4> Class
Karakter Görüntülerini Değiştirme
Kullanıcı Avatarları
Bir deneyimdeki her gelen avatarın ismini veya sağlık göstergelerini değiştirmek için, Players.PlayerAdded ve Player.CharacterAdded etkinliklerini bir Script ve 2>Class.Humanoid2> içinde bağlayın ve karakterinizin 5>Class.Humanoid5> üzer
Kullanıcı - Küresel Özelleştirme
local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Her küreğin isim/sağlık gösterge mesafesinde tam kontrolü verin
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- İsim gösterim mesafasını 20 stud'a ayarla
humanoid.NameDisplayDistance = 20
-- Sağlık çubuğu gösterge mesafasını 15 mil olarak ayarla
humanoid.HealthDisplayDistance = 15
-- Sadece insanoid hasar gördüğünde sağlık çubuğunu göster
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Ayrıca, bir oyuncunun Team özelliklerini özelleştirebilirsiniz, örneğin tüm "gardiyan" oyuncuları genel bir isme ayarlayabilir ve tüm "ninja" oyuncularını gizleyebilirsiniz.
Kılavuz - Takım Özelleştirmesi
local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Tüm korumaların adını genel koruma olarak belirtin
if player.Team.Name == "Guards" then
humanoid.DisplayName = "Guard"
-- Tüm ninjalar için adı gizle
elseif player.Team.Name == "Ninjas" then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
NPC Karakterleri
Zaten 3D dünyasına yerleştirilen NPC karakterleri için, ismi/sağlığı doğrudan Humanoid nesneyine Properties pencereden düzenleyebilirsiniz.
Görüntü İsimlerini Geçersiz Kılma
Varsayılan olarak, bir humanoid'in görüntü adı, kullanıcının Roblox hesabını Görüntü Adı ile eşleştirir, bu da kullanıcının hesabından ayrı ve benzersizdir. Kullanıcı Adı . Kullanıcının hesapilişkin olmayan bir ismi göstermek için, Class
Doğrudan Ayarlama
Eğer bir DisplayName öğesi üzerinde referans aldığınız herhangi bir Humanoid instansının özelliğini ayarlayabilirsiniz, bunun gibi bir Script örneği veya doğrudan bir 1>NPC
Kullanıcının Girişiyle Ayarlanıyor
Rol yapma veya dövüşgibi bazı yerlerde, kullanıcıların kendi karakter adını, evcil hayvan karakter adını,v.b. girmesine izin vermek isteyebilirsiniz. Bu, deneyimin ve hesabınızın görünen adbağlantısı değil. Bu, TextBox isim girdişi aracılığıyla toplanabilir.
Giriş gönderildiğinde, bir uzaktan etkinlik aracılığıyla sunucuya gönderilebilir ve ardından, sunucu tarafından dinlenebilir ve kullanıcı karakterinin Class.Humanoid adına atanabilir.
Yerel Kod - Uzaktan Etkinlik
local ReplicatedStorage = game:GetService("ReplicatedStorage")local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")changeNameEvent:FireServer("Amory")
Kript - Sansürlenmiş Adı Atama
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- Filtre için müşteriden metin almak için uzaktaki olay oluştur
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)