three.js - तीन जेएस और ब्लेंडर(कोलाडाओलोडर का उपयोग करके): पहला संपर्क



blender (1)

मैं थैलीज में ब्लेंडर (colladaLoader -> .de के साथ) से निर्यात किए गए दृश्य (कई ऑब्जेक्ट्स, प्रत्येक अलग-अलग रंगों और अलग-अलग गुणों के साथ, जैसे रोटेशन के दृश्य में एक अक्ष को दबाने के साथ) कैसे प्रदान कर सकता हूं?


इसलिए, पहला कदम सीखना है कि तीन जे में एक दृश्य कैसे बनाएं और ब्लेंडर के साथ कुछ विशेषता जानें। जब आप तैयार हों, तो अपना पहला मॉडल बनाएं और इसे निर्यात करने से पहले इसे ध्यान में रखें:

  1. आपको ऑब्जेक्ट के साथ ऑब्जेक्ट की जरूरत है, इसलिए यदि आप ब्लेंडर के साथ एक टेक्स्ट बनाते हैं, तो आपको इसे एक मेष में बदलना होगा, अन्यथा तीन जेज़ इसे रेंडर नहीं करेंगे
  2. सुनिश्चित करें कि ब्लेंडर रेंडर विकल्प चुनना और साइकिल नहीं, अन्यथा आपके द्वारा निर्यात किया गया डीएडी तीन जेएस में प्रदान नहीं किया जाएगा
  3. जब एक बनावट लागू करते हैं, तो बस रंग और बुनियादी सामग्री (बुनियादी, फोंग और लंबर) का उपयोग करें - अन्य लोग colladaLoader का उपयोग नहीं करेंगे
  4. यह देखने के लिए कि ऑब्जेक्ट को तीन जेज़ में रंग से गाया जाएगा, colladaLoader के साथ ऑब्जेक्ट मोड (ठोस) के साथ ब्लेंडर में ऑब्जेक्ट को देखो- अगर यह ग्रे है और आपके द्वारा चुने गए रंग का रंग नहीं है, तो इसे तीन जेएस में उसी तरह प्रदान किया जाएगा
  5. यदि आप ऑब्जेक्ट में 'मज़बूत' संशोधक को लागू करते हैं और तीन जेएस पर इसे पारदर्शी बनाते हैं, तो इसे वायरफ्रेम के रूप में प्रदान किया जाएगा
  6. यदि आप दृश्य में कई ऑब्जेक्ट संलग्न करते हैं और उन्हें 'जॉइन' करते हैं, तो संबंधित पदों और रोटेशन का तीन जजों में सम्मान किया जाएगा, अन्यथा नहीं: उदाहरण के लिए, यदि आप बोतल में एक फूल को प्रस्तुत करना चाहते हैं (और थूस ऑब्जेक्ट्स अलग ब्लेंडर फाइल हैं दृश्य में संलग्न / लिंक किए गए हैं), फूल तीन जे में बोतल में फिट नहीं होंगे, लेकिन बोतल की तुलना में एक अलग स्थान और रोटेशन होगा
  7. ऑब्जेक्ट को समूहबद्ध करना इसको हल नहीं करेगा: जैसा कि आप इसे ब्लेंडर में देख रहे हैं, आपको ऑब्जेक्ट्स में 'जुड़ने' (परिणामों के साथ यह उलझे होता है) या मैन्युअल रूप से तीन जेएस पर डीजे निर्यात विकल्प नहीं बदलते हैं। तीन जेएस में वस्तु के प्रतिपादन के लिए बात

और अब, जो हिस्सा तीन जजों का संबंध है:

के साथ colladaLoader आयात करने के लिए सुनिश्चित हो:

<script src="jsLib/ColladaLoader.js"></script>

इस कोड को अपने init () फ़ंक्शन में डालें ताकि लोडर आपके। डीएई मॉडल को लोड करेगा:

var loader = new THREE.ColladaLoader(); 
loader.options.convertUpAxis = true; 
loader.load( 'model.dae', function ( collada ) { 
  // with this you can get the objects of the scene; the [0] is not the first object 
  // you display in blender in case of many objects (which means you didn't join them) 
  var obj1 = collada.scene.children[0]; 
  // you can name the object so you can use it even out of the function, if you want 
  // animate it for example obj1.name = "daeObj1"; 
  // you can set here some material properties as trasparency 
  obj1.material.needsUpdate = true; 
  obj1.material.transparent = true; 
  obj1.material.opacity = 0.5; 
  obj1.hearth.material.wireframe = false; 
  // and now some position and rotation for good visualization 
  obj1.position.set(0, -5, -0.6); //x,z,y 
  obj1.rotation.set(0, 45, 0); 
  // and add the obj to the threeJs scene 
  scene.add(obj1); 
});

और चेतन () समारोह में कुछ कोड यदि आप अपनी कुछ वस्तुओं को अद्यतन करना चाहते हैं, उदाहरण के लिए रोटेशन के साथ

scene.traverse (function (object) { 
   if (object.name === 'daeObj1') { 
     object.rotation.z -= 0.01;
   }
 });

मुझे उम्मीद है कि इस पोस्ट से किसी को लाभ होगा