2014-07-13 5 views
10

थ्री.जेएस (या अन्य 3 डी प्रस्तुतकर्ता) में 3 डी मॉडल स्केल करने का सबसे अच्छा अभ्यास क्या है?Three.js - scale.set() के साथ स्केल मॉडल या मॉडल आकार बढ़ाएं?

मैं में एक मॉडल लोड और एहसास मॉडल के आकार बहुत छोटा है:

यहाँ एक उदाहरण मैं सिर्फ का सामना करना पड़ा है। मैं mesh.scale.set(2,2,2); का उपयोग कर जाल को स्केल करता हूं और यह सही आकार है।

इस परिदृश्य में मुझे क्या कदम उठाना चाहिए, क्या मैं इसे इस तरह से स्केल कर देता हूं (प्रोग्रामेटिक रूप से स्केल किया गया) या क्या मैं अपने 3 डी मॉडलिंग सॉफ्टवेयर पर वापस जाता हूं और मॉडल के आकार को दोगुना करता हूं?

धन्यवाद

उत्तर

17

यह best practice बल्कि optimization की की बात नहीं है। यदि आपका जाल हमेशा स्केल किया जाएगा, तो बेहतर होगा यदि आप अपने मॉडलिंग सॉफ्टवेयर में स्केलिंग करते हैं। यह सरल कथन mesh.scale.set(2,2,2); एक मैट्रिक्स गुणा है जो प्रत्येक फ्रेम को प्रस्तुत करने की आवश्यकता है। अब शायद आपके दृश्य में इसमें बहुत ज्यामिति नहीं है, इस मामले में आपको परवाह नहीं है। लेकिन जैसा कि मैंने कहा कि यह अनुकूलन का विषय है। क्या होगा यदि आपके दृश्य में 1000 ऐसे मेष या 1000000 थे। उस मैट्रिक्स गुणा को उनमें से प्रत्येक के लिए होने की आवश्यकता होगी। जब भी आप कर सकते हैं अनुकूलित करें।

+8

गायत - यह सही नहीं है। 'mesh.scale.set() 'को एक बार बुलाया जाता है। डिफ़ॉल्ट रूप से, पैमाने के मूल्य के बावजूद, 'mesh.matrix' को प्रत्येक फ्रेम को फिर से दबाया जाता है। – WestLangley

+3

हाँ, लेकिन मुझे लगता है कि यहां तक ​​कि व्याख्या की गई जावास्क्रिप्ट में, 1 से गुणा करना एक नो-ऑप है जबकि 2 से गुणा करना नहीं है। – gaitat

+0

बहुत बहुत धन्यवाद! यह सही प्रकार का उत्तर है जिसे मैं ढूंढ रहा था। – jskidd3

संबंधित मुद्दे