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:
Aşağıdaki NPC kutulardan birini seçin:
NPC'nin öğe sayfasında, yeşil Get düğmesine tıklayın ve işlemi onaylayın.
In Roblox Studio, açık Arayan Kutusu ( Görüntü → Arayan Kutusu ).
Alet kutunuzun Envanter bölümünü seçin.
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ür | Açıklama |
---|---|---|
Animasyon | Folder | Bir Animations veya AttackAnimation gibi içerir. |
Başlangıç Pozları | Folder | Oyun 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ştirmeyi | Script | Karakterin kafatasında animasyonlar yüklenir ve oynanır. Ayrıntılar için Animate bakın. |
[Aksesuar] | Accessory | NPC'lerin şapkaları, silahları vb. gibi olası birden fazla Accessories için biridir. |
Sağlık | Script | Genellikle sağlığı Humanoid süresiyle yeniden oluşturur. Bu, karakterin sağlığını yeniden oluşturmasını önler. |
İnsanoid | Humanoid | Class.Humanoid ile ilgili özellikleri yönetir, örneğin Humanoid.Health, Humanoid.WalkSpeed, 1> Class.Humanoid.DisplayDistanceType1> gibi. |
NPC | Script | Karakter özellikleriyle ilgili davranışları tanımlar, takip, saldırma vb. Ebeveynler aşağıdaki eşyaları vardır: Araziyı serbest bırakma v |
RbxNpcSesler | Script | Karakter ses efektleriyle ilgili karakterin sesi gibi davranışları tanımlar ve yönetir. |
VücutParçaları | BasePart | HumanoidRootPart 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ı | BasePart | Rig'in kök olarak kabul edilen özel bir görünmez parça; bu ayrıca karakterin PrimaryPart 'inin Model . |
Yapılandırma | Configuration | Ç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ür | Açıklama |
---|---|---|
Ölçek Önleyici Yüzdesi | NumberValue | Karakter ö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 ekriniz | BindableFunction | Bu, bir pozisyonun varsayımını zorlamak için diğer kodlar tarafından çağrılabilir. |
[Pose] | StringValue | Yü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ür | Açıklama |
---|---|---|
AvatarParça Ölçeği | StringValue | Parçanın boyutlandırılmasını belirler; değerler Klasik , OranlarNormali veya OranlarSlender olabilir. |
OrijinalBoyut | Vector3Value | Karakter ölçeği 1 olduğunda parçanın boyutunu belirler. |
[Eklentiler] | Attachment | Konumlandı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] | Sound | Kafada 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ür | Açıklama |
---|---|---|
Ölümünde Yok Et | BoolValue | NPC'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 Etme | BoolValue | NPC'nin başlangıç pozisyonunun etrafındaki bir alanda dolaşmasına neden olur. |
Patrol Bölgesi | NumberValue | Bir NPC'nin başlangıç pozisyonundan gideceği maksimum mesafeyi tanımlar, PatrolEnabled doğruysa. |
RagdollEtkin | BoolValue | NPC'nin ölmesi durumunda parçalanmayı yerine kırılma nedeniyle hafif kalmasına neden olur. |
SaldırıHasarı | NumberValue | NPC 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ıGecikme | NumberValue | Atışlar arasındaki minimum saniyeyi tanımlar. Bu, sadece Askeri kits için geçerlidir. |
Saldırı Modu | NumberValue | Askerin saldıracağı şeyi belirtir, etiketleme sistemi üzerine dayanarak. Bu sadece Asker Kiti'ler için geçerlidir. |
Saldırı Radiusu | NumberValue | NPC'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ıKapasitesi | NumberValue | Mermi 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üklemeGecikme | NumberValue | Asker'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 .
Etiket | Amaç |
---|---|
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. |