Everywhere Actions क्या हैं?
Needle के Everywhere Actions ध्यान से चुने गए कंपोनेंट्स का एक सेट हैं जो आपको कोड की एक भी लाइन लिखे बिना Unity में इंटरैक्टिव अनुभव बनाने की अनुमति देते हैं। इन्हें वेब, मोबाइल और XR, जिसमें iOS पर Augmented Reality शामिल है, में अनुभवों के लिए बिल्डिंग ब्लॉक के रूप में सेवा देने के लिए डिज़ाइन किया गया है।
कम-स्तरीय ट्रिगर्स और एक्शन्स से, उच्च-स्तरीय जटिल इंटरैक्टिव व्यवहार बनाए जा सकते हैं।
समर्थित प्लेटफ़ॉर्म
- डेस्कटॉप
- मोबाइल (Android / iOS)
- VR चश्मे
- AR डिवाइस
- iOS AR – QuickLook (हां, सचमुच!)
मैं Everywhere Actions का उपयोग कैसे करूँ?
iOS सपोर्ट के लिए, अपने सीन में USDZExporter
कंपोनेंट जोड़ें। इसे WebXR
कंपोनेंट (लेकिन अनिवार्य नहीं) के समान ऑब्जेक्ट में जोड़ना एक अच्छा अभ्यास है।
अपने सीन में किसी भी ऑब्जेक्ट में एक्शन जोड़ने के लिए उसे चुनें और फिर Add Component > Needle > Everywhere Actions > [Action]
पर क्लिक करें।
Everywhere Actions की सूची
Action | Description | Example Use Cases |
---|---|---|
Play Animation on Click | किसी Animator से चयनित एनिमेशन स्टेट चलाता है। चलाने के बाद, यह वैकल्पिक रूप से दूसरे एनिमेशन में ट्रांज़िशन कर सकता है। | उत्पाद प्रस्तुतियाँ, इंटरैक्टिव ट्यूटोरियल, कैरेक्टर मूवमेंट |
Change Material on Click | एक Material को दूसरों के लिए बदलें। उस Material वाली सभी वस्तुएँ एक साथ स्विच हो जाएंगी। | उत्पाद कॉन्फ़िगरेटर, कैरेक्टर |
Look At | किसी वस्तु को कैमरे की ओर देखने के लिए बनाएँ। | UI तत्व, Sprites, इन्फो ग्राफिक्स, Billboard इफ़ेक्ट, क्लिक करने योग्य Hotspots |
Play Audio on Click | चयनित ऑडियो क्लिप चलाता है। | ध्वनि प्रभाव, कथन, संग्रहालय प्रदर्शन |
Hide on Start | बाद में प्रकट करने के लिए दृश्य शुरू होने पर किसी वस्तु को छुपाता है। | |
Set Active on Click | वस्तुओं को दिखाएँ या छुपाएँ। | |
Change Transform on Click | किसी वस्तु को ले जाएँ, घुमाएँ या स्केल करें। निरपेक्ष या सापेक्ष मूवमेंट की अनुमति देता है। | कैरेक्टर, उत्पाद, UI एनिमेशन (अधिक जटिल मूवमेंट के लिए एनिमेशन का उपयोग करें) |
Audio Source | शुरू होने पर ऑडियो चलाता है और लूप करता रहता है। स्थानिक या गैर-स्थानिक | बैकग्राउंड संगीत, परिवेशी ध्वनियाँ |
WebXR Image Tracking | एक Image Target को ट्रैक करता है और वस्तुओं को दिखाता या छुपाता है। | AR अनुभव, उत्पाद प्रस्तुतियाँ |
सैंपल
Musical Instrument
स्थानिक ऑडियो, एनिमेशन और इंटरैक्शन प्रदर्शित करता है।
Simple Character Controllers
एनिमेशन, look at और मूवमेंट के संयोजन को प्रदर्शित करता है।
Image Tracking
दिखाता है कि कस्टम Image Marker पर 3D कंटेंट कैसे अटैच करें। AR में नीचे दिए गए सीन को शुरू करें और अपने फ़ोन के कैमरे को स्क्रीन पर Image Marker की ओर इंगित करें, या इसे प्रिंट करें।

सैंपल Image Marker डाउनलोड करें
Android पर: कृपया Chrome Flags में "WebXR Incubations" चालू करें। आप अपने Android फ़ोन के Chrome ब्राउज़र एड्रेस बार में chrome://flags/#webxr-incubations पेस्ट करके उन्हें ढूंढ सकते हैं।
Interactive Building Blocks Overview
अपने स्वयं के Everywhere Actions बनाएँ
नए Everywhere Actions बनाने में TypeScript में अपने Action के लिए कोड लिखना शामिल है, जिसका उपयोग ब्राउज़र और WebXR में किया जाएगा, और QuickLook के माध्यम से iOS पर Augmented Reality के लिए एक मैचिंग सेटअप बनाने के लिए हमारे TriggerBuilder और ActionBuilder API का उपयोग करना शामिल है। कस्टम Action बनाते समय, ध्यान रखें कि QuickLook में उपलब्ध सुविधाओं का एक सीमित सेट है। आप ब्राउज़र और WebXR के लिए किसी भी कोड का उपयोग कर सकते हैं, लेकिन QuickLook के लिए व्यवहार उपलब्ध Triggers और Actions से बनाए गए एक अनुमान की आवश्यकता हो सकती है।
Tips
अक्सर विशिष्ट व्यवहारों के निर्माण के लिए लीक से हटकर सोचना और उपलब्ध निम्न-स्तरीय Actions को रचनात्मक रूप से लागू करना आवश्यक होता है। एक उदाहरण "Tap to Place" Action होगा - QuickLook में कोई Raycasting या Hit testing उपलब्ध नहीं है, लेकिन आप अपेक्षित प्लेसमेंट क्षेत्र को कई अदृश्य वस्तुओं से ढक सकते हैं और रखी जाने वाली वस्तु को टैप की गई अदृश्य वस्तु की स्थिति में ले जाने के लिए "Tap" Trigger का उपयोग कर सकते हैं।
QuickLook के लिए Triggers और Actions Apple के Preliminary Interactive USD Schemas पर आधारित हैं।
Code Example
यहां HideOnStart
का कार्यान्वयन एक उदाहरण के रूप में दिया गया है कि ब्राउज़र और QuickLook दोनों के लिए कार्यान्वयन के साथ एक Everywhere Action कैसे बनाया जाए:
import { Behaviour, UsdzBehaviour, BehaviorModel, TriggerBuilder, ActionBuilder, BehaviorExtension, USDObject, USDZExporterContext } from "@needle-tools/engine";
export class HideOnStart extends Behaviour implements UsdzBehaviour {
start() {
this.gameObject.visible = false;
}
createBehaviours(ext: BehaviorExtension, model: USDObject, _context: USDZExporterContext) {
if (model.uuid === this.gameObject.uuid)
ext.addBehavior(new BehaviorModel("HideOnStart_" + this.gameObject.name,
TriggerBuilder.sceneStartTrigger(),
ActionBuilder.fadeAction(model, 0, false)
));
}
beforeCreateDocument() {
this.gameObject.visible = true;
}
afterCreateDocument() {
this.gameObject.visible = false;
}
}
Tips
अक्सर, सही व्यवहार प्राप्त करने में उपलब्ध निम्न-स्तरीय Actions से उच्च-स्तरीय Actions को संयोजित करना शामिल होगा। उदाहरण के लिए, हमारा "Change Material on Click" Action कई fadeActions
से बना है और आंतरिक रूप से विभिन्न Material सेट वाली वस्तुओं की डुप्लीकेट बनाता है। इन Actions को सावधानीपूर्वक बनाकर, जटिल व्यवहार प्राप्त किए जा सकते हैं।
अपने स्वयं के Actions बनाने के लिए निम्न-स्तरीय मेथड
Triggers | |
---|---|
TriggerBuilder.sceneStartTrigger | |
TriggerBuilder.tapTrigger |
Actions | |
---|---|
ActionBuilder.fadeAction | |
ActionBuilder.startAnimationAction | |
ActionBuilder.waitAction | |
ActionBuilder.lookAtCameraAction | |
ActionBuilder.emphasize | |
ActionBuilder.transformAction | |
ActionBuilder.playAudioAction |
Group Actions | |
---|---|
ActionBuilder.sequence | |
ActionBuilder.parallel | |
GroupAction.addAction | |
GroupAction.makeParallel | |
GroupAction.makeSequence | |
GroupAction.makeLooping | |
GroupAction.makeRepeat |
हमारे अंतर्निहित Everywhere Actions के कार्यान्वयन को देखने के लिए, कृपया src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts
देखें।
आगे पढ़ें
निम्नलिखित पृष्ठ अधिक उदाहरण और नमूने प्रदान करते हैं जिनका आप अभी परीक्षण और अन्वेषण कर सकते हैं:
- हमारी AR Showcase Website पर जाएँ, जिसमें iOS AR और Quicklook पर ध्यान केंद्रित करते हुए कई इंटरैक्टिव AR उदाहरण हैं।
- Needle Engine Everywhere Action Samples
Page automatically translated using AI पेज का अनुवाद स्वचालित रूप से AI का उपयोग करके किया गया है