NPC Kit

*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. Tüm bu NPC'ler görsel olarak özelleştirilebilir, onların davranış değiştirilmiş ve zombiler/soldatlar bile bir alanı ele geçirerek oyuncuları veya diğer karakterleri saldırılarak davranışı ayarlayabilirler.

oyunbir NPC'yi kullanmak için:

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

    Solan Zombie
    Askerler
    RO-01 Robotları
    NP-C 9000 Robotları
  2. NPC'nin öğe sayfasında, yeşil Get düğmesine tıklayın ve işlemi onaylayın.

  3. In Roblox Studio, açık Arayan Kutusu ( GörüntüArayan Kutusu ).

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

  5. NPC'yi bulun ve yerine eklemek için tıkla.

Karakter Yapısı

Her NPC modeli genellikle şu objeleri içerir:

Nesne Adı veya [Type]TürAçıklama
AnimasyonFolderBir Animations veya AttackAnimation gibi içerir.
Başlangıç ​​PozlarıFolderOyun içi poz bilgileri içerir.
Animasyon Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi Etkinleştirmeyi EtkinleştirmeyiScriptKarakterin kafatasında animasyonlar yüklenir ve oynanır. Ayrıntılar için Animate bakın.
[Aksesuar]AccessoryNPC'lerin şapkaları, silahları vb. gibi olası birden fazla Accessories için biridir.
SağlıkScriptGenellikle sağlığı Humanoid süresiyle yeniden oluşturur. Bu, karakterin sağlığını yeniden oluşturmasını önler.
İnsanoidHumanoidClass.Humanoid ile ilgili özellikleri yönetir, örneğin Humanoid.Health, Humanoid.WalkSpeed, 1> Class.Humanoid.DisplayDistanceType1> gibi.
NPCScript

Karakter özellikleriyle ilgili davranışları tanımlar, takip, saldırma vb. Ebeveynler aşağıdaki eşyaları vardır:

Araziyı serbest bırakma v

RbxNpcSeslerScriptKarakter ses efektleriyle ilgili karakterin sesi gibi davranışları tanımlar ve yönetir.
VücutParçalarıBasePartHumanoidRootPart veya komşu bölümleri aracılığıyla Motor6D veya kısıtlayıcı nesneler aracılığıyla çeşitli karakter vücut parçaları eklenmiştir. Ayrıntılar için BodyParts bakınız.
İnsanoidRootParçasıBasePartRig'in kök olarak kabul edilen özel bir görünmez parça; bu ayrıca karakterin PrimaryPart 'inin Model .
YapılandırmaConfigurationÇeşitli davranışları ayarlayan değer objeleri içerir. Ayrıntılar için Yapılandırma bakın.

Tasarım Notları

NPC kit'ini kullanırken şu tasarım notlarını göz önünde bulundurun:

  • NPC'nin görünümü, çeşitli [BodyPart] nesneleri ekleyerek/modif ederek ve Accessory nesneleri ekleyerek özelleştirilebilir.

  • Askerler, Drooling Zombie ve NP-C 9000 Robotları Rthro'yu kendi başlarına kullanmak için kullanır. Ancak, RO-01 Robotları, Üst Torso kullanarak bağlayıcı parçalara bağlanan katıcı parçalar kullanır. Bu yolu kullanarak, karakterleriniz

  • Temel bir seviyede, NPC animasyonları mevcut Animasyon objelerinin içindeki AnimationId değiştirerek özelleştirilebilir. Bu bir değişiklik, aslında finer ayrıntılar

Animasyon

NPC'deki Animasyon Script iletişimleri, Model ile ilgili animasyon ile ilgili yapılandırmaları işleyin ve aşağıdaki nesneleri içerir:

Nesne Adı veya [Type]TürAçıklama
Ölçek Önleyici YüzdesiNumberValueKarakter ölçeği boyutlandırıldığında animasyon hızlarının nasıl değiştirileceğini tanımlar (1'den daha az, karakterin animasyon oynatma hızının ters şekilde artacağını gösterir).
Oyun içi ekrinizBindableFunctionBu, bir pozisyonun varsayımını zorlamak için diğer kodlar tarafından çağrılabilir.
[Pose]StringValueYürüyüş gibi oynanabilir bir animasyon kategorisine değiniş; bu boşta durma, Animations ile herhangi bir sayıda çocuk oluşturabilir. Bu nesne, Ağırlık (2> Class.NumberValue)

BedenParçaları

NPC'deki BodyPart BasePart temsil edilir bir dizi karakter vücut parçası ve aşağıdaki içerikleri içerir:

Nesne Adı veya [Type]TürAçıklama
AvatarParça ÖlçeğiStringValueParçanın boyutlandırılmasını belirler; değerler Klasik , OranlarNormali veya OranlarSlender olabilir.
OrijinalBoyutVector3ValueKarakter ölçeği 1 olduğunda parçanın boyutunu belirler.
[Eklentiler]AttachmentKonumlandırma sırasında kullanılabilen Tool veya Accessory gibi kodların, etkilerin ve nesnelerin yerine ilişkin bir nokta tanımlar.
[Motor6D]Motor6Dİki beden bölümünün animasyonlu birleşmesi. Not edin ki Animator bu animasyonun kaynağını oluşturan Motor6Ds ile aynı olmalıdır, bu yüzden bu nesneyi yeniden adlandırmayın.
[Ortak]WeldConstraint , Constraint , JointInstanceİki beden bölümleri arasında animasyonlu bir bileşik.
[Ses]SoundKafada veya HumanoidRootPart içinde sık sık bulunur; RbxNpcSounds kodunun kontrol ettiği gibi sesleri çalar.

Yapılandırma

Her NPC, değer nesnelerin bir kümesi olarak işleyen Configuration bir obje içerir. Bunlar, NPC kodunun bir kümesi olarak kullanılır. Aksi belirtilmediğinde, bunlar tüm karakterler için geçerlidir.

Nesne Adı veya [Type]TürAçıklama
Ölümünde Yok EtBoolValueNPC'nin ölümünden kısa bir süre sonra tüm NPC'yi yok etmeye neden olur. Ragdoll'ların persistik olmasını etkisiz hale getirin.
Patrol EtmeBoolValueNPC'nin başlangıç pozisyonunun etrafındaki bir alanda dolaşmasına neden olur.
Patrol BölgesiNumberValueBir NPC'nin başlangıç pozisyonundan gideceği maksimum mesafeyi tanımlar, PatrolEnabled doğruysa.
RagdollEtkinBoolValueNPC'nin ölmesi durumunda parçalanmayı yerine kırılma nedeniyle hafif kalmasına neden olur.
SaldırıHasarıNumberValueNPC tarafından saldırıya uğradığında kurbanın kaç sağlık kaybettiğini tanımlar. Bu, sadece Zombie ve Askeri kits için geçerlidir.
SaldırıGecikmeNumberValueAtışlar arasındaki minimum saniyeyi tanımlar. Bu, sadece Askeri kits için geçerlidir.
Saldırı ModuNumberValueAskerin saldıracağı şeyi belirtir, etiketleme sistemi üzerine dayanarak. Bu sadece Asker Kiti'ler için geçerlidir.
Saldırı RadiusuNumberValueNPC'nin saldırmaya çalışmadan önce potansiyel bir kurbanın uzaktan maksimum mesafesini tanımlar. Bu, sadece Zombie ve Askeri kits için geçerlidir.
KliptoplayıcıKapasitesiNumberValueMermi değiştirmeye gerekmeden önce askerin ne kadar mermi ateşleyebileceğini tanımlar. Bu, sadece Asker Kiti'ler için geçerlidir.
Yeniden YüklemeGecikmeNumberValueAsker'in silahının taktığı süreyi belirler. Bu, sadece Asker Kiti için geçerlidir.

Etiketleri Atama

NPC skripti taciz etmeyi yönetmek için CollectionService etiketlerini kullanır. İşaret edilen çeşitli etiketler aşağıdaki gibi atanabilir:

  • Başka bir NPC'ye etiket(ler) atamak için, onları özelliklerinin Model seçeneğinin en üst seviyesine kullanarak, Studio'nun Etiket Editoru kullanıcı aracılığıyla veriyor, veya Studio'nun Tag Editoru .

  • Bir etiketi bir Player karaktere atamak için, bir Script ile StarterCharacterScripts ile bir 2> Class.CollectionService:AddTag() çağışı ekleyebilirsiniz. Örneğin:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
EtiketAmaç
AskerDüşmanı veya AskerArkadaşı

Soldaten'in SaldırıModu yapılandırma değerine dayanarak bir askerin baş

ZombiArkadaşı Bu etiket zombinin bir karaktere saldırıp saldırı olmadığını belirlemesi için kullanılır. Uygulandığında zombi etikete uygun olarak davranır.