2014-07-13 28 views
10

Three.js'ye (ya da diğer 3d render) 'de 3d modeller ölçekleme için en iyi yöntem nedir?Three.js - scale.set() ile ölçek modeli veya model boyutunu artırın?

Ben bir model yük ve modelin boyutu çok küçük fark: Burada

Sadece karşılaştığı bir örnektir. Sonra mesh'i mesh.scale.set(2,2,2); kullanarak ölçeklendiriyorum ve bu mükemmel bir boyut. Ben, bu senaryoda almak o ki (programlama yoluyla ölçekli) gibi ölçekli bırakmak yapmak ya benim 3d modelleme yazılımı geri dönün ve modelin iki katı ne yapmalıyım eylem

?

Teşekkür

cevap

17

O best practice ziyade optimization ait meselesi değildir. Kafanız her zaman ölçeklenecekse, modelleme yazılımınızda ölçekleme yaparsanız daha iyi olur. Bu basit ifade mesh.scale.set(2,2,2);, oluşturulan her çerçeve üzerinde gerçekleşmesi gereken bir matris çarpmasıdır. Şimdi senin sahnenin içinde fazla bir geometri yok, bu durumda umursamıyorsun. Ama dediğim gibi optimizasyon meselesi. Ya senin sahnenin 1000 tane bu tür ağa sahipse ya da 1000000 olsaydı. Her bir tanesi için bu matris çarpımının olması gerekecekti. Mümkün olduğunda optimize et.

+8

gaitat - Bu doğru değil. mesh.scale.set() 'bir kez çağrılır. Varsayılan olarak, 'mesh.matrix', ölçeğin değerine bakılmaksızın her çerçeveyi yine de yeniden hesaplar. – WestLangley

+3

Evet ama 2 ile çarpılarak değilken bile yorumlanmış javascript, 1 ile çarpılması no-op olduğunu varsayalım. – gaitat

+0

Çok teşekkürler! Aradığım cevap tam olarak bu. – jskidd3