SceneKit Swift: 3D ग्राफिक्स के लिए पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

SceneKit Swift: 3D ग्राफिक्स के लिए पूर्ण गाइड

SceneKit एक शक्तिशाली फ्रेमवर्क है जो Apple द्वारा विकसित किया गया है। यह डेवलपर्स को iOS, macOS, tvOS और watchOS सभी Apple प्लेटफार्मों पर 3D सीन बनाने, रेंडर करने और एनिमेट करने के लिए एक हाई-लेवल API प्रदान करता है। निचले स्तर के ग्राफिक्स API (जैसे Metal, OpenGL) के विपरीत, SceneKit जटिल गणितीय गणनाओं और GPU के साथ काम को सरल बनाता है, जिससे आप अपने ऐप के लॉजिक पर ध्यान केंद्रित कर सकते हैं।

SceneKit की आवश्यकता क्यों है? यह फ्रेमवर्क गेम, इंटरैक्टिव 3D प्रेजेंटेशन, डेटा विज़ुअलाइज़ेशन, आर्किटेक्चरल मॉडल और शैक्षिक ऐप बनाने के लिए आदर्श है। यह फिजिक्स इंजन (ग्रैविटी, कोलिजन सिमुलेशन), पार्टिकल सिस्टम, स्केलेटल एनिमेशन, शैडो और लाइट के साथ काम करने के साथ-साथ ऑगमेंटेड रियलिटी (ARKit) के साथ इंटीग्रेशन को सपोर्ट करता है। SceneKit .dae (Collada), .scn (Apple का अपना फॉर्मेट) और .usdz फॉर्मेट में मॉडल लोड कर सकता है, जो इसे Blender, Maya या 3ds Max से एसेट इम्पोर्ट करने के लिए एक बेहतरीन टूल बनाता है।

SceneKit का प्रतिस्पर्धियों (जैसे Unity) पर मुख्य लाभ Apple इकोसिस्टम के साथ इसका नेटिव इंटीग्रेशन है। आप SwiftUI, UIKit या AppKit का उपयोग करके इंटरफ़ेस बना सकते हैं, और SceneKit का उपयोग 3D कंटेंट रेंडर करने के लिए कर सकते हैं, जबकि सारा कोड एक ही भाषा (Swift) में लिखा जाएगा। फ्रेमवर्क स्वचालित रूप से मेमोरी मैनेज करता है और विशेष डिवाइस के लिए रेंडरिंग को ऑप्टिमाइज़ करता है, जो मोबाइल ऐप के लिए विशेष रूप से महत्वपूर्ण है।

इंस्टॉलेशन और सेटअप

SceneKit मानक Apple SDK का हिस्सा है, इसलिए CocoaPods या Swift Package Manager जैसे पैकेज मैनेजरों के माध्यम से अलग से इंस्टॉलेशन की आवश्यकता नहीं है। शुरू करने के लिए, बस अपने प्रोजेक्ट में फ्रेमवर्क को इम्पोर्ट करें।

इंस्टॉलेशन के लिए कोई कमांड नहीं है, क्योंकि फ्रेमवर्क प्री-इंस्टॉल्ड है। हालांकि, यदि आप डिपेंडेंसी के लिए Swift Package Manager का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपका प्रोजेक्ट iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 3.0+ पर सेट है।

कोड में इम्पोर्ट करने के लिए उपयोग करें:

import SceneKit
import SceneKit.ModelIO // Model I/O के माध्यम से मॉडल लोड करने के लिए

यदि आप Xcode के साथ काम कर रहे हैं, तो बस अपने टार्गेट के "Frameworks, Libraries, and Embedded Content" सेक्शन में SceneKit.framework जोड़ें।

त्वरित शुरुआत: न्यूनतम कार्यशील उदाहरण

आइए एक घूमने वाले क्यूब के साथ एक सरल 3D सीन बनाएं। इस उदाहरण को Playground या iOS/macOS ऐप में चलाया जा सकता है।

import SceneKit
import PlaygroundSupport

// 1. सीन बनाएं
let scene = SCNScene()

// 2. कैमरा बनाएं
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = SCNVector3(x: 0, y: 0, z: 5)
scene.rootNode.addChildNode(cameraNode)

// 3. क्यूब बनाएं
let boxGeometry = SCNBox(width: 1.0, height: 1.0, length: 1.0, chamferRadius: 0.0)
let boxNode = SCNNode(geometry: boxGeometry)
boxNode.position = SCNVector3(x: 0, y: 0, z: 0)
scene.rootNode.addChildNode(boxNode)

// 4. घूमने की एनिमेशन जोड़ें
let rotateAction = SCNAction.rotateBy(x: 0, y: CGFloat.pi * 2, z: 0, duration: 5.0)
let repeatAction = SCNAction.repeatForever(rotateAction)
boxNode.runAction(repeatAction)

// 5. Playground में डिस्प्ले सेट करें
let scnView = SCNView(frame: CGRect(x: 0, y: 0, width: 400, height: 400))
scnView.scene = scene
scnView.backgroundColor = UIColor.darkGray
scnView.autoenablesDefaultLighting = true

PlaygroundPage.current.liveView = scnView

SceneKit के मुख्य क्लास और तरीके

नीचे फ्रेमवर्क के प्रमुख घटकों और उनके उपयोग के उदाहरण दिए गए हैं।

1. SCNScene — पूरे 3D सीन के लिए कंटेनर

सिग्नेचर: class SCNScene : NSObject

यह क्या करता है: यह रूट ऑब्जेक्ट है जिसमें सभी नोड (SCNNode), ज्योमेट्री, लाइट सोर्स, कैमरा और फिजिकल बॉडी शामिल होते हैं। सीन नोड्स का एक ग्राफ है।

let scene = SCNScene()
scene.background.contents = UIC

अनुशंसाएँ