ज्यामिति, एक 3 डी संपादक के माध्यम से (ब्लेंडर, जैसे जो के लिए एक अच्छी three.js exporter पहले से मौजूद है), बनाने के लिए Three.js में उपयोग करने के लिए निर्यात मॉडल से भी कई तरीक़े हैं खरोंच से ज्यामिति।
एक तरह से THREE.Geometry का उदाहरण बना सकते हैं और कोने में जोड़ें, फिर से काम करते हैं उन कैसे चेहरे सूचकांकों में जोड़ने के लिए कनेक्ट करने के लिए है, लेकिन यह नहीं एक आसान तरीका यह करने के लिए। मैं मौजूदा ज्यामिति (अतिरिक्त/geometries पैकेज में पाया) THREE.CubeGeometry, THREE.CylinderGeometry, THREE.IcosahedronGeometry, THREE.OctahedronGeometry, आदि) के साथ शुरू करने की सलाह देते हैं होता
साथ ही वहाँ कुछ वास्तव में अच्छा कक्षाएं हैं कि आपको extrusions (THREE.ExtrudeGeometry) और lathes (THREE.LatheGeometry) उत्पन्न करने की अनुमति देता है। Extrusions के लिए यह example देखें।
आप आधा एक क्षेत्र बनाने का उल्लेख किया। यह LatheGeometry का उपयोग करने के लिए एक आदर्श उम्मीदवार है। आपको केवल एक अर्ध-सर्कल पथ (वेक्टर 3 उदाहरणों की एक सरणी के रूप में) बनाने की आवश्यकता है और इसे खराद तक पास करें ताकि यह आधे चक्र को 3 डी - आधा क्षेत्र में घुमाए। अपने जाल में
var pts = [];//points array - the path profile points will be stored here
var detail = .1;//half-circle detail - how many angle increments will be used to generate points
var radius = 200;//radius for half_sphere
for(var angle = 0.0; angle < Math.PI ; angle+= detail)//loop from 0.0 radians to PI (0 - 180 degrees)
pts.push(new THREE.Vector3(Math.cos(angle) * radius,0,Math.sin(angle) * radius));//angle/radius to x,z
geometry = new THREE.LatheGeometry(pts, 12);//create the lathe with 12 radial repetitions of the profile
प्लग है कि ज्यामिति और बलबीर के आप चाचा: यहाँ एक उदाहरण है!
वैकल्पिक रूप से आप GeometryUtils का उपयोग कर मेष/धुरी केंद्रित कर सकता है:
THREE.GeometryUtils.center(geometry);
मज़ा!
स्रोत
2011-11-27 10:15:53
धन्यवाद संभोग ... मैं देख सकता हूँ तुम जानते हो कि तुम क्या बारे में बात कर ... इसलिए आप इसका अंदाज़ा लगा रहा वस्तुओं खींचने योग्य बना सकते हैं क्या है? मैंने कुछ उदाहरण देखा और पाया कि इसे तीन के साथ करना है। रे ... आप इसके बारे में कुछ जानते हैं? – BorisD
खुशी है कि यह मदद करता है। जब भी मैं Three.js के साथ कुछ करना चाहता हूँ मैं जाँच वहाँ एक उदाहरण है यदि पहले से ही :) [webgl_interactive_draggablecubes] (http://mrdoob.github.com/three.js/examples/webgl_interactive_draggablecubes.html) शुरू करने के लिए है। आपको माउसअप/mousedown/mousemove श्रोताओं का उपयोग करने की आवश्यकता है। विचार है कि माउस 2 डी निर्देशांक कैमरे के आधार पर 3 डी में परिवर्तित हो जाते हैं और एक रे को गहराई से अंतरिक्ष के माध्यम से 'शॉट' किया जाता है। फिर यह जांचने के लिए एक परीक्षण है कि उस किरण/रेखा (किसी भी चौराहे) पर कोई ऑब्जेक्ट है, यदि ऐसा है, तो सूची में पहली वस्तु पर सेट किया गया है (यदि कोई है) .. आदि –
लंबी कहानी छोटी, अगर आप उन 3 की प्रतिलिपि बनाते हैं श्रोताओं को अपनी परियोजना में शामिल करें और शीर्ष पर चयनित और प्रक्षेपित और प्रोजेक्टर चर हैं, इसे आपकी फ़ाइल में भी काम करना चाहिए। –