2015-04-28 8 views
10

पर स्टैक्ड किया गया है, मैं three.js के साथ एक प्रोजेक्ट बना रहा हूं जहां उपयोगकर्ता मॉडल के आयामों को गतिशील रूप से बदल सकता है। प्रश्न this one जैसा ही मैंने पोस्ट किया है, लेकिन मुझे डर है कि यह इस समय से काम नहीं कर रहा है क्योंकि मैं एक प्लानर आकार के बाहर निकलने के साथ काम कर रहा हूं।डायनामिक रूप से स्केल ऑब्जेक्ट एक और

cubeY.onChange(function(value){ 
    cube.scale.y = value; 
    cube.position.y = (cubeHeight * value)/2; 
    roof.position.y = (roofHeight * roof.scale.y)/2 + cube.position.y * 2 - roofHeight;});; 
roofY.onChange(function(value){ 
    roof.scale.y = value; 
    roof.position.y = ((roofHeight * value) + cube.position.y * 2) - value * roofHeight; 
}); 

आप देख सकते हैं के रूप में, जब मैं roof.scale.y बदलने के लिए, यह भी गतिशील क्यों न हों, लेकिन यह घन के ऊपरी भाग को तय रहना चाहिए: कोड जहाँ मैं समस्याओं कर रहा हूँ के स्निपेट पीछा कर रहा है। क्या आप जानते हैं कि मैं गलत क्या कर रहा हूं? यह पूर्ण कोड के साथ jsfiddle है।

आपके उत्तरों के लिए अग्रिम धन्यवाद!

+0

यह एक ही विषय पर तीसरा सवाल है, लेकिन प्रत्येक व्यक्ति पिछले एक की तुलना में थोड़ा कठिन है। लेकिन सभी एक ही आम denominator के साथ। उस पैमाने के आधार पर स्केल और ऑब्जेक्ट संरेखण के साथ समस्याएं। शायद आप इस समस्या के बारे में सभी गलत सोच रहे हैं। मुझे लगता है कि यह आसान होगा यदि आपके जीयूआई ने वास्तव में आपके तत्वों के वास्तविक आयामों का उपयोग किया, न कि उनके पैमाने पर। यदि आप अपने ऑब्जेक्ट तत्वों के सटीक आयामों को जानते हैं तो उनके आसपास या उनके आस-पास के अन्य तत्वों को संरेखित करना बहुत आसान है। सिर्फ एक विचार। – gaitat

+0

@ गैतैट मुझे पता है, लेकिन मुझे लगता है कि सभी उदाहरण एक वस्तु के पैमाने में हेरफेर कर रहे थे, न कि इसके आयाम। लेकिन कृपया, अगर आपको पता है कि कुछ उदाहरण मुझे दिखाते हैं। धन्यवाद!! –

+1

वाई स्केलिंग के लिए अपडेट किया गया: [jsfiddle] (http://jsfiddle.net/zeLxp81b/3/) – uhura

उत्तर

4

स्केल किए गए घन की ऊंचाई cubeHeight * cube.scale.y है और छत roofHeight * roof.scale.y है।

घन (क्यूब की ऊंचाई) की

शीर्ष केंद्र स्थिति cube.position.y + cubeHeight/2 * cube.scale.y या सिर्फ cubeHeight * cube.scale.y

छत के ज्यामितीय केंद्र प्रणाली केंद्र समन्वय नहीं है तो यह स्थिति है घन की ऊंचाई शून्य से आधा छत की ऊंचाई है

cube.position.y + cubeHeight/2 * cube.scale.y - roofHeight/2 * roof.scale.y 

Jsfiddle example

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