JavaScript kullanarak 3DEXCITE insan hareketi nasıl kontrol edilir

13 Şubat 2025 Okumak için 6 dakika
Paylaşmak

3DEXCITE klavye kontrollü insan hareketi

3dexcite'da3DEXCITE Creative Experience klavyedeki bir tuşa basıldığında insan karakterinin sağlayabilirsiniz Bunu başarmak için, hareket davranışı ayarlayarak başlarız, ardından bir olayı yazmaya devam eder ve son olarak hikaye anlatımında bir senaryo yapılandırırız. 3DEXCITE klavye kontrollü insan hareketini etkinleştirme sürecinde size yol göstererek aktörünüzün hareketleri üzerinde hassas kontrole izin vereceğiz.

İşlemi adım adım inceleyelim!

1. Adım: İnsan modelini içe aktarın

Her şeyden önce, sahneye bir insan karakteri getirmemiz gerekiyor.

  1. Creative Experiencesahnenizi açın.
  2. Ardından, İçe Aktar'ı ve mevcut varlıklardan insan modeli
  3. Model ithal edildikten sonra, insanı başlamasını istediğiniz yere yerleştirmelisiniz.

2. Adım: Hareket Davranışı Ekle

Artık insan modeli mevcut olduğuna göre, odağımızı hareket davranışını eklemeye kaydırabiliriz.

  1. sahnedeki insan nesnesini seçin
  2. Özellikler gidin .
  3. Sonra, kütüphane ekle ve insan hareketi davranışını .
  4. Davranışı insan modeline atayın.

Sonuç olarak, insan senaryo olayımıza yanıt olarak bir yol boyunca hareket edebilecektir.

Şekil 1: İnsan Hareketi Davranışı - Creative Experience

Adım 3: İnsan için bir yol oluşturun

Hareketi yazmaya başlamadan önce, önce insanın takip edeceği yolu tanımlayalım.

  1. Essentials gidin .
  2. Ardından, yolu ve sahnede yolunuzu çizmeye başlayın.
  3. Gerekirse, düzgün hareket sağlamak için yol şeklini ayarlayın.
  4. Son olarak, yolu kaydedin ve sahneye uygun şekilde bağlandığından emin olun.

Bu yol, komut dosyası tetiklendiğinde hareket kılavuzu olarak hizmet edecektir.

Şekil 2: İnsan için bir yol oluşturun

3DEXCITE klavye girişi için javascript teknikleri

4. Adım: Senaryo Bir Oyuncu Oluşturun

klavye girişini işlemek ve insanın hareketini tetiklemek için senaryo bir aktör kurmamız gerekiyor

Şekil 3: JavaScript senaryo aktörü oluşturmak
  1. Mantık aktörlerinde komut dosyası oluşturma aktörünü seçerek başlayın .
  2. Aşağıdaki JavaScript kodunu komut dosyası düzenleyicisine kopyalayın ve yapıştırın:

var triggereentclass = function () {
ep.event.apply (bu, bağımsız değişkenler);
};

TrigerEventClass.Prototype = Object.Create (ep.event.prototype);
TraggereentClass.Prototype.Constructor = traggereentClass;
Traggereentclass.prototype.type = 'traggereentType';

if (! stu.triggerevent) {
stu.triggerevent = traggereentclass;
}

if (! ep.eventservices.getEventByType (traggereVeventClass.prototype.type)) {
ep.eventservices.registerevent (triggereentclass);
}

Bescript.onstart = function () {
// Kod, komut dosyası başladığında yürütmek için.
};

Bescript.onstop = function () {
// Deneyim durduğunda yürütmek için kod.
};

Bescript.Execute = function (context) {
// her karede yürütüldü.
// 'context.deltatime' son çerçeveden bu yana geçen süreyi sağlar.
};

Bescript.onallKeyBoardRelease = Function (IEVENT) {
// Anahtar sürümlerini hata ayıklamak için aşağıdaki satırı açın.
// console.log (ievent.ey);

if (ievent.key === this.keycode) {
let newEvent = yeni stu.triggereent ();
this.Actor.Dispatchevent (NewEvent);
}
};

 

Adım 5: JavaScript kodunu anlamak

Bu senaryoların ne yaptığını ve Creative Experienceiçinde nasıl çalıştığını bozalım.

1️⃣ Özel Bir Etkinlik Oluşturma

var triggereentclass = function () {
ep.event.apply (bu, bağımsız değişkenler);
};

TrigerEventClass adlı özel bir etkinlik sınıfını tanımlar . EP.event genişletir Creative Experience bir etkinlik olarak tanınabilir hale getirir .

2 musunuz Olay Prototipini Ayarlama

TrigerEventClass.Prototype = Object.Create (ep.event.prototype);
TraggereentClass.Prototype.Constructor = traggereentClass;
Traggereentclass.prototype.type = 'traggereentType';

EP.event'e dayalı bir nesne prototipi oluşturuyoruz ve özel bir olay türü olan TriggereEventType .

3 100⃣ Özel Etkinliği Kayıt

if (! stu.triggerevent) {
stu.triggerevent = traggereentclass;
}

if (! ep.eventservices.getEventByType (traggereVeventClass.prototype.type)) {
ep.eventservices.registerevent (triggereentclass);
}

Uygun işlevselliği sağlamak için, bu ilk olarak stu.triggerevent olup olmadığını kontrol eder. Değilse, traggereentclass'ımızı ona atar. , daha sonra tetiklenebilmesi için TRIGGEREVEVENTYPE'nin etkinlik hizmetlerine kayıtlı olmasını sağlar

4 musunuz Olay Yaşam Döngüsü İşlevleri

Bescript.onstart = function () {
// Kod, komut dosyası başladığında yürütmek için.
};

Bescript.onstop = function () {
// Deneyim durduğunda yürütmek için kod.
};

Bescript.Execute = function (context) {
// her karede yürütüldü.
// 'context.deltatime' son çerçeveden bu yana geçen süreyi sağlar.
};

komut dosyasının yaşam döngüsünü tanımlar :

  • Onstart : Komut dosyası başladığında çalışır.
  • Onstop : Deneyim durduğunda çalışır.
  • Yürütme : Her kareyi çalıştırır (sürekli eylemler için kullanışlıdır).

5 musun klavye girişi

Bescript.onallKeyBoardRelease = Function (IEVENT) {
// Anahtar sürümlerini hata ayıklamak için aşağıdaki satırı açın.
// console.log (ievent.ey);

if (ievent.key === this.keycode) {
let newEvent = yeni stu.triggereent ();
this.Actor.Dispatchevent (NewEvent);
}
};

Bu işlev, bir anahtar serbest bırakıldığında tetiklenir. Yayınlanan anahtarın anahtar . Eğer öyleyse, özel etkinliğin yeni bir örneği oluşturur ( Stu.triggereent ) ve onu aktöre gönderir.

Adım 6: Sensörü yapılandırın

Ardından, tuş basına basın olayını tespit etmek için bir sensör yapılandırmamız gerekir.

  1. Sensörler sekmesine gidin ve yeni bir sensör oluşturun.
  2. Ardından, türü olay olarak .
  3. Sonra, kimliği trigneVentType olarak .
  4. Takma adı yürütülmeye ayarlayın .
  5. Sensörü etkinleştirmek için çalma simgesini tıklayın
Şekil 4: Sensör oluşturun

Bir Anahtar Kodu özelliği tanımlayın

Başka bir deyişle, hangi anahtarın hareketi tetiklediğini belirtmek için:

  1. Özellikler sekmesinde yeni özellik ekle'yi tıklayın .
  2. Adı Anahtar Kodu'na ayarlayın .
  3. Türü tamsayı olarak ayarlayın .
  4. 73'e değeri ayarlayın (bu, JavaScript API kılavuzundaki “I” anahtarına karşılık gelir ) .
Şekil 5: Anahtar kodu özellikleri oluşturun

Adım 7: Bir hikaye anlatımı senaryosu oluşturun

Sensörü kurduktan sonra, şimdi insanın olaya nasıl tepki verdiğini tanımlıyoruz.

  1. Hikaye anlatımı altında senaryo oluştur'u tıklayın .
  2. Yeni bir "Script Actor yürütüldüğünde" blok ekleyin.
  3. Eylemi İnsan Etkinleştirme .
  4. insan takip yolu için başka bir blok ekleyin .
  5. Olay meydana geldiğinde, insan yolu etkinleştirir ve takip eder.
Şekil 6: Hikaye anlatımı senaryosu oluşturun

Adım 8: Deneyimi çalıştırın

Hepiniz hazırsınız! Şimdi test edelim:

  • Simülasyonu çalıştırmak için Play'a tıklayın
  • Klavyenizde I tuşuna basın
  • Sonra, insan şimdi yolu takip etmeye başlamalıdır .

Çözüm

Bu öğreticide şu süreç boyunca yürüdük:

  • Bir insan modelini sahneye ithal etmek.
  • Hareketi etkinleştirmek için hareket davranışı ekleme.
  • İnsanın takip etmesi için bir yol yaratmak.
  • Klavye girişini algılamak için bir JavaScript komut dosyası yazma.
  • Bir olayı tetiklemek için bir sensörü yapılandırma.
  • Son olarak, “i” tuşuna basıldığında insan hareketini yapmak için hikaye anlatımı kullanmak.

Ayrıca, bu yöntem daha karmaşık etkileşimler oluşturmak için genişletilebilir. Animasyonları tetiklemek, birden fazla karakteri kontrol etmek veya ek etkinlikleri entegre etmek gibi.

Son olarak, bir sonraki blogda , JavaScript kullanarak duruşları ve jestleri otomatikleştirmeyi keşfedeceğiz

3DEXCITE'ta İnsan Duruşları

Hanen Bdioui
Hanen Bdioui Son Mesajları ( hepsine bakın )

1 "JavaScript kullanarak 3DEXCITE İnsan Hareketi Nasıl Kontrol Edilir" hakkında yorum

Yorum bırakın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *