Tài liệu Needle Engine
Downloads
  • What is Needle Engine?
  • Lời chứng thực
  • Get an overview

    • Samples and Showcase
    • Tầm nhìn của chúng tôi 🔮
    • Tổng quan tính năng
    • Tổng quan kỹ thuật
  • Resources

    • Pricing and Plans
    • Changelog
    • API Documentation
    • Support & Community
  • Integrations

    • Needle Engine cho Unity
    • Needle Engine cho Blender
    • Needle Engine dưới dạng Web Component
    • Needle Engine trên Trang web của bạn
    • Needle Cloud
  • Core Concepts

    • Cấu trúc dự án Needle Engine
    • Everywhere Actions
    • Xuất Tài sản sang glTF
    • Frameworks, Bundlers, HTML
    • Kiểm thử trên thiết bị cục bộ
    • Triển khai và Tối ưu hóa
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Kết nối mạng
    • MaterialX
    • Editor Sync
  • Troubleshooting

    • Cách Gỡ Lỗi
    • Câu hỏi thường gặp (FAQ) 💡
    • Support and Community
  • Videos

    • Tutorials on Youtube
    • Interviews on Youtube
  • Scripting Overview

    • Scripting trong Needle Engine
    • Giới thiệu về Scripting cho các nhà phát triển Unity
    • Needle Core Components
    • Everywhere Actions
  • Components and Lifecycle

    • Creating and using Components
    • @serializable và các decorator khác
    • Tự động tạo Component
    • Ví dụ về Scripting
    • Community Contributions
    • Các Module Bổ Sung
  • Settings and APIs

    • Cấu hình <needle-engine>
    • needle.config.json
    • Needle Engine API
    • three.js API
Help
Samples
Pricing
  • Needle Website
  • Needle Cloud
  • Support Community
  • Discord Server
  • X/Twitter
  • YouTube
  • Newsletter
  • Email
  • Feedback
  • Github
  • English
  • 简体中文
  • Español
  • Português
  • Français
  • हिन्दी
  • 日本語
  • Deutsch
  • Tiếng Việt
Downloads
  • What is Needle Engine?
  • Lời chứng thực
  • Get an overview

    • Samples and Showcase
    • Tầm nhìn của chúng tôi 🔮
    • Tổng quan tính năng
    • Tổng quan kỹ thuật
  • Resources

    • Pricing and Plans
    • Changelog
    • API Documentation
    • Support & Community
  • Integrations

    • Needle Engine cho Unity
    • Needle Engine cho Blender
    • Needle Engine dưới dạng Web Component
    • Needle Engine trên Trang web của bạn
    • Needle Cloud
  • Core Concepts

    • Cấu trúc dự án Needle Engine
    • Everywhere Actions
    • Xuất Tài sản sang glTF
    • Frameworks, Bundlers, HTML
    • Kiểm thử trên thiết bị cục bộ
    • Triển khai và Tối ưu hóa
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Kết nối mạng
    • MaterialX
    • Editor Sync
  • Troubleshooting

    • Cách Gỡ Lỗi
    • Câu hỏi thường gặp (FAQ) 💡
    • Support and Community
  • Videos

    • Tutorials on Youtube
    • Interviews on Youtube
  • Scripting Overview

    • Scripting trong Needle Engine
    • Giới thiệu về Scripting cho các nhà phát triển Unity
    • Needle Core Components
    • Everywhere Actions
  • Components and Lifecycle

    • Creating and using Components
    • @serializable và các decorator khác
    • Tự động tạo Component
    • Ví dụ về Scripting
    • Community Contributions
    • Các Module Bổ Sung
  • Settings and APIs

    • Cấu hình <needle-engine>
    • needle.config.json
    • Needle Engine API
    • three.js API
Help
Samples
Pricing
  • Needle Website
  • Needle Cloud
  • Support Community
  • Discord Server
  • X/Twitter
  • YouTube
  • Newsletter
  • Email
  • Feedback
  • Github
  • English
  • 简体中文
  • Español
  • Português
  • Français
  • हिन्दी
  • 日本語
  • Deutsch
  • Tiếng Việt
  • Getting Started

    • Downloads
    • Needle Engine for Unity
    • Needle Engine for Blender
    • Needle Engine as Web Component
    • Needle Engine on your Website
    • Needle Cloud
    • Custom integrations
    • Support and Community
  • Core Concepts

    • Cấu trúc dự án Needle Engine
    • Everywhere Actions
    • Xuất Tài sản sang glTF
    • Frameworks, Bundlers, HTML
    • Kiểm thử trên thiết bị cục bộ
    • Triển khai và Tối ưu hóa
  • Scripting

    • Scripting trong Needle Engine
    • Giới thiệu về Scripting cho các nhà phát triển Unity
    • Creating and using Components
    • Tự động tạo Component
    • Ví dụ về Scripting
    • Community Contributions
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Kết nối mạng
    • MaterialX
    • Editor Sync
  • Troubleshooting

    • Cách Gỡ Lỗi
    • Câu hỏi thường gặp (FAQ) 💡
    • Support and Community
  • Reference

    • Tổng quan tính năng
    • Tổng quan kỹ thuật
    • Needle Core Components
    • needle.config.json
    • Cấu hình <needle-engine>
    • @serializable và các decorator khác

Everywhere Actions là gì?

Everywhere Actions của Needle là một tập hợp các thành phần được lựa chọn cẩn thận cho phép bạn tạo ra các trải nghiệm tương tác trong Unity mà không cần viết một dòng mã nào. Chúng được thiết kế để phục vụ như các khối xây dựng cho các trải nghiệm trên web, thiết bị di động và XR, bao gồm cả Thực tế tăng cường trên iOS.

Từ các trigger và action cấp thấp, có thể xây dựng các hành vi tương tác phức tạp ở cấp cao hơn.

Nền tảng được hỗ trợ

  • Desktop
  • Thiết bị di động (Android / iOS)
  • Kính VR
  • Thiết bị AR
  • iOS AR – QuickLook (vâng, thật vậy!)

Làm thế nào để sử dụng Everywhere Actions?

Để hỗ trợ iOS, hãy thêm thành phần USDZExporter vào scene của bạn. Tốt nhất là thêm nó vào cùng đối tượng với thành phần WebXR (nhưng không bắt buộc)

Để thêm một action vào bất kỳ đối tượng nào trong scene của bạn chọn đối tượng đó và sau đó nhấp vào Add Component > Needle > Everywhere Actions > [Action].

Danh sách các Everywhere Actions

Hành độngMô tảCác trường hợp sử dụng ví dụ
Play Animation on ClickPhát một trạng thái animation được chọn từ một Animator. Sau khi phát, nó có thể tùy chọn chuyển sang một animation khác.Trình bày sản phẩm, hướng dẫn tương tác, chuyển động nhân vật
Change Material on ClickChuyển đổi một material này sang các material khác. Tất cả các đối tượng có material đó sẽ được chuyển đổi cùng nhau.Cấu hình sản phẩm, nhân vật
Look AtLàm cho một đối tượng nhìn vào camera.Các phần tử UI, sprite, đồ họa thông tin, hiệu ứng billboard, điểm nóng có thể nhấp
Play Audio on ClickPhát một đoạn âm thanh được chọn.Hiệu ứng âm thanh, tường thuật, triển lãm bảo tàng
Hide on StartẨn một đối tượng khi scene bắt đầu để tiết lộ sau này.
Set Active on ClickHiển thị hoặc ẩn các đối tượng.
Change Transform on ClickDi chuyển, xoay hoặc thay đổi tỷ lệ một đối tượng. Cho phép di chuyển tuyệt đối hoặc tương đối.Nhân vật, sản phẩm, animation UI (sử dụng animation cho các chuyển động phức tạp hơn)
Audio SourcePhát âm thanh khi bắt đầu và lặp lại liên tục. Không gian hoặc không không gian.Nhạc nền, âm thanh môi trường
WebXR Image TrackingTheo dõi một mục tiêu hình ảnh và hiển thị hoặc ẩn các đối tượng.Trải nghiệm AR, trình bày sản phẩm

Mẫu

Nhạc cụ

Minh họa âm thanh không gian, animation và tương tác.

Bộ điều khiển Nhân vật đơn giản

Minh họa cách kết hợp animation, nhìn vào và di chuyển.

Theo dõi Hình ảnh

Minh họa cách gắn nội dung 3D vào một điểm đánh dấu hình ảnh tùy chỉnh. Bắt đầu scene bên dưới trong AR và hướng camera điện thoại của bạn vào điểm đánh dấu hình ảnh trên màn hình, hoặc in nó ra.

WebXR Image Tracking trên Android

Trên Android vui lòng bật "WebXR Incubations" trong Chrome Flags. Bạn có thể tìm thấy chúng bằng cách dán chrome://flags/#webxr-incubations vào thanh địa chỉ trình duyệt Chrome trên điện thoại Android của bạn.

Đọc thêm về Image Tracking với Needle Engine

Điểm đánh dấu hình ảnh

Tổng quan về Khối xây dựng Tương tác

Tạo Everywhere Actions của riêng bạn

Tạo Everywhere Actions mới liên quan đến việc viết mã cho hành động của bạn bằng TypeScript, sẽ được sử dụng trong trình duyệt và cho WebXR, và sử dụng API TriggerBuilder và ActionBuilder của chúng tôi để tạo thiết lập phù hợp cho Thực tế tăng cường trên iOS qua QuickLook. Khi tạo các hành động tùy chỉnh, hãy lưu ý rằng QuickLook có một tập hợp tính năng hạn chế. Bạn vẫn có thể sử dụng bất kỳ mã nào bạn muốn cho trình duyệt và WebXR, nhưng hành vi cho QuickLook có thể cần phải là một xấp xỉ được xây dựng từ các trigger và action có sẵn.

Tips

Thông thường, việc xây dựng các hành vi cụ thể đòi hỏi phải suy nghĩ sáng tạo và áp dụng khéo léo các hành động cấp thấp có sẵn. Một ví dụ sẽ là hành động "Tap to Place" – không có raycasting hoặc hit testing khả dụng trong QuickLook, nhưng bạn có thể bao phủ khu vực đặt mong muốn bằng một số đối tượng vô hình và sử dụng trigger "Tap" để di chuyển đối tượng cần đặt đến vị trí của đối tượng vô hình được chạm.

Các Trigger và Action cho QuickLook dựa trên Apple's Preliminary Interactive USD Schemas

Ví dụ mã

Đây là triển khai cho HideOnStart làm ví dụ về cách tạo một Everywhere Action với các triển khai cho cả trình duyệt và QuickLook:

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

Thông thường, việc đạt được hành vi phù hợp sẽ bao gồm việc kết hợp các hành động cấp cao hơn từ các hành động cấp thấp hơn có sẵn. Ví dụ, hành động "Change Material on Click" của chúng tôi được tạo thành từ một số fadeActions và bên trong nó nhân bản các đối tượng với các bộ material khác nhau. Bằng cách xây dựng cẩn thận các hành động này, các hành vi phức tạp có thể được đạt được.

Các phương thức cấp thấp để xây dựng hành động của riêng bạn

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

Để xem cách triển khai của các Everywhere Actions được tích hợp sẵn của chúng tôi, vui lòng xem src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts.

Tham khảo

  • Apple's Preliminary USD Behaviours

Đọc thêm

  • Truy cập Trang web Trưng bày AR của chúng tôi có nhiều ví dụ AR tương tác tập trung vào iOS AR & Quicklook
  • Mẫu Everywhere Action của Needle Engine
  • Image Tracking với Needle Engine

Trang được dịch tự động bằng AI

Suggest changes
Last Updated: 8/15/25, 8:05 AM
Prev
Cấu trúc dự án Needle Engine
Next
Xuất Tài sản sang glTF