Three.js: परिचय और सेटअप (Three.js Introduction and Setup)

Three.js: परिचय और सेटअप (Three.js Introduction and Setup)

Three.js एक ओपन-सोर्स जावास्क्रिप्ट लाइब्रेरी है, जो आपको वेब ब्राउज़र में 3D ग्राफिक्स और एनिमेशन बनाने की सुविधा देती है। इस ट्यूटोरियल में, हम आपको Three.js की दुनिया में प्रवेश करवाएंगे, जहाँ आप 3D वेब डेवलपमेंट के बुनियादी सिद्धांत सीखेंगे। हम आपको यह भी सिखाएंगे कि किस तरह से Three.js का सेटअप करना है ताकि आप अपने पहले 3D प्रोजेक्ट की शुरुआत कर सकें।

Table of Contents

Three.js क्या है?

Three.js एक ओपन-सोर्स जावास्क्रिप्ट लाइब्रेरी है, जिसका उपयोग वेब ब्राउज़र में 3D ग्राफिक्स और एनिमेशन बनाने के लिए किया जाता है। यह लाइब्रेरी WebGL (Web Graphics Library) के ऊपर बनाई गई है, जो आपको बिना किसी प्लगइन के ब्राउज़र में उच्च-गुणवत्ता वाले 3D ग्राफिक्स प्रदर्शित करने की अनुमति देती है। Three.js के माध्यम से, डेवलपर्स आसानी से जटिल 3D मॉडल्स, सीन, लाइटिंग, और कैमरा एंगल्स का उपयोग करके इंटरेक्टिव और प्रभावशाली 3D अनुभव बना सकते हैं।

Three.js का उपयोग विभिन्न प्रकार के प्रोजेक्ट्स में किया जाता है, जैसे कि 3D गेम्स, डेटा विज़ुअलाइज़ेशन, वर्चुअल रियलिटी (VR) और ऑगमेंटेड रियलिटी (AR) एप्लिकेशन, और 3D प्रोडक्ट मॉडल्स। इसकी सरलता और लचीलापन इसे 3D वेब डेवलपमेंट के लिए एक लोकप्रिय उपकरण बनाते हैं।

अगर आप वेब पर 3D ग्राफिक्स में रुचि रखते हैं, तो Three.js आपके लिए एक बेहतरीन विकल्प है।

Three.js का उपयोग क्यों करें?

Three.js का उपयोग करने के कई कारण हैं, खासकर जब आप वेब ब्राउज़र में 3D ग्राफिक्स और एनिमेशन बनाने की सोच रहे हैं। यहां कुछ प्रमुख कारण दिए गए हैं:

1. सरलता और उपयोग में आसानी (Simplicity and Ease of Use):

Three.js एक उपयोगकर्ता-अनुकूल API प्रदान करता है, जो आपको जटिल 3D ग्राफिक्स को सरल और आसानी से समझने योग्य कोड के माध्यम से बनाने की सुविधा देता है। शुरुआती लोग भी बिना किसी जटिलता के 3D ग्राफिक्स के साथ काम कर सकते हैं।

2. क्रॉस-ब्राउज़र सपोर्ट (Cross-Browser Support):

Three.js, WebGL पर आधारित है, जो सभी प्रमुख वेब ब्राउज़रों में समर्थित है। इसका मतलब है कि जो भी 3D कंटेंट आप बनाते हैं, वह बिना किसी अतिरिक्त प्लगइन के अधिकांश ब्राउज़रों में काम करेगा।

3. समृद्ध फीचर्स और लाइब्रेरीज़ (Rich Features and Libraries):

Three.js में विभिन्न प्रकार की इन-बिल्ट ज्योमेट्री, मैटेरियल्स, लाइटिंग, शैडो, कैमरा, और शेडर शामिल हैं। यह आपको एक शक्तिशाली और लचीली 3D ग्राफिक्स प्रणाली बनाने में मदद करता है।

4. कस्टमाइज़ेशन और विस्तार (Customization and Extensibility):

Three.js अत्यधिक कस्टमाइज़ेबल है। आप इसे अपनी आवश्यकताओं के अनुसार बढ़ा सकते हैं, कस्टम शेडर्स लिख सकते हैं, और लाइब्रेरी के माध्यम से इसे अन्य जावास्क्रिप्ट टूल्स के साथ इंटीग्रेट कर सकते हैं।

5. समर्थन और सामुदायिक संसाधन (Support and Community Resources):

Three.js की एक बड़ी और सक्रिय समुदाय है, जो विभिन्न ट्यूटोरियल्स, प्लगइन्स, और उदाहरण प्रदान करती है। इसके अलावा, आपको इस लाइब्रेरी के लिए व्यापक डाक्यूमेंटेशन और संसाधन ऑनलाइन मिलेंगे।

6. वर्चुअल रियलिटी और ऑगमेंटेड रियलिटी (Virtual Reality and Augmented Reality):

Three.js में वर्चुअल रियलिटी (VR) और ऑगमेंटेड रियलिटी (AR) के लिए समर्थन है, जिससे आप आसानी से इन आधुनिक तकनीकों का उपयोग कर सकते हैं और इंटरेक्टिव 3D अनुभव बना सकते हैं।

7. असीमित संभावनाएँ (Unlimited Possibilities):

Three.js के साथ, आप लगभग किसी भी प्रकार का 3D अनुभव बना सकते हैं, चाहे वह एक साधारण 3D मॉडल हो या एक पूरा 3D गेम। इसके लचीलेपन और शक्ति के कारण इसकी संभावनाएँ असीमित हैं।

आवश्यकताएँ और प्रोजेक्ट सेटअप

आवश्यकताएँ (Requirements)

Three.js के साथ 3D वेब ग्राफिक्स बनाने के लिए आपको कुछ मूलभूत आवश्यकताओं की जरूरत होती है:

  1. HTML, CSS और JavaScript की समझ:
    • Three.js एक जावास्क्रिप्ट लाइब्रेरी है, इसलिए HTML, CSS, और JavaScript की बुनियादी समझ होना जरूरी है। यदि आप इन भाषाओं में सहज हैं, तो Three.js का उपयोग करना आसान हो जाएगा।
  2. वेब ब्राउज़र:
    • Three.js WebGL का उपयोग करता है, जो कि सभी आधुनिक ब्राउज़रों में समर्थित है। सुनिश्चित करें कि आप Chrome, Firefox, Safari, या Edge जैसे ब्राउज़र का उपयोग कर रहे हैं, जो WebGL को अच्छी तरह से सपोर्ट करते हैं।
  3. कोड एडिटर:
    • एक अच्छे कोड एडिटर का उपयोग करें, जैसे कि Visual Studio Code, Sublime Text, या Atom। यह आपको कोड लिखने और त्रुटियों को आसानी से डिबग करने में मदद करेगा।
  4. लाइव सर्वर (वैकल्पिक):
    • आप अपने कोड को ब्राउज़र में लाइव देखने के लिए एक लाइव सर्वर का उपयोग कर सकते हैं। Visual Studio Code में लाइव सर्वर प्लगइन का उपयोग करके आप यह आसानी से कर सकते हैं।

प्रोजेक्ट सेटअप (Project Setup)

Three.js के साथ एक प्रोजेक्ट शुरू करना बहुत आसान है। यहां एक साधारण प्रोजेक्ट सेटअप की प्रक्रिया दी गई है:

1. HTML फाइल बनाएँ:

सबसे पहले, एक नई HTML फाइल बनाएं और उसमें Three.js को शामिल करें। आप इसे CDN (Content Delivery Network) से सीधे लिंक कर सकते हैं।

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Three.js प्रोजेक्ट सेटअप</title>
    <style>
        body { margin: 0; }
        canvas { display: block; }
    </style>
</head>
<body>
    <!-- Three.js लाइब्रेरी को शामिल करें -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
    <script>
        // यहाँ आपका Three.js कोड होगा
    </script>
</body>
</html>

2. Three.js सीन सेट करें:

अब, Three.js सीन, कैमरा, और रेंडरर को सेटअप करें। यह आपके 3D प्रोजेक्ट का मूल ढांचा होगा।

<script>
    // सीन बनाएँ
    const scene = new THREE.Scene();

    // कैमरा बनाएँ
    const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
    camera.position.z = 5;

    // रेंडरर बनाएँ
    const renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);

    // एक सरल क्यूब (घन) बनाएँ
    const geometry = new THREE.BoxGeometry();
    const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
    const cube = new THREE.Mesh(geometry, material);
    scene.add(cube);

    // एनिमेशन लूप
    function animate() {
        requestAnimationFrame(animate);

        // क्यूब को घुमाएँ
        cube.rotation.x += 0.01;
        cube.rotation.y += 0.01;

        // सीन को रेंडर करें
        renderer.render(scene, camera);
    }

    animate(); // एनिमेशन शुरू करें
</script>

3. फाइल को सेव करें और ब्राउज़र में खोलें:

अब आपकी HTML फाइल को सेव करें और ब्राउज़र में खोलें। आपको एक 3D क्यूब दिखाई देगा, जो धीरे-धीरे घूम रहा होगा।

first threejs program Good Vibes Only

Three.js लाइब्रेरी को शामिल करना (CDN या NPM के माध्यम से)

Three.js को अपने प्रोजेक्ट में शामिल करने के लिए आप दो प्रमुख तरीकों का उपयोग कर सकते हैं: CDN (Content Delivery Network) और NPM (Node Package Manager)। दोनों विधियाँ आपको Three.js लाइब्रेरी को आपके प्रोजेक्ट में इंटीग्रेट करने की अनुमति देती हैं, लेकिन उनकी उपयोगिता आपके प्रोजेक्ट की आवश्यकताओं पर निर्भर करती है।

1. CDN के माध्यम से Three.js को शामिल करना

CDN का उपयोग करना सबसे सरल तरीका है, विशेष रूप से अगर आप छोटे प्रोजेक्ट्स या टेस्टिंग के लिए काम कर रहे हैं। इसके लिए आपको केवल एक <script> टैग की आवश्यकता होती है, जिससे Three.js लाइब्रेरी आपके HTML फाइल में शामिल हो जाती है।

Example:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Three.js प्रोजेक्ट</title>
</head>
<body>
    <!-- Three.js लाइब्रेरी को CDN के माध्यम से शामिल करें -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
    
    <script>
        // यहाँ आपका Three.js कोड आएगा
        const scene = new THREE.Scene();
        const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
        const renderer = new THREE.WebGLRenderer();
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);
    </script>
</body>
</html>

फायदे:

  • सरलता: कोई भी अतिरिक्त सेटअप नहीं करना पड़ता।
  • त्वरित शुरुआत: लाइब्रेरी को सीधे HTML में जोड़कर तुरंत काम करना शुरू कर सकते हैं।
  • आवश्यकता: छोटे प्रोजेक्ट्स या टेस्टिंग के लिए आदर्श।

नुकसान:

  • डिपेंडेंसी: आप लाइब्रेरी की निर्भरता के लिए इंटरनेट कनेक्शन पर निर्भर होते हैं।
  • सीमित नियंत्रण: वर्शन कंट्रोल और मॉड्यूल मैनेजमेंट पर आपका नियंत्रण सीमित हो सकता है।

2. NPM के माध्यम से Three.js को शामिल करना

NPM का उपयोग तब किया जाता है जब आप बड़े प्रोजेक्ट्स पर काम कर रहे हों, या जब आपको मॉड्यूल मैनेजमेंट, वर्शन कंट्रोल, और अन्य उन्नत सुविधाओं की आवश्यकता हो। NPM आपको Three.js और अन्य डिपेंडेंसीज़ को आपके प्रोजेक्ट में बेहतर तरीके से प्रबंधित करने की अनुमति देता है।

स्टेप्स:

  1. NPM इनिशियलाइजेशन:
    • सबसे पहले, अपने प्रोजेक्ट डायरेक्टरी में NPM इनिशियलाइज करें:
      npm init -y
      

       

  2. Three.js को इंस्टॉल करें:
    • NPM के माध्यम से Three.js को इंस्टॉल करें:
      npm install three
      

       

  3. Three.js को अपने जावास्क्रिप्ट फाइल में इम्पोर्ट करें:
    • अब आप Three.js को अपने जावास्क्रिप्ट फाइल में इम्पोर्ट कर सकते हैं:
      import * as THREE from 'three';
      
      const scene = new THREE.Scene();
      const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
      const renderer = new THREE.WebGLRenderer();
      renderer.setSize(window.innerWidth, window.innerHeight);
      document.body.appendChild(renderer.domElement);
      

       

फायदे:

  • वर्शन कंट्रोल: आप आसानी से लाइब्रेरी की वर्शन को नियंत्रित कर सकते हैं।
  • मॉड्यूल मैनेजमेंट: बड़ी और जटिल प्रोजेक्ट्स के लिए NPM का उपयोग करना बेहतर होता है।
  • लोकल डिपेंडेंसी: इंटरनेट के बिना भी काम कर सकते हैं क्योंकि लाइब्रेरी लोकल रूप से मौजूद होती है।

नुकसान:

  • स्टार्टअप समय: सेटअप के लिए थोड़ा अधिक समय लगता है।
  • पैकेज मैनेजमेंट: आपको NPM और पैकेज मैनेजमेंट के बुनियादी ज्ञान की आवश्यकता होती है।


Index