NPC kiti

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

NPC'ler (oyuncu olmayan karakterler) bir deneyime derinlik katabilir. Aşağıdaki tüm NPC'ler görsel olarak özelleştirilebilir, davranışları değiştirilmiş ve zombiler/askerler, davranışı ayarlamak için bir etiket sistemi kullanarak oyunculara veya diğer karakterlere saldırarak bir alanı koruyabilir.

Oyununuzda bir NPC kullanmak için:

  1. Aşağıdaki NPC kitlerinden birini seçin:

    Salya Akan Zombi
    Askerler
    RO-01 Robotlar
    NP-C 9000 Robotlar
  2. NPC'nin öğe sayfasında, yeşil Al butonuna tıklayın ve işlemi onaylayın.

  3. Studio'da Araç Kutusunu açın.

  4. Araç kutunuzun Envanter bölümünü seçin.

  5. NPC'yi bulun ve yeri eklemek için üzerine tıklayın.

Karakter yapısı

Her NPC modeli tipik olarak aşağıdaki nesneleri içerir:

Nesne adı veya [Tip]TipAçıklama
AnimasyonlarFolderAnimasyonlar içerir; örneğin bir SaldırıAnimasyonu veya ÖlümAnimasyonu.
İlk PozlarFolderPoz bilgilerini içerir.
AnimateScriptKarakter iskeletinde animasyonları yükler ve oynatır. Daha fazla ayrıntı için Animate bölümüne bakın.
[Aksesuar]AccessoryŞapkalar, silahlar vb. gibi NPC için olası birden fazla Aksesuardan biri.
SağlıkScriptGenellikle Humanoid sağlığını zamanla yeniler. Bunu devre dışı bırakmak, karakterin sağlık yenilemesini engeller.
HumanoidHumanoidHumanoid ile ilgili özellikleri yönetir, örneğin Humanoid.Health, Humanoid.WalkSpeed, Humanoid.DisplayDistanceType vb.
NPCScript

Göç etme, saldırma gibi karaktere özel davranışları tanımlar. Aşağıdaki nesneleri içerir:

Maid (ModuleScript), kullanılan kaynakları serbest bırakmada yararlı bir sınıf tanımlar.

Ragdoll (ModuleScript), bir karakteri gevşek fizik etkisi olan bir bedene dönüştüren bir işlev tanımlar (birçok yardımcı işlev tanımlayan bir RigTypes ModuleScript içerir).

RbxNpcSoundsScriptKoşma, ölme gibi karakter ses efektleri ile ilgili davranışları tanımlar ve yönetir.
BodyPartsBasePartMotor6D veya kısıtlama nesneleri aracılığıyla HumanoidRootPart'a veya yanındaki beden parçalarına bağlı çeşitli karakter beden parçaları. Daha fazla ayrıntı için BodyParts bölümüne bakın.
HumanoidRootPartBasePartİskeletin kökü olarak kabul edilen özel görünmez bir parçadır; bu yapı, karakterin Model'inin PrimaryPart'ıdır.
ConfigurationConfigurationÇeşitli davranışları ayarlayan değer nesnelerini içerir. Daha fazla detay için Configuration bölümüne bakın.

Tasarım Notları

NPC kitini kullanırken aşağıdaki tasarım notlarını aklınızda bulundurun:

  • Bir NPC'nin görsel görünümü, çeşitli [BodyParts] nesnelerini ekleyerek/değiştirerek ve Accessory nesneleri ekleyerek özelleştirilebilir.

  • Askerler, Salya Akan Zombi ve NP-C 9000 Robotlar iskeletlerinin temeli olarak Rthro kullanmaktadır. Ancak, RO-01 Robotlar, Üst Gövde'ye WeldConstraints kullanarak bağlanan itici parçalar ekleyen modifiye edilmiş bir Rthro tabanını kullanmaktadır. Bu şekilde basit eklemleri kullanmak, karakterleriniz için ekstra geometriler dahil etmenizi sağlar, bu da orijinal temel iskeleti değiştirmeden mümkündür.

  • Temel bir düzeyde, NPC animasyonları, Animate script pozisyonları içindeki mevcut Animasyon nesnelerinin AnimationId'sini değiştirerek veya Animasyonlar klasöründekileri değiştirerek özelleştirilebilir. Bu tür bir değişim esasen bir varlık takasıdır – daha ince ayrıntıları değiştirmek için mevcut animasyonların özel kopyalarını oluşturabilirsiniz ve farklı koşullar altında animasyonları oynatmak için Animate veya NPC scriptlerini doğrudan düzenleyebilirsiniz. Daha fazla bilgi için Animasyon bölümüne bakın.

Animate

NPC Model'indeki Animate Script, animasyon ile ilgili konfigürasyonları yönetir ve aşağıdaki nesneleri içerir:

Nesne adı veya [Tip]TipAçıklama
ScaleDampeningPercentNumberValueKarakter ölçeklendiğinde animasyon hızlarının nasıl değiştirileceğini tanımlar (1'den küçük bir değer, animasyonun oynatım hızının ters orantılı olarak değişeceğini belirtir).
PlayEmoteBindableFunctionBir poz almayı zorlamak amacıyla diğer scriptler tarafından çağrılabilir.
[Pose]StringValueBoşta, zıplama, yürüme vb. gibi oynanabilir animasyon kategorisine referans. Bu nesne, herhangi bir sayıda Animasyonı içerebilir.

Bu Animasyonlar, poz alındığında çalınacak birden fazla animasyon arasından önceliklendiren bir Ağırlık (NumberValue) içerir; genellikle boşta ve dans pozlarına çeşitlilik eklemek için kullanılır.

BodyParts

NPC Model'indeki BodyPart BasePart, çeşitli karakter beden parçalarını temsil eder ve aşağıdaki nesneleri içerir:

Nesne adı veya [Tip]TipAçıklama
AvatarPartScaleTypeStringValueBölümün nasıl ölçekleneceğini belirler; değerler Klasik, OranlarNormal veya Oranlarİnce olabilir.
OriginalSizeVector3ValueKarakter ölçeği 1 iken bölümün boyutunu belirler.
[Attachment]AttachmentBireysel parçaya göre bir noktayı tanımlar; scriptler, efektler ve Tool veya Accessory gibi nesneler konumlandırma sırasında bu noktayı kullanabilir.
[Motor6D]Motor6Dİki beden parçası arasındaki animasyonlu eklem. Animator, bir animasyon oluşturulduğunda kullanılan Motor6D'lerin adının tutarlı olmasına bağlıdır, bu nedenle bu nesnenin adını değiştirmekten kaçının.
[Joint]WeldConstraint, Constraint, JointInstanceİki beden parçası arasındaki animasyonsuz eklem.
[Sound]SoundGenellikle baş veya HumanoidRootPart içinde bulunur; RbxNpcSounds scripti tarafından kontrol edilen rig içindeki sesleri çalar.

Configuration

Her NPC, değer nesnelerinin bir konteyneri olarak işlev gören bir Configuration nesnesini içinde barındırır. Bu nesneler, NPC scripti tarafından çeşitli davranışları ayarlamak için kullanılır. Aksi belirtilmedikçe, bu ayarlar tüm karakterler için geçerlidir.

Nesne adı veya [Tip]TipAçıklama
DestroyOnDeathBoolValueBir NPC öldükten kısa bir süre sonra tamamen yok olmasını sağlar. Ragdoll'lar için kalıcı olmalarını sağlamak adına bunu devre dışı bırakın.
PatrolEnabledBoolValueNPC'nin başlangıç konumu etrafında dolaşmasını sağlar.
PatrolRadiusNumberValueNPC'nin başlangıç konumundan ne kadar uzağa gidebileceğini tanımlar; PatrolEnabled doğruysa geçerlidir.
RagdollEnabledBoolValueNPC'nin öldüğünde gevşek hale gelmesini sağlar, parçalanmak yerine.
AttackDamageNumberValueNPC tarafından saldırıya uğrayan bir kurbanın kaybettiği sağlık miktarını tanımlar. Bu yalnızca Zombi ve Asker kitleri için geçerlidir.
AttackDelayNumberValueAteşler arasında geçmesi gereken minimum saniye sayısını tanımlar. Bu yalnızca Asker kitleri için geçerlidir.
AttackModeNumberValueAskerin, etiketleme sistemi temelinde neye saldıracağını belirtir. Bu yalnızca Asker kitleri için geçerlidir.
AttackRadiusNumberValueNPC'nin potansiyel bir kurbana saldırmaya çalışmadan önce ne kadar uzağa gitmesi gerektiğini tanımlar. Bu yalnızca Zombi ve Asker kitleri için geçerlidir.
ClipCapacityNumberValueAskerin yeniden yükleme yapmadan önce ateş edebileceği mermi sayısını tanımlar. Bu yalnızca Asker kitleri için geçerlidir.
ReloadDelayNumberValueAskerin silah kesesinin yeniden yüklemesi için geçmesi gereken saniye sayısını tanımlar. Bu yalnızca Asker kitleri için geçerlidir.

Etiketleri Atama

NPC scripti, diğer karakterler ve oyunculara karşı agresyonu yönetmek için CollectionService etiketlerini kullanır. Aşağıdaki tablodan çeşitli etiketler atanabilir:

  • Başka bir NPC'ye etiket atamak için etiketleri NPC'nin üst düzey Model'ine Etiketler bölümündeki özelliklerini kullanarak atayın.

  • Bir Player karakterine etiket atamak için StarterCharacterScripts içine bir Script ekleyebilir ve CollectionService:AddTag() çağrısı yapabilirsiniz. Örneğin:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
EtiketAmaç
SoldierEnemy veya SoldierFriendBir askerin, AttackMode yapılandırma değerine dayanarak bir diğer karaktere saldırıp saldırmamayı belirler. Askerin AttackMode 1 olarak ayarlandığında, diğer karakterlerin SoldierEnemy ile etiketlenmiş olması gerekir ki saldırılabilir kabul edilsin. Askerin AttackMode 2 olduğunda, SoldierFriend etiketi olmayan tüm nesneler saldırılabilir olarak kabul edilir. Askerin AttackMode 3 olduğunda, bu etiketler tamamen göz ardı edilir ve asker tüm karakterlere saldırır.
ZombieFriendBu etiket, zombinin bir karaktere saldırmaması gerektiğini belirlemesi için kullanılır. Uygulandığında, zombi etiketli karaktere karşı uysal hale gelir.
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.