2013-04-16 10 views
8

html5 ve three.js'de oldukça yeniyim. Onunla biraz deneme yaptım ve temel olarak istediğim şey bir Mesh'e sahip olmaktı (Kullandığım öğretici olarak planeGeometry kullanıyorum). Mesh daha sonra değişebilen farklı dokular gösterir.Three.js Animasyon için 2D texture sprite'ı kullanma (düzlemGeometri)

İşte benim kod gibi görünüyor:

angelTexture = THREE.ImageUtils.loadTexture("images/textures/chars/angel/angel.png"); 
angelTexture.offset.x = -0.75; 
angelTexture.offset.y = -0.75; 

angelMesh = new THREE.Mesh(new THREE.PlaneGeometry(79, 53, 79, 53), new THREE.MeshBasicMaterial({ map: angelTexture, wireframe: false })); 

angelMesh.position.x = 0; 
angelMesh.position.y = 0; 
scene.add(angelMesh); 

Sorun 2D Sprite olarak doku kullanıyorum (Ben ofset zaman, Mesh diğer tüm Sprites gösterecek kadar büyük görünüyor olduğunu ben harekete geçirmek için ofset). Sonuç oldukça feci ve ben hala Mesh'in ne kadar büyük olduğunu kontrol etmeyi öğreniyorum, böylece Sprite'ın sadece bir görüntüsünü gösteriyor. Tüm girişimlerim sadece Mesh'i ve alttaki dokuyu yeniden boyutlandırmak için görünür ve hala tüm Sprite'ları gösterir.

Birisi bana doğru yönde işaret edebilir mi? Şimdiden teşekkürler.

...

Arkadaşım ben tekrar özelliği cevapsız ... bir çözüm geldi.

angelTexture = THREE.ImageUtils.loadTexture("images/textures/chars/angel/angel.png"); 
angelTexture.offset.x = -0.75; 
angelTexture.offset.y = -0.75; 

angelTexture.repeat.x = 0.25; 
angelTexture.repeat.y = 0.25; 
scene.add(angelMesh); 

Bu, başkalarının da aynı soruna sahip olmasını umarız.

+0

Arkadaşım bir çözüm buldu ... Tekrarlanan özelliği kaçırdım. Yukarıdaki açıklama için düzenleme kısmına bakın – Spolarium7

cevap

15

Aynı soruyu bir süre önce yaptım ve bu yüzden bir PlaneGeometry için doku olarak bir spritesheet kullanarak animasyonun tam bir örneğini yazdım ve ardından düzenli aralıklarla dokuları güncelleştirdim - örneğini şu adreste kontrol edin:

http://stemkoski.github.io/Three.js/Texture-Animation.html

ve ek açıklama için yorumladı kaynak kodunu görüntülemek.

+1

Teşekkürler! Güzel bitti. Mutlu kodlar! – Spolarium7