Giriş animasyon dosyası biçimi — MRTK2

Genel yapı

Giriş animasyon ikili dosyası 64 bitlik bir tamsayı sihirli sayı ile başlar. Bu sayının onaltılık gösterimindeki değeridir 0x6a8faf6e0f9e42c6 ve geçerli giriş animasyon dosyalarını tanımlamak için kullanılabilir.

Sonraki sekiz bayt, dosyanın ana ve ikincil sürüm numarasını belirten iki Int32 değeridir.

Dosyanın geri kalanı, sürüm numaraları arasında değişebilecek animasyon verileriyle alınır.

Section Tür
Sihirli Sayı Int64
Ana Sürüm Numarası Int32
İkincil Sürüm Numarası Int32
Animasyon Verileri sürüm bölümüne bakın

Sürüm 1.1

Giriş animasyonu verileri, animasyonun Kamera, El ve Göz Bakışı verilerini içerip içermediğini gösteren üç boole değerinden ve ardından animasyon eğrilerinden oluşan bir diziden oluşur. Mevcut eğriler bu boolean değerlerine bağlıdır. Her eğrinin farklı sayıda ana karesi olabilir.

Section Tür Notlar
Kamera Pozu Var Boole
El Verisi Var Boole
Göz Bakışı Var Boole
Kamera Poz Eğrileri Yalnızca Kamera Pozu Var doğruysa
Elle İzlenen Sol Boole Eğrisi Yalnızca El Verisi Var doğruysa
Sağdan İzlenen El Boole Eğrisi Yalnızca El Verisi Var doğruysa
Sola Sıkıştıran El Boole Eğrisi Yalnızca El Verisi Var doğruysa
Eli Sağa Sıkıştırma Boole Eğrisi Yalnızca El Verisi Var doğruysa
Sol El Eklemleri Eklem Poz Eğrileri Yalnızca El Verisi Var doğruysa
El Eklemleri Sağ Eklem Poz Eğrileri Yalnızca El Verisi Var doğruysa
Göz Bakışı Işın Eğrileri] Yalnızca Göz Bakışı Var doğruysa

Sürüm 1.0

Giriş animasyon verileri bir dizi animasyon eğrisi içerir. Animasyon eğrilerinin sayısı ve anlamı sabittir, ancak her eğrinin farklı sayıda ana karesi olabilir.

Section Tür
Kamera Poz Eğrileri
Elle İzlenen Sol Boole Eğrisi
Sağdan İzlenen El Boole Eğrisi
Sola Sıkıştıran El Boole Eğrisi
Eli Sağa Sıkıştırma Boole Eğrisi
Sol El Eklemleri Eklem Poz Eğrileri
El Eklemleri Sağ Eklem Poz Eğrileri

Eklem poz eğrileri

Her el için bir eklem animasyon eğrileri dizisi depolanır. Eklem sayısı sabittir ve her eklem için bir dizi poz eğrisi depolanır.

Section Tür
Hiçbiri Poz Eğrileri
Bilek Poz Eğrileri
Palm Poz Eğrileri
ThumbMetacarpalJoint Poz Eğrileri
ThumbProximalJoint Poz Eğrileri
ThumbDistalJoint Poz Eğrileri
Başparmak İpucu Poz Eğrileri
IndexMetacarpal Poz Eğrileri
IndexKnuckle Poz Eğrileri
IndexMiddleJoint Poz Eğrileri
IndexDistalJoint Poz Eğrileri
Dizin İpucu Poz Eğrileri
MiddleMetacarpal Poz Eğrileri
MiddleKnuckle Poz Eğrileri
MiddleMiddleJoint Poz Eğrileri
MiddleDistalJoint Poz Eğrileri
Orta İpucu Poz Eğrileri
RingMetacarpal Poz Eğrileri
RingKnuckle Poz Eğrileri
RingMiddleJoint Poz Eğrileri
RingDistalJoint Poz Eğrileri
Halka İpucu Poz Eğrileri
PinkyMetacarpal Poz Eğrileri
PembeKnuckle Poz Eğrileri
PinkyMiddleJoint Poz Eğrileri
PinkyDistalJoint Poz Eğrileri
Pembe İpucu Poz Eğrileri

Poz eğrileri

Poz eğrileri, konum vektörünün 3 animasyon eğrisinin ve ardından döndürme quaternion için 4 animasyon eğrisinin bulunduğu bir dizidir.

Section Tür
Konum X Kayan Eğri
Konum Y Kayan Eğri
Z Konumunu Belirleme Kayan Eğri
Döndürme X Kayan Eğri
Döndürme Y Kayan Eğri
Döndürme Z Kayan Eğri
Döndürme W Kayan Eğri

Ray eğrileri

Ray eğrileri, kaynak vektör için 3 animasyon eğrisinin ve ardından yön vektörünün 3 animasyon eğrisinin yer aldığı bir dizidir.

Section Tür
Kaynak X Kayan Eğri
Kaynak Y Kayan Eğri
Kaynak Z Kayan Eğri
Yön X Kayan Eğri
Yön Y Kayan Eğri
Yön Z Kayan Eğri

Kayan eğri

Kayan nokta eğrileri, değişken sayıda ana kareye sahip tam teşekküllü Bézier eğrileridir. Her ana karede bir saat ve eğri değerinin yanı sıra her ana karenin sol ve sağ tarafında tanjantlar ve ağırlıklar depolar.

Section Tür
Kaydırma Öncesi Modu Int32, Kaydırma Modu
Kaydırma Sonrası Modu Int32, Kaydırma Modu
Ana kare sayısı Int32
Ana Kareler Kayan Anahtar Çerçeve

Kayan ana kare

Kayan anahtar kare, tanjant ve ağırlık değerlerini temel süre ve değerin yanı sıra depolar.

Section Tür
Saat Float32
Değer Float32
InTangent Float32
DışTangent Float32
InWeight Float32
OutWeight Float32
WeightedMode Int32, Ağırlıklı Mod

Boole eğrisi

Boole eğrileri açık/kapalı değerlerin basit dizileridir. Her ana karede eğrinin değeri hemen çevrilir.

Section Tür
Kaydırma Öncesi Modu Int32, Kaydırma Modu
Kaydırma Sonrası Modu Int32, Kaydırma Modu
Ana kare sayısı Int32
Ana Kareler Boole Anahtar Çerçevesi

Boole ana karesi

Boole ana karesi yalnızca bir saati ve değeri depolar.

Section Tür
Saat Float32
Değer Float32

Kaydırma modu

Pre-ve Post-Wrap modlarının semantiği Unity WrapMode tanımını izler. Bunlar aşağıdaki bitlerin birleşimidir:

Değer Anlamı
0 Varsayılan: Daha yüksek ayarlanmış varsayılan yineleme modunu okur.
1 Bir kez: Zaman animasyon klibinin sonuna ulaştığında, klip otomatik olarak yürütülmeyi durdurur ve zaman klibin başına sıfırlanır.
2 Döngü: Zaman animasyon klibinin sonuna ulaştığında, zaman başlangıçta devam eder.
4 PingPong: Zaman animasyon klibinin sonuna ulaştığında, zaman başlangıç ve bitiş arasında geri ping pong yapacaktır.
8 ClampForever: Animasyonu geri alır. Sona ulaştığında, son kareyi oynamaya devam eder ve asla durmaz.

Ağırlıklı mod

Ağırlıklı modun semantiği Unity WeightedMode tanımını izler.

Değer Anlamı
0 Hiçbiri: Eğri segmentleri hesaplanırken hem Sıklık hem de outWeight değerini hariç tutun.
1 In: Önceki eğri segmentini hesaplarken InWeight'a ekleyin.
2 Out: Sonraki eğri segmentini hesaplarken outWeight ekleyin.
3 Her İkisi: Eğri segmentlerini hesaplarken Sıklık ve outWeight'a dahil edin.