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
  • Topics

    • Cấu trúc dự án Web
    • Hành động ở mọi nơi (Everywhere Actions)
    • Exporting Assets to glTF
    • Frameworks, Bundlers, HTML
    • Testing on local devices
    • Triển khai và Tối ưu hóa
  • Advanced

    • Kết nối mạng
    • VR & AR (WebXR)
    • Sử dụng Needle Engine trực tiếp từ HTML
    • Editor Sync
  • Troubleshooting

    • Cách gỡ lỗi
    • Câu hỏi thường gặp (FAQ) 💡
    • Get Help
  • 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
    • Hành động ở mọi nơi (Everywhere Actions)
  • Components and Lifecycle

    • Tạo và sử dụng Component
    • @serializable và các decorator khác
    • Automatic Component Generation
    • 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
  • Topics

    • Cấu trúc dự án Web
    • Hành động ở mọi nơi (Everywhere Actions)
    • Exporting Assets to glTF
    • Frameworks, Bundlers, HTML
    • Testing on local devices
    • Triển khai và Tối ưu hóa
  • Advanced

    • Kết nối mạng
    • VR & AR (WebXR)
    • Sử dụng Needle Engine trực tiếp từ HTML
    • Editor Sync
  • Troubleshooting

    • Cách gỡ lỗi
    • Câu hỏi thường gặp (FAQ) 💡
    • Get Help
  • 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
    • Hành động ở mọi nơi (Everywhere Actions)
  • Components and Lifecycle

    • Tạo và sử dụng Component
    • @serializable và các decorator khác
    • Automatic Component Generation
    • 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 Web
    • Hành động ở mọi nơi (Everywhere Actions)
    • Exporting Assets to glTF
    • Frameworks, Bundlers, HTML
    • Testing on local devices
    • Triển khai và Tối ưu hóa
    • Cách gỡ lỗi
    • Câu hỏi thường gặp (FAQ) 💡
  • Scripting

    • Scripting trong Needle Engine
    • Giới thiệu về Scripting cho các nhà phát triển Unity
    • Tạo và sử dụng Component
    • Automatic Component Generation
    • Ví dụ về Scripting
    • Community Contributions
  • Advanced

    • VR & AR (WebXR)
    • Kết nối mạng
    • Editor Sync
  • 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

Needle Logo + Web Components Logo + three.js Logo

Needle Engine dưới dạng Web Component

Needle Engine cung cấp một web component dễ sử dụng có thể được dùng để hiển thị các cảnh 3D phong phú, tương tác trực tiếp trong HTML chỉ với vài dòng code. Đây là web component tương tự được sử dụng trong các tích hợp của chúng tôi.

Một khi bạn vượt quá các tùy chọn cấu hình của web component, bạn có thể mở rộng nó bằng các script và component tùy chỉnh, cũng như truy cập đầy đủ vào scene graph theo lập trình.

Sử dụng các tích hợp!

Đối với các cảnh 3D phức tạp và lặp lại nhanh chóng, chúng tôi khuyên bạn nên sử dụng Needle Engine với một trong các tích hợp của chúng tôi. Chúng cung cấp quy trình tạo mạnh mẽ, bao gồm xem trước trực tiếp, hot reloading và pipeline build nâng cao với các tối ưu hóa 3D.

Bắt đầu nhanh

:::: code-group ::: code-group-item index.html

<!DOCTYPE html>
<html>
<head>
    <!-- Optional import map if you want to add additional JS modules and let's use use `import { Behaviour } from "@needle-tools/engine"` -->
    <script type="importmap">
        {
          "imports": {
            "@needle-tools/engine": "https://cdn.jsdelivr.net/npm/@needle-tools/engine/dist/needle-engine.min.js"
          }
        }
    </script>
    <!-- Import the Needle Engine module -->
    <script 
        type="module" 
        src="https://cdn.jsdelivr.net/npm/@needle-tools/engine/dist/needle-engine.min.js">
    </script>
</head>
<body style="margin:0; padding:0;">
    <!-- 
    Add the <needle-engine> HTML component to your page, and specify a source file.
    This .glb file contains interactions, sounds, a skybox, and animations,
    because it was exported from our Unity integration.
    -->
    <needle-engine src="https://cloud.needle.tools/-/assets/ZUBcksQ0gIz-Q0gIz/file" background-blurriness="0.8"></needle-engine>
</body>
</html>

::: ::: code-group-item Kết quả

::: :::: [Mở ví dụ này trên Stackblitz](https://stackblitz.com/edit/needle-engine-prebundled?file=index.html)

Cài đặt từ npm

Bạn có thể làm việc trực tiếp với Needle Engine mà không cần sử dụng bất kỳ Tích hợp nào. Needle Engine sử dụng three.js làm scene graph và thư viện render, vì vậy tất cả chức năng từ three.js cũng có sẵn trong Needle.

Bạn có thể cài đặt Needle Engine từ npm bằng cách chạy:
npm i @needle-tools/engine

Cài đặt needle-engine từ một CDN

Mặc dù mẫu mặc định của chúng tôi sử dụng vite, Needle Engine cũng có thể được sử dụng trực tiếp với vanilla Javascript – mà không cần sử dụng bất kỳ bundler nào.

Bạn có thể thêm phiên bản hoàn chỉnh, được đóng gói sẵn của Needle Engine vào trang web của mình chỉ với một dòng code. Điều này bao gồm các core component, physics, particles, networking, XR, và nhiều hơn nữa. Hãy sử dụng cái này nếu bạn không chắc chắn!

<script type="module"
    src="https://cdn.jsdelivr.net/npm/@needle-tools/engine/dist/needle-engine.min.js">
</script>

Nếu bạn biết dự án của mình không yêu cầu các tính năng vật lý (physics), bạn cũng có thể sử dụng phiên bản nhỏ hơn của Needle Engine, không có physics engine. Điều này sẽ làm giảm tổng kích thước tải về.

<script type="module"
    src="https://cdn.jsdelivr.net/npm/@needle-tools/engine/dist/needle-engine.light.min.js">
</script>

Nhiều ví dụ có thể được tìm thấy trên StackBlitz.

Tạo mẫu nhanh trên StackBlitz

Để thử nghiệm nhanh, chúng tôi cung cấp một liên kết tiện lợi để tạo một dự án mới sẵn sàng bắt đầu: engine.needle.tools/new Một bộ sưu tập lớn các ví dụ cũng có sẵn trong Needle Engine Stackblitz Collection của chúng tôi.

Phát triển cục bộ với VS Code

Nếu bạn muốn làm việc với Needle Engine mà không có bất kỳ tích hợp nào, thì bạn sẽ muốn chạy một máy chủ cục bộ cho trang web của mình. Dưới đây là cách bạn có thể làm điều đó với Visual Studio Code:

  1. Mở thư mục chứa file HTML của bạn trong Visual Studio Code.
  2. Cài đặt extension LiveServer.
  3. Kích hoạt live-server (có nút "Go Live" ở chân trang của VSCode).
  4. Mở http://localhost:5500/index.html trong trình duyệt web của bạn, nếu nó không tự động mở.

three.js và Needle Engine

Vì Needle Engine sử dụng three.js làm scene graph và thư viện render, tất cả chức năng từ three.js cũng có sẵn trong Needle và có thể được sử dụng từ các component script. Chúng tôi đang sử dụng một fork của three.js bao gồm các tính năng và cải tiến bổ sung, đặc biệt liên quan đến WebXR, Animation và USDZ export.

Tips

Đảm bảo cập nhật đường dẫn <needle-engine src="myScene.glb"> đến một file glb hiện có hoặc tải xuống file glb mẫu này và đặt nó vào cùng thư mục với index.html, đặt tên là myScene.glb hoặc cập nhật đường dẫn src.

<!DOCTYPE html>
<html lang="en">
    
<head>
    <meta charset="UTF-8" />
    <link rel="icon" href="favicon.ico">
    <meta name="viewport" content="width=device-width, user-scalable=no">
    <title>Made with Needle</title>

    <!-- importmap -->
    <script type="importmap">
        {
          "imports": {
            "three": "https://cdn.jsdelivr.net/npm/three/build/three.module.js",
            "three/": "https://cdn.jsdelivr.net/npm/three",
          }
        }
    </script>
    <!-- parcel require must currently defined somewhere for peerjs -->
    <script> var parcelRequire; </script>
    
    <!-- the .light version does not include dependencies like Rapier.js (so no physics) to reduce the bundle size, if your project needs physics then just change it to needle-engine.min.js -->
    <script type="module" src="https://cdn.jsdelivr.net/npm/@needle-tools/engine/dist/needle-engine.min.js"></script>

    <style>
        body { margin: 0; }
        needle-engine {
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            background: grey;
        }
    </style>

</head>

<body>

    <!-- load a gltf or glb here as your scene and listen to the finished event to start interacting with it -->
    <needle-engine src="myScene.glb" loadfinished="onLoaded"></needle-engine>

</body>

<script>
    function onLoaded(ctx) {
        console.log("Loading a glb file finished 😎");
        console.log("This is the scene: ", ctx.scene);
    }
</script>

</html>

Xem trên github

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

Suggest changes
Last Updated:: 4/22/25, 8:44 AM
Prev
Needle Engine for Blender
Next
Needle Engine on your Website