Çoğu oyun, oyuncuların kendi Roblox avatarlarını kullanmalarına izin verir, ancak bazıları UGC Homestore şablonu gibi oyun içi özelleştirme sistemleri uygular. Diğer oyunlar, oyuncu avatarlarına kask, kanat veya türle uyumlu aksesuarlar gibi sınırlı değişiklikler yapar.
Kullanıcılarınızın görünümünü değiştiren benzersiz bir oyun oluşturmak için, varsayılan karakter özelliklerini avatar ayarları veya elle görünümü değiştirme yoluyla özelleştirebilirsiniz.
Küresel avatar ayarları
Studio'nun Dosya ⟩ Avatar Ayarları, oyununuzda birkaç küresel oyuncu karakteri özelliğini hızlı bir şekilde ayarlamanıza olanak tanır. Bu ayarlar, oyununuza katılan tüm oyuncu karakter modellerine küresel olarak uygulanır. Belirli karakterleri, örneğin oyuncu olmayan karakter modellerini değiştirmek için elle görünümü değiştirme bölümüne bakın.
Bu pencerede, giysi, aksesuar, vücut parçaları, çarpışma davranışı, animasyonlar ve daha fazlası için çeşitli ön ayarlar belirleyebilirsiniz. Bu ayarları düzenlerken, uygulanan ayarların bir önizlemesi çalışma alanında görüntülenir.
Daha fazla bilgi için Avatar Ayarları sayfasına bakın.
Elle görünümü değiştirme
Karakter modelleri, modele yürüme, zıplama, eşyaları takma ve çevreyle etkileşim gibi özel özellikler veren bir Humanoid nesnesi içerir.
Bir Humanoid'u programlı olarak HumanoidDescription'ı güncelleyerek değiştirebilirsiniz. Bu, oyununuzdaki oyuncu karakter modellerini veya oyuncu olmayan karakter modellerini içerir.
Oyununuzda HumanoidDescription kullanarak aşağıdaki karakter özelliklerini ayarlayabilirsiniz:
| Karakter özelliği | Açıklama |
|---|---|
| Ölçek | Fiziksel özellikler için sayı değerleri height, width, head, body type ve proportion. Bu, R6 vücut tiplerini etkilemez. |
| Aksesuarlar | Bir karakter tarafından takılan accessories varlık kimlikleri. |
| Klasik Giysi | Karaktere uygulayabileceğiniz Shirt, Pants ve ShirtGraphic resim dokularının varlık kimlikleri. |
| Vücut Parçası | Bir karakterin Face, Head, Torso, RightArm, LeftArm, RightLeg ve LeftLeg parçalarının varlık kimlikleri. |
| Vücut Renkleri | Karakterin bireysel parçalarının BodyColors'ı. |
| Animasyonlar | Bir karakterde kullanabileceğiniz Animations varlık kimlikleri. |
HumanoidDescription ile bir karakteri özelleştirmek için aşağıdaki adımları izleyin:
- Kullanıcının karakterinden, belirli bir Kıyafet ID'sinden veya belirli bir Kullanıcı ID'sinden bir tanım oluşturun.
- Humanoid karakterine uygulamak istediğiniz özellikleri özelleştirmek için tanımı değiştirin.
- Tanımı, tek bir karakterde, tüm oyuncu karakterlerinde veya tüm doğan karakterlerde uygulayın.
HumanoidDescription Oluşturma
Yeni bir HumanoidDescription örneğini doğrudan Explorer hiyerarşisinde veya aşağıdaki kod ile bir Script içinde oluşturabilirsiniz:
local humanoidDescription = Instance.new("HumanoidDescription")Çoğu durumda, mevcut bir oyuncu karakterine, avatar kıyafetine veya kullanıcı ID'sine atıfta bulunarak varsayılan yeni bir HumanoidDescription yerine mevcut bir HumanoidDescription kullanmalısınız.
Oyuncu karakterinden
Oyuncu karakterinin mevcut özelliklerine dayalı olarak yeni bir HumanoidDescription oluşturmak için aşağıdaki kod örneğini kullanın:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
local humanoidDescription = Instance.new("HumanoidDescription")
if humanoid then
humanoidDescription = humanoid:GetAppliedDescription()
endMevcut bir kıyafetten
Aşağıdaki örnek kodu kullanarak bir kıyafet ID'sinden HumanoidDescription oluşturun; Players.GetHumanoidDescriptionFromOutfitID:
local Players = game:GetService("Players")
local outfitId = 480059254
local humanoidDescriptionFromOutfit = Players:GetHumanoidDescriptionFromOutfitId(outfitId)Belirli bir kullanıcıdan
Aşağıdaki örnek kodu kullanarak bir kullanıcı ID'sinden HumanoidDescription oluşturun; Players:GetHumanoidDescriptionFromUserId():
local Players = game:GetService("Players")
local userId = 491243243
local humanoidDescriptionFromUser = Players:GetHumanoidDescriptionFromUserId(userId)HumanoidDescription'ı Değiştirme
HumanoidDescription özelliklerini özelleştirmek için, bunları doğrudan HumanoidDescription üzerinde ayarlayın veya HumanoidDescription'ı bir karaktere uygulamadan önce belirli bir yöntem kullanın.
Aşağıdaki kod örneği, farklı türde HumanoidDescription özelliklerini ayarlama örnekleri sunar:
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)Birden fazla aksesuar ayarlama
Katmanlı veya toplu aksesuar değişiklikleri için, aksesuarla ilgili güncellemeler yapmak üzere HumanoidDescription:SetAccessories() kullanabilirsiniz. Aşağıdaki kod örneği, bir HumanoidDescription'a katmanlı bir kazak ve ceket ekler:
local humanoidDescription = Instance.new("HumanoidDescription")
local accessoryTable = {
{
Order = 1,
AssetId = 6984769289,
AccessoryType = Enum.AccessoryType.Sweater
},
{
Order = 2,
AssetId = 6984767443,
AccessoryType = Enum.AccessoryType.Jacket
}
}
humanoidDescription:SetAccessories(accessoryTable, false)HumanoidDescription'ı Uygulama
HumanoidDescription'ı oyununuzdaki belirli Humanoid karakterlerine Humanoid:ApplyDescription() veya Humanoid.LoadCharacterWithHumanoidDescription ile uygulayın.
Tek bir karakterde
ApplyDescription() herhangi bir Humanoid'ı hedef alabilir. Aşağıdaki kodu kullanarak oyuncu karakterine yeni bir güneş gözlüğü ve yeni bir gövde ekleyin:
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
local descriptionClone = humanoid:GetAppliedDescription()
descriptionClone.Torso = 86500008
-- Birden fazla yüz aksesuarı varlıkları, virgülle ayrılmış bir dizede izin verilir
descriptionClone.FaceAccessory = descriptionClone.FaceAccessory .. ",2535420239"
-- Değiştirilen "descriptionClone"ı humanoid'e uygula
humanoid:ApplyDescription(descriptionClone)
endTüm oyuncu karakterlerinde
Aşağıdaki örnek kodu kullanarak oyundaki tüm mevcut oyunculara HumanoidDescription uygulayın:
local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
local humanoid = player.Character and player.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
-- Bir HumanoidDescription oluştur
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)
humanoid:ApplyDescription(humanoidDescription)
end
endTüm doğan karakterlerde
Aşağıdaki örnek kodu kullanarak tüm doğan oyuncu karakterleri için belirli bir HumanoidDescription ayarlayın:
local Players = game:GetService("Players")
-- Otomatik doğmayı durdurun, böylece "PlayerAdded" geri çağrısında yapılabilir
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- Bir HumanoidDescription oluştur
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "2551510151,2535600138"
humanoidDescription.BodyTypeScale = 0.1
humanoidDescription.ClimbAnimation = 619521311
humanoidDescription.Face = 86487700
humanoidDescription.GraphicTShirt = 1711661
humanoidDescription.HeadColor = Color3.new(0, 1, 0)
-- HumanoidDescription ile karakteri doğur
player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
-- "PlayerAdded" olayını "onPlayerAdded()" fonksiyonuna bağlayın
Players.PlayerAdded:Connect(onPlayerAdded)Eğer HumanoidDescription örneği Explorer içinde oluşturulmuş ve çalışma alanına eklenmişse, aşağıdaki örnek kodu bir Script içinde çalışma alanı örneğine erişmek için kullanın:
local Players = game:GetService("Players")
-- Otomatik doğmayı durdurun, böylece "PlayerAdded" geri çağrısında yapılabilir
Players.CharacterAutoLoads = false
local function onPlayerAdded(player)
-- "workspace.StudioHumanoidDescription" ile karakteri doğur
player:LoadCharacterWithHumanoidDescription(workspace.StudioHumanoidDescription)
end
-- "PlayerAdded" olayını "onPlayerAdded()" fonksiyonuna bağlayın
Players.PlayerAdded:Connect(onPlayerAdded)Katmanlı aksesuarlar R15 olmayanlarda
Kafesli aksesuarlar, katmanlı aksesuarlar gibi, WrapTarget ve WrapLayer kullanarak bir hedef Model üzerinde gerilir ve sarılır. Katmanlı aksesuarlar, hem standart R15 Roblox karakterleri hem de R15 olmayan modellerle çalışabilir.
Katmanlı aksesuarların özel uygulanması, benzersiz bir kafes UV haritası kullanan bir model gibi, Yetenek Pazarına yüklenip yayımlanamaz. Daha fazla bilgi için Katmanlı aksesuar spesifikasyonları sayfasına bakın.
İster bir avatar R15 riginde katmanlı aksesuarlar uyguluyor olun, ister özel bir rig kullanıyor olun, aksesuarlarınızın ve gövdelerinizin aşağıdakileri içerdiğinden emin olun:
- Hedef model, genellikle vücut, eklenmiş modellerin sarılması amaçlanan WrapTarget bileşenine sahip olmalıdır.
- Katmanlama modeli, genellikle giysi veya aksesuar, hedef modeli sarmak için tasarlanmış WrapLayer bileşenine sahip olmalıdır.
- Hedef modelin dış kafesi ve katmanlama modelinin iç ve dış kafesi eşleşen UV haritalarına sahip olmalıdır.
- Hedef kafes üzerindeki karşılık gelen köşeler, katman kafesindeki o köşelerle aynı UV'lere sahip olmalıdır.
- Hedef modeliniz hem R15 hem de Humanoid içeriyorsa, bu kaynak otomatik olarak oluşturulur.