Humanoid örneği, hem kullanıcı avatarları hem de NPC'ler için karakter modelleri oluşturmak için kullanılır. Model içinde Baş adında bir parça bulunduğunda, bu parçanın üzerinde Roblox bir isim ve/veya sağlık çubuğu görüntüler.

Çeşitli Humanoid özellikleri aracılığıyla, aşağıdakileri değiştirebilirsiniz:
- Kullanıcıların, kendi karakterlerinin humanoidine yönelik diğer humanoidlerin isim/sağlıklarını görebileceği mesafeyi.
- Bir humanoid üzerinde görüntülenen görüntü adı.
- Bir humanoidin sağlık çubuğunun her zaman görünüp görünmeyeceğini, asla görünmeyeceğini veya sadece humanoid hasar aldığında görünüp görünmeyeceğini.
- İsimlerin ve sağlık çubuklarının, kamera ile diğer bir humanoid arasında doğrudan görüş engellenmişken gizlenip gizlenmeyeceğini.
Gösterim özellikleri
Gösterim mesafe türü
Humanoid.DisplayDistanceType özelliği, kullanıcıların kendi karakterleri ile olan ilişkileri doğrultusunda diğer karakterlerin isim/sağlıklarını nasıl göreceğini ayarlar.
Görüntüleyici
Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.Viewer olarak ayarlandığında, o humanoid diğer humanoidlerin isim/sağlıklarını, kendi NameDisplayDistance ve HealthDisplayDistance değerlerine göre görür. Bu durumu diğer humanoidlerin özne veya hiçbiri olarak ayarlandığı durumlarda dikkate alınmadığı için en düşük öncelikli olarak düşünebilirsiniz.
Aşağıdaki senaryoda, kullanıcının karakteri (Görüntüleyici) daha büyük bir NameDisplayDistance değerine sahiptir, bu da HealthDisplayDistance değerine göre daha büyüktür ve bu, dairelerle gösterilmiştir. Sonuç olarak, kullanıcı hem Watchman hem de Octavia için karakter isimlerini görür, ancak sadece Watchman için sağlık çubuğunu görür.

Özne
Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.Subject olarak ayarlandığında, kendi isim ve sağlık gösterimlerinin kontrolünü tam olarak sağlar; bu değerler NameDisplayDistance ve HealthDisplayDistance olarak sıralanır. Diğer humanoidler sadece öznenin ismini/sağlığını, özne humanoide olan o mesafelerde görür.
Aşağıdaki senaryoda, hem Watchman hem de Octavia Özne olarak ayarlandı ve onların NameDisplayDistance aralıkları dairelerle gösterilmiştir. Kullanıcının karakteri, yalnızca Octavia'nın aralığı içinde durmakta olup Watchman humanoidinin aralığı dışında olduğundan, yalnızca isim Octavia görünmektedir.

Hiçbiri
Bir humanoidin DisplayDistanceType değeri HumanoidDisplayDistanceType.None olarak ayarlandığında, ismi ve sağlık çubuğu hiçbir koşul altında görünmez. Aşağıdaki senaryoda, hem Watchman hem de Octavia Hiçbiri olarak ayarlandığı için, diğer karakter isimlerini veya sağlıklarını göremez, hatta mesafede bulunsalar bile.

Sağlık gösterim türü
Humanoid.HealthDisplayType özelliği, karakterin sağlık çubuğunun görünürlüğünü daha fazla kontrol etmenizi sağlar. Çubuk, humanoidin Health değerini, MaxHealth değerine göre gösterir ve humanoidin sağlığı azaldıkça yeşilden sarıya ve sonra kırmızıya döner.
Her Zaman Açık
Bir humanoidin HealthDisplayType değeri HumanoidHealthDisplayType.AlwaysOn olarak ayarlandığında, sağlık çubuğu her zaman görünür.

Zarar Görünce Görüntüle
HealthDisplayType değeri HumanoidHealthDisplayType.DisplayWhenDamaged olarak ayarlandığında, yalnızca sağlık değeri Health değeri MaxHealth değerinden daha az olduğunda sağlık çubuğunu gösterir. Aşağıdaki senaryoda, Watchman tam sağlık durumundadır ve sağlık çubuğunu görüntülemez, ancak Octavia %50 hasar görmüş olup sarı bir sağlık çubuğu görüntüler.

Her Zaman Kapalı
Bir humanoidin HealthDisplayType değeri HumanoidHealthDisplayType.AlwaysOff olarak ayarlandığında, sağlık çubuğu hiçbir koşul altında görünmez.

Gizleme
Humanoid isimlerinin duvarların veya diğer nesnelerin arkasında gizlenmesi, karakterin Humanoid.NameOcclusion özelliği tarafından kontrol edilir.
Gizleme Yok
Bir humanoid, görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.NoOcclusion olarak ayarlandığında, ismi ve sağlıkları diğer humanoidlerden asla gizlenmez.
Aşağıdaki senaryoda, hem Watchman hem de Octavia Gizleme Yok olarak ayarlandı. Her ikisi de taş direklerin arkasında yeterince gizlenmiş olsalar da, görüntüleyen humanoid hala isim/sağlık gösterimlerini görmektedir.

Her Şeyi Gizle
Bir humanoid, görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.OccludeAll olarak ayarlandığında, ismi ve sağlıkları, görüntüleyen humanoidlerden her zaman gizlenir.
Aşağıdaki senaryoda, hem Watchman hem de Octavia taş direklerin arkasında yeterince gizli. Watchman Her Şeyi Gizle olarak ayarlandığı için ismi ve sağlık görüntüleyen humanoidden gizlenmektedir. Ancak Octavia, Gizleme Yok olarak ayarlandığı için ismi/sağlığı görüntüleyen humanoide görünür kalmaktadır.

Düşman Gizleme
Bir humanoid görünür bir nesnenin arkasında gizlendiğinde ve NameOcclusion değeri NameOcclusion.EnemyOcclusion olarak ayarlandığında, ismi ve sağlıkları yalnızca düşman humanoidlerden (farklı bir Team üzerindeki oyuncular) gizlenir.
Aşağıdaki senaryoda, hem Watchman hem de Octavia taş direklerin arkasında yeterince gizlenmiş olup, her ikisi de Düşman Gizleme olarak ayarlandı. Görüntüleyen humanoid ve Watchman aynı Team üzerinde olduğundan, isim/sağlık gizlenmesi gerçekleşmez. Ancak, karşı takımda bulunan Octavia'nın ismi ve sağlığı gizlenmektedir.

Karakter gösterimlerini değiştirme
Kullanıcı avatarları
Bir oyundaki her gelen avatarın adını veya sağlık gösterimini değiştirmek için, bir Script içinde Players.PlayerAdded ve Player.CharacterAdded olaylarını bağlayın ve karakterin Humanoid üzerinde gösterim özelliklerini ayarlayın.
Script - 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 humanoide isim/sağlık gösterim mesafesi üzerinde tam kontrol ver
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Subject
-- İsim gösterim mesafesini 20 stud olarak ayarla
humanoid.NameDisplayDistance = 20
-- Sağlık çubuğu gösterim mesafesini 15 stud olarak ayarla
humanoid.HealthDisplayDistance = 15
-- Sadece humanoid hasar aldığında sağlık çubuğunu göster
humanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.DisplayWhenDamaged
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Ayrıca bir oyuncunun Team değerine göre özellikleri özelleştirebilirsiniz, örneğin tüm "koruma" oyuncularına genel bir isim atamak ve tüm "ninja" oyuncularının isimlerini gizlemek.
Script - Takım Özelleştirme
local Players = game:GetService("Players")
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function(character)
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Tüm koruyucuların ismini genel "Koruyucu" olarak ayarla
if player.Team.Name == "Guards" then
humanoid.DisplayName = "Guard"
-- Tüm ninjaların ismini gizle
elseif player.Team.Name == "Ninjas" then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
end
end)
end
Players.PlayerAdded:Connect(onPlayerAdded)
NPC karakterler
3D dünyada zaten yerleştirilmiş NPC karakterleri için, isim/sağlığı doğrudan Humanoid nesnesinde Özellikler penceresinde düzenleyebilirsiniz.


Görüntü isimlerini geçersiz kılma
Varsayılan olarak, bir humanoidin görüntü ismi kullanıcının Roblox hesabının Görüntü Adı ile eşleşmektedir; bu isim eşsiz ve hesabın Kullanıcı Adı kısmından ayrıdır. Kullanıcının hesabıyla ilgisi olmayan tamamen özel bir ismi göstermek için, Humanoid.DisplayName özelliğini geçersiz kılabilirsiniz.
Doğrudan ayarlama
Herhangi bir Humanoid örneğinin DisplayName özelliğini, bir Script aracılığıyla erişim sağladığınızda, örneğin takım özelleştirme örneğinde olduğu gibi ya da doğrudan bir NPC karakterinin Humanoid nesnesinde ayarlayabilirsiniz.
Kullanıcı girişi aracılığıyla ayarlama
Rol yapma veya dövüş gibi bazı türlerde, kullanıcıların deneyime özel kendi karakter adı, evcil hayvan karakter adı vb. girmelerine olanak sağlamak isteyebilirsiniz. Bu girdi, bir TextBox adı girişi aracılığıyla istemci tarafında toplanabilir.

Girdi gönderildiğinde, bunu bir uzaktan olay aracılığıyla sunucuya iletebilir ve ardından sunucu tarafında bu uzaktan olayı dinleyip, filtrelenmiş ismi kullanıcı karakterinin Humanoid'ine atayabilirsiniz.
LocalScript - Uzaktan Olay Ateşlelocal ReplicatedStorage = game:GetService("ReplicatedStorage")local changeNameEvent = ReplicatedStorage:WaitForChild("ChangeNameEvent")changeNameEvent:FireServer("Amory")
Script - Filtrelenmiş İsim Atama
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextService = game:GetService("TextService")
-- İstemciden alınan metni filtrelemek için uzaktan 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)