3DEXCITE JavaScript Kullanarak İnsan Hareketini Nasıl Kontrol Edebilirsiniz?

13 Şubat 2025 Okuma süresi 6 dakika
Paylaşmak

3DEXCITE Klavye Kontrollü İnsan Hareketi

uygulamasında 3DEXCITE Creative Experience sağlayabilirsiniz insan karakterinin klavye kontrollü insan hareketini etkinleştirme sürecini adım adım anlatacağız 3DEXCITEve böylece oyuncunuzun hareketleri üzerinde hassas kontrol sahibi olmanızı sağlayacağız.

Gelin süreci adım adım inceleyelim!

Adım 1:İnsan Modelini İçe Aktarın

Öncelikle, sahneye insani bir unsur katmamız gerekiyor.

  1. Sahnenizi Creative Experienceaçın.
  2. Ardından, İçe Aktar'a seçin insan modeli mevcut varlıklar arasından
  3. Model içe aktarıldıktan sonra, insanı başlangıç ​​pozisyonuna yerleştirmeniz gerekir.

Adım 2: Hareket Davranışı Ekleme

İnsan modeli artık hazır olduğuna göre, odağımızı hareket davranışını eklemeye çevirebiliriz.

  1. seçin insan nesnesini sahnedeki
  2. Ardından Özellikler sekmesine gidin.
  3. Ardından, Kütüphane Ekle'ye seçin İnsan Hareket Davranışı'nı.
  4. Davranışı insan modeline atayın.

Sonuç olarak, insan önceden belirlediğimiz olaya yanıt olarak bir yol boyunca hareket edebilecektir.

Şekil 1: İnsan Hareket Davranışı – Creative Experience

3. Adım: İnsan İçin Bir Yol Oluşturun

Hareketin senaryosunu yazmaya geçmeden önce, öncelikle insanın izleyeceği yolu tanımlayalım.

  1. Öncelikle Temel Bilgiler sekmesine gidin.
  2. Ardından, Yol'a 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 doğru şekilde bağlandığından emin olun.

Bu yol, komut dosyası tetiklendiğinde hareket kılavuzu görevi görecektir.

Şekil 2: İnsan İçin Bir Yol Oluşturma

3DEXCITE Klavye Girişi için JavaScript Teknikleri

Adım 4: Senaryolu Bir Oyuncu Oluşturun

oluşturmamız gerekiyor senaryo tabanlı aktör klavye girişini işleyecek ve insanın hareketini tetikleyecek

Şekil 3: JavaScript ile Betiklenmiş Bir Aktör Oluşturma
  1. seçeneğini seçin Komut Dosyalı Aktör Oluştur bölümünden Mantık .
  2. Aşağıdaki JavaScript kodunu komut dosyası düzenleyicisine kopyalayıp yapıştırın:

var TriggerEventClass = function () {
EP.Event.apply(this, arguments);
};

TriggerEventClass.prototype = Object.create(EP.Event.prototype);
TriggerEventClass.prototype.constructor = TriggerEventClass;
TriggerEventClass.prototype.type = 'TriggerEventType';

Eğer STU.TriggerEvent mevcut değilse,
STU.TriggerEvent = TriggerEventClass;
}

Eğer EP.EventServices.getEventByType(TriggerEventClass.prototype) doğru değilse,
EP.EventServices.registerEvent(TriggerEventClass)
.

beScript.onStart = function () {
// Komut dosyası başladığında çalıştırılacak kod.
};

beScript.onStop = function () {
// Deneyim durduğunda çalıştırılacak kod.
};

beScript.execute = function (context) {
// Her karede çalıştırılır.
// 'context.deltaTime', son kareden bu yana geçen süreyi sağlar.
};

beScript.onAllKeyboardRelease = function (iEvent) {
// Tuş bırakma işlemlerinde hata ayıklamak için aşağıdaki satırı yorum satırından çıkarın.
// console.log(iEvent.key);

if (iEvent.key === this.KeyCode) {
let newEvent = new STU.TriggerEvent();
this.actor.dispatchEvent(newEvent);
}
};

 

Adım 5: JavaScript Kodunu Anlamak

Gelin bu komut dosyasının ne yaptığını ve Creative Experiencenasıl çalıştığını inceleyelim.

1️⃣ Özel Bir Etkinlik Oluşturma

var TriggerEventClass = function () {
EP.Event.apply(this, arguments);
};

adlı özel bir olay sınıfı tanımlar TriggerEventClassgenişlettiği için EP.Event bir olay olarak tanınabilir hale gelir Creative Experience.

2️⃣ Etkinlik Prototipinin Kurulumu

TriggerEventClass.prototype = Object.create(EP.Event.prototype);
TriggerEventClass.prototype.constructor = TriggerEventClass;
TriggerEventClass.prototype.type = 'TriggerEventType';

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

3️⃣ Özel Etkinliğin Kaydı

Eğer STU.TriggerEvent mevcut değilse,
STU.TriggerEvent = TriggerEventClass;
}

Eğer EP.EventServices.getEventByType(TriggerEventClass.prototype) doğru değilse,
EP.EventServices.registerEvent(TriggerEventClass)
.

Doğru işlevselliği sağlamak için öncelikle STU.TriggerEvent'in var olup olmadığını kontrol eder. Yoksa, TriggerEventClass'ımızı emin olur TriggerEventType'ın kayıtlı olduğundan Olay Servislerinde daha sonra tetiklenebilmesi için

4️⃣ Olay Yaşam Döngüsü Fonksiyonları

beScript.onStart = function () {
// Komut dosyası başladığında çalıştırılacak kod.
};

beScript.onStop = function () {
// Deneyim durduğunda çalıştırılacak kod.
};

beScript.execute = function (context) {
// Her karede çalıştırılır.
// 'context.deltaTime', son kareden bu yana geçen süreyi sağlar.
};

Bu fonksiyonlar, komut dosyasının yaşam döngüsünü:

  • onStart: Komut dosyası başladığında çalışır.
  • onStop: Deneyim durduğunda çalışır.
  • execute: Her karede çalışır (sürekli işlemler için kullanışlıdır).
5️⃣ Klavye Girişini İşleme

beScript.onAllKeyboardRelease = function (iEvent) {
// Tuş bırakma işlemlerinde hata ayıklamak için aşağıdaki satırı yorum satırından çıkarın.
// console.log(iEvent.key);

if (iEvent.key === this.KeyCode) {
let newEvent = new STU.TriggerEvent();
this.actor.dispatchEvent(newEvent);
}
};

Bu fonksiyon, bir tuş bırakıldığında tetiklenir. Bırakılan tuşun KeyCode'umuzla eşleşip eşleşmediğini kontrol eder .Eşleşiyorsa, özel olayın (STU.TriggerEvent) yeni bir örneğini oluşturur ve aktöre gönderir.

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

Ardından, tuş basma olayını algılamak için bir sensör yapılandırmamız gerekiyor.

  1. Öncelikle Sensörler sekmesine ve yeni bir sensör oluşturun.
  2. Ardından, Türü olarak ETKİNLİK.
  3. Sonrasında, ID'yi TriggerEventType'a ayarlayın.
  4. ayarlayın Takma adı olarak "Yürütüldü".
  5. tıklayın Oynat simgesine Sensörü etkinleştirmek için
Şekil 4: Sensör Oluşturma
Bir KeyCode Özelliği Tanımlayın

Başka bir deyişle, hangi tuşun hareketi tetiklediğini belirtmek için:

  1. , Özellikler sekmesindeYeni Özellik Ekle'ye.
  2. atayın Adı KeyCode'a .
  3. ayarlayın Türü olarak Tamsayı.
  4. ayarlayın Değeri olarak 73 karşılık gelir "I" tuşuna , JavaScript API Kılavuzundaki
Şekil 5: Anahtar Kodu Özelliklerini Oluşturma

Adım 7: Bir Hikaye Anlatma Senaryosu Oluşturun

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

  1. tıklayın Senaryo Oluştur seçeneğine altında bulunan Hikaye Anlatımı .
  2. adlı yeni bir "Komut Dosyası Aktörü Her Çalıştırıldığında" blok ekleyin.
  3. Eylem türünü "İnsan Etkinleştir".
  4. için başka bir blok ekleyin İnsan Takip Yolu.
  5. Bunları birbirine bağlayın, böylece olay gerçekleştiğinde insan harekete geçsin ve yolu izlesin.
Şekil 6: Hikaye Anlatma Senaryosu Oluşturma

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

Her şey hazır! Şimdi, test edelim:

  • tıklayın Oynat'a Simülasyonu çalıştırmak için
  • basın I Klavyenizdeki
  • Bundan sonra, insan artık yolu takip etmeye başlamalıdır.

Çözüm

Bu eğitimde şu süreçleri adım adım inceledik:

  • Sahneye insan modeli ekleniyor.
  • Hareketi etkinleştirmek için hareket davranışı ekleme.
  • İnsanın izleyeceği bir yol yaratmak.
  • Klavyeden gelen girişi algılayan bir JavaScript betiği yazmak.
  • Bir sensörün bir olayı tetikleyecek şekilde yapılandırılması.
  • Son olarak, "Ben" tuşuna basıldığında insanın harekete geçmesini sağlamak için hikaye anlatımını kullanmak.

Dahası, bu yöntem daha karmaşık etkileşimler oluşturmak için genişletilebilir. Örneğin, animasyonları tetiklemek, birden fazla karakteri kontrol etmek veya ek olayları entegre etmek gibi.

Son olarak, bir sonraki blogotomatikleştirmeyi inceleyeceğiz duruş ve jestleri JavaScript kullanarak

 3DEXCITE İnsan Duruşları

Hanen Bdioui
Abone
Bildirmek
misafir

1 Yorum
En Yaşlı
En Yeni En Çok Oy Alan
Satır İçi Geri Bildirimler
Tüm yorumları görüntüle
geri izleme

[...] Önceki blog yazımızda, JavaScript kullanarak bir insanın önceden tanımlanmış bir yolu nasıl takip edeceğini incelemiştik. Eğer kaçırdıysanız, [...]

1
0
Düşüncelerinizi paylaşmanızı çok isterim, lütfen yorum yapın.x