- Katılım
- 26 Ekim 2024
- Puan
- 3
- XR Başlığı
- Quest 2
Sentis, yapay zekayı Unity'ye entegre ederek grafik işleme ve fizik simülasyonlarında daha gerçekçi etkileşimler sağlıyor. Bu proje, kumaşların gerçek dünyadaki gibi deforme olmasını, yani kıvrılmasını, esnemesini veya rüzgar gibi çevresel faktörlerle etkileşime girmesini mümkün hale getiriyor.
Bu tür bir yapı, oyunlarda veya simülasyonlarda giysi, perde veya bayrak gibi kumaş nesnelerinin doğal bir şekilde hareket etmesini sağlayarak, kullanıcı deneyimini derinleştirir. Kumaş deformasyonu üzerine yoğunlaşan bu tür projelerde, Sentis’in yapay zeka destekli fizik simülasyonu sayesinde, özellikle yumuşak cisim dinamiği ve çevreyle etkileşim gibi detaylar öne çıkıyor.
Unity'nin Demo ekibi Eylül 2024'te yeni bir gerçek zamanlı sinematik demo olan Time Ghost'u tanıttı . Birlikte kullanıldığında daha önce hiç olmadığı kadar yüksek bir görsel kalite ve karmaşıklık düzeyine ulaşmamızı sağlayan bir dizi özellik ve teknolojik yetenek içeren Unity 6 motoruyla oluşturuldu.
Time Ghost'un yapımı sırasında cevaplamamız gereken sorulardan biri, gerçekçi kostümler, yani hareketlere göre doğru şekilde deforme olan ve kırışan kumaşlardan yapılmış giysiler giydirilmişken yoğun animasyonlar gerçekleştiren inandırıcı karakterlerin nasıl yaratılacağıydı.
Bu çözülmesi kolay bir sorun değil, çünkü kumaşın 3D'de doğru şekilde elde edilmesinin genellikle zor olduğunu ve sıklıkla daldırma ve gerçekçilik algısını bozan başlıca suçlulardan biri haline gelebildiğini biliyoruz. Oyunlarda kumaş yaratmaya yönelik endüstri standardı yaklaşımlarının bilinen sınırlamalarından kaçınmak için farklı bir yol izlememiz gerekiyordu.

Bu arada, Unity'nin Mühendislik bölümündeki meslektaşlarımızın, Unity içinde, çalışma zamanında ve herhangi bir platformda makine öğrenimi modellerini kullanma potansiyelini ortaya çıkaran gerçek zamanlı bir çıkarım motoru geliştirdiğini biliyorduk.
Bu yazıda, sürecimizi paylaşacağız ve gerçek zamanlı karakter animasyonu ve özellikle kumaş deformasyonu için elde edilebilecek kaliteyi ve gerçekçiliği artırmak amacıyla geleneksel animasyon iş akışlarını son teknoloji ML ile nasıl birleştirdiğimizi açıklayacağız.
Karakter modellememiz ve riglememiz endüstri standartlarına göre yapıldı, bu da bize normal hareket yakalama verilerini uygulama ve riglenmiş ve derisi yüzülmüş karakter modelimizde anahtar kare animasyonları gerçekleştirme olanağı sağladı. Yine de, ana karakterimizin kıyafetinin animasyonu için, sadece ek karışım şekillerine sahip derisi yüzülmüş bir ağdan daha gerçekçi görünen bir çözüm aradık.

Sentis, Unity'nin Sinir Ağı Değişimi (NNX) çerçevesinin uygulanması, karakter boru hattımızın temel direğidir. Sentis'i uygulayarak, yüksek kaliteli, gerçekçi çevrimdışı kumaş simülasyonlarından oluşan kendi veri setimizi kullanarak bir makine öğrenimi modeli eğitebildik ve modeli çalışma zamanında dağıtabildik.
Öncelikle, her karakterin performansı için karakter modelimizin 70 pozunu oluşturduk - 30 kare boyunca nötr bir pozdan son uç poza kadar harmanladık.
Marvelous Designer'da desen tabanlı kumaşı simüle ediyoruz ve bu 70 hareketten kumaş deformasyon davranışını yakalayabiliyoruz.
Bir sonraki adım delta değerlerini, yani derili ağ ile simüle edilmiş ağ arasındaki farkı çıkarmaktı. Bu hesaplama Maya'da veya model tepe noktası verilerine erişebildiğiniz herhangi bir DCC'de yapılabilir. İşlem, simüle edilmiş deformasyon verilerini korurken deri deformasyonunu tersine çevirmeyi içerir.
Bir çalışma zamanı modelini eğitmek için, ONNX formatına (Open Neural Network Exchange) dönüştürülebildiği sürece herhangi bir makine öğrenme çerçevesi kullanılabilir. En yaygın çerçeveler TensorFlow ve PyTorch'tur. Time Ghost projesi için, çıkarılan verilere dayalı özel bir model tasarlamak ve eğitmek için TensorFlow'u kullandık.
Çıkarılan veriler, karakterin eklem yönelimlerini girdi olarak veren ve çıkarılan tepe delta konumlarını çıktı olarak veren ileri beslemeli bir sinir ağına (FNN) beslenir



Unity'de, deformasyon verileri, derileri soyulmuş karakter ağımızın üzerine uygulanır ve küçük bir çalışma zamanı modeli sağlamak için yamalar halinde işlenir.
Sonuç olarak, DCC'de (bizim durumumuzda Marvelous Designer) hazırlanmış mevcut kumaş simülasyonlarından Unity'deki gerçek zamanlı deformasyonlara birkaç saat içinde geçmek mümkün. Time Ghost durumunda, 2,5 GB çevrimdışı deformasyon verisini tek bir 47 MB modele indirgeyebildik. Sentis, modeli, deri oluşturma verilerinin zaten mevcut olduğu GPU'da yerel olarak çalıştırdığı için, GPU'da 120K köşeyi 0,8 ms'de deforme edebiliyoruz.



Sentis'in entegrasyonu yalnızca görsel sadakatimizi iyileştirmekle kalmıyor, son derece gerçekçi ve dinamik deformasyonlar elde ediyor, aynı zamanda yüksek kaliteli oyun geliştirmenin ihtiyaçlarına göre verimli ve uyarlanabilir bir iş akışı sağlıyor. Benzer, makine öğrenimi tabanlı boru hatlarının, yüksek kaliteli sonuçlar için gereken veri miktarı ile gerçek zamanlı bütçelere uyma ihtiyacı arasındaki zorlu dengede sınırlarına ulaşmış çok çeşitli farklı üretim sorunlarını çözmek için uygun olacağına inanıyoruz. Benzer bir boru hattıyla denemeler yapmaya ve bunu gelecekte diğer sanatsal alanlara uygulamaya devam ediyoruz.
Ayrıca, Sentis ile elde ettiğimiz performans sonuçları o kadar ümit verici ki aynı boru hattının mobil geliştirmeye de uygulanıp uygulanamayacağını araştırmaya başladık. Unity mühendisleri halihazırda bazı ilk doğrulama adımlarını attılar ve Sentis'in karakterimizi gerçekçi bir şekilde deforme olan kumaşla, hatta bir cep telefonunda bile çalıştırabileceğini doğruladılar. Ve yüksek doğruluk mobil oyun geliştirme için çok tipik olmasa da, mobil hedef platformlar için makine öğrenimi tabanlı yaklaşımı kullanabilmenin anlamı, stilize animasyonlardaki deformasyonların şu ana kadar mümkün olandan çok daha ayrıntılı ve güzel hale gelebileceğidir.
Söz verdiğimiz gibi, Time Ghost'tan iki Unity projesini yayınlıyoruzdemo – biri Çevre sahnesi, diğeri Karakter sahnesi.
Yukarıda açıklanan boru hattının sonuçlarını kendiniz görmek için Time Ghost: Character'ı indirebilirsinizUnity Asset Store'dan proje.
Karakter ve tepe noktası tabanlı deformasyon modeliyle birlikte bir Unity 6 örnek sahnesi içerir. Modeli ve eğitim sürecini açıklayan belgeleri ekledik, böylece kendi karakter simülasyonu verilerinizle eğitimi deneyebilir ve bu yaklaşımın kendi projeleriniz için yararlı olup olamayacağını görebilirsiniz.
Lütfen karakterin yüzünün yalnızca eğitim amaçlı sağlandığını, yani projenizde yüzü kullanmamanız gerektiğini unutmayın. Örnekteki diğer her şey, kendi verilerinizle modelin eğitiminizin sonuçları da dahil olmak üzere ticari olarak kullanılabilir.
Karakter örneğinin ayrıca son üç Unity Originals'da geliştirdiğimiz Saç Sistemi ile yaptığımız saç düzenlememizi de içerdiğini fark edeceksiniz.demo ( Sapkın 5, Düşmanlar 3ve Zaman Hayaleti). Saç sistemindeki son gelişmeleri ve kurulumun nasıl çalıştığını yakında yayınlanacak ayrı bir blog yazısında daha detaylı olarak açıklayacağız.
Bu tür bir yapı, oyunlarda veya simülasyonlarda giysi, perde veya bayrak gibi kumaş nesnelerinin doğal bir şekilde hareket etmesini sağlayarak, kullanıcı deneyimini derinleştirir. Kumaş deformasyonu üzerine yoğunlaşan bu tür projelerde, Sentis’in yapay zeka destekli fizik simülasyonu sayesinde, özellikle yumuşak cisim dinamiği ve çevreyle etkileşim gibi detaylar öne çıkıyor.
Unity'nin Demo ekibi Eylül 2024'te yeni bir gerçek zamanlı sinematik demo olan Time Ghost'u tanıttı . Birlikte kullanıldığında daha önce hiç olmadığı kadar yüksek bir görsel kalite ve karmaşıklık düzeyine ulaşmamızı sağlayan bir dizi özellik ve teknolojik yetenek içeren Unity 6 motoruyla oluşturuldu.
Time Ghost'un yapımı sırasında cevaplamamız gereken sorulardan biri, gerçekçi kostümler, yani hareketlere göre doğru şekilde deforme olan ve kırışan kumaşlardan yapılmış giysiler giydirilmişken yoğun animasyonlar gerçekleştiren inandırıcı karakterlerin nasıl yaratılacağıydı.
Bu çözülmesi kolay bir sorun değil, çünkü kumaşın 3D'de doğru şekilde elde edilmesinin genellikle zor olduğunu ve sıklıkla daldırma ve gerçekçilik algısını bozan başlıca suçlulardan biri haline gelebildiğini biliyoruz. Oyunlarda kumaş yaratmaya yönelik endüstri standardı yaklaşımlarının bilinen sınırlamalarından kaçınmak için farklı bir yol izlememiz gerekiyordu.

Bu arada, Unity'nin Mühendislik bölümündeki meslektaşlarımızın, Unity içinde, çalışma zamanında ve herhangi bir platformda makine öğrenimi modellerini kullanma potansiyelini ortaya çıkaran gerçek zamanlı bir çıkarım motoru geliştirdiğini biliyorduk.
Bu yazıda, sürecimizi paylaşacağız ve gerçek zamanlı karakter animasyonu ve özellikle kumaş deformasyonu için elde edilebilecek kaliteyi ve gerçekçiliği artırmak amacıyla geleneksel animasyon iş akışlarını son teknoloji ML ile nasıl birleştirdiğimizi açıklayacağız.
Karakter modellememiz ve riglememiz endüstri standartlarına göre yapıldı, bu da bize normal hareket yakalama verilerini uygulama ve riglenmiş ve derisi yüzülmüş karakter modelimizde anahtar kare animasyonları gerçekleştirme olanağı sağladı. Yine de, ana karakterimizin kıyafetinin animasyonu için, sadece ek karışım şekillerine sahip derisi yüzülmüş bir ağdan daha gerçekçi görünen bir çözüm aradık.

Sentis, Unity'nin Sinir Ağı Değişimi (NNX) çerçevesinin uygulanması, karakter boru hattımızın temel direğidir. Sentis'i uygulayarak, yüksek kaliteli, gerçekçi çevrimdışı kumaş simülasyonlarından oluşan kendi veri setimizi kullanarak bir makine öğrenimi modeli eğitebildik ve modeli çalışma zamanında dağıtabildik.
Öncelikle, her karakterin performansı için karakter modelimizin 70 pozunu oluşturduk - 30 kare boyunca nötr bir pozdan son uç poza kadar harmanladık.
Marvelous Designer'da desen tabanlı kumaşı simüle ediyoruz ve bu 70 hareketten kumaş deformasyon davranışını yakalayabiliyoruz.
Bir sonraki adım delta değerlerini, yani derili ağ ile simüle edilmiş ağ arasındaki farkı çıkarmaktı. Bu hesaplama Maya'da veya model tepe noktası verilerine erişebildiğiniz herhangi bir DCC'de yapılabilir. İşlem, simüle edilmiş deformasyon verilerini korurken deri deformasyonunu tersine çevirmeyi içerir.
Bir çalışma zamanı modelini eğitmek için, ONNX formatına (Open Neural Network Exchange) dönüştürülebildiği sürece herhangi bir makine öğrenme çerçevesi kullanılabilir. En yaygın çerçeveler TensorFlow ve PyTorch'tur. Time Ghost projesi için, çıkarılan verilere dayalı özel bir model tasarlamak ve eğitmek için TensorFlow'u kullandık.
Çıkarılan veriler, karakterin eklem yönelimlerini girdi olarak veren ve çıkarılan tepe delta konumlarını çıktı olarak veren ileri beslemeli bir sinir ağına (FNN) beslenir



Unity'de, deformasyon verileri, derileri soyulmuş karakter ağımızın üzerine uygulanır ve küçük bir çalışma zamanı modeli sağlamak için yamalar halinde işlenir.
Sonuç olarak, DCC'de (bizim durumumuzda Marvelous Designer) hazırlanmış mevcut kumaş simülasyonlarından Unity'deki gerçek zamanlı deformasyonlara birkaç saat içinde geçmek mümkün. Time Ghost durumunda, 2,5 GB çevrimdışı deformasyon verisini tek bir 47 MB modele indirgeyebildik. Sentis, modeli, deri oluşturma verilerinin zaten mevcut olduğu GPU'da yerel olarak çalıştırdığı için, GPU'da 120K köşeyi 0,8 ms'de deforme edebiliyoruz.



Sentis'in entegrasyonu yalnızca görsel sadakatimizi iyileştirmekle kalmıyor, son derece gerçekçi ve dinamik deformasyonlar elde ediyor, aynı zamanda yüksek kaliteli oyun geliştirmenin ihtiyaçlarına göre verimli ve uyarlanabilir bir iş akışı sağlıyor. Benzer, makine öğrenimi tabanlı boru hatlarının, yüksek kaliteli sonuçlar için gereken veri miktarı ile gerçek zamanlı bütçelere uyma ihtiyacı arasındaki zorlu dengede sınırlarına ulaşmış çok çeşitli farklı üretim sorunlarını çözmek için uygun olacağına inanıyoruz. Benzer bir boru hattıyla denemeler yapmaya ve bunu gelecekte diğer sanatsal alanlara uygulamaya devam ediyoruz.
Ayrıca, Sentis ile elde ettiğimiz performans sonuçları o kadar ümit verici ki aynı boru hattının mobil geliştirmeye de uygulanıp uygulanamayacağını araştırmaya başladık. Unity mühendisleri halihazırda bazı ilk doğrulama adımlarını attılar ve Sentis'in karakterimizi gerçekçi bir şekilde deforme olan kumaşla, hatta bir cep telefonunda bile çalıştırabileceğini doğruladılar. Ve yüksek doğruluk mobil oyun geliştirme için çok tipik olmasa da, mobil hedef platformlar için makine öğrenimi tabanlı yaklaşımı kullanabilmenin anlamı, stilize animasyonlardaki deformasyonların şu ana kadar mümkün olandan çok daha ayrıntılı ve güzel hale gelebileceğidir.
Söz verdiğimiz gibi, Time Ghost'tan iki Unity projesini yayınlıyoruzdemo – biri Çevre sahnesi, diğeri Karakter sahnesi.
Yukarıda açıklanan boru hattının sonuçlarını kendiniz görmek için Time Ghost: Character'ı indirebilirsinizUnity Asset Store'dan proje.
Karakter ve tepe noktası tabanlı deformasyon modeliyle birlikte bir Unity 6 örnek sahnesi içerir. Modeli ve eğitim sürecini açıklayan belgeleri ekledik, böylece kendi karakter simülasyonu verilerinizle eğitimi deneyebilir ve bu yaklaşımın kendi projeleriniz için yararlı olup olamayacağını görebilirsiniz.
Lütfen karakterin yüzünün yalnızca eğitim amaçlı sağlandığını, yani projenizde yüzü kullanmamanız gerektiğini unutmayın. Örnekteki diğer her şey, kendi verilerinizle modelin eğitiminizin sonuçları da dahil olmak üzere ticari olarak kullanılabilir.
Karakter örneğinin ayrıca son üç Unity Originals'da geliştirdiğimiz Saç Sistemi ile yaptığımız saç düzenlememizi de içerdiğini fark edeceksiniz.demo ( Sapkın 5, Düşmanlar 3ve Zaman Hayaleti). Saç sistemindeki son gelişmeleri ve kurulumun nasıl çalıştığını yakında yayınlanacak ayrı bir blog yazısında daha detaylı olarak açıklayacağız.