Needle Engine
  • README
  • Code Of Conduct
  • HOW TO
  • documentation
    • SUMMARY
    • _backlog-mermaid
    • _backlog
    • _meta-test
    • Automatic Component Generation
    • Needle Core Components
    • How To Debug
    • Deployment and Optimization
    • embedding
    • Everywhere Actions
    • Example Projects ✨
    • Exporting Assets, Animations, Prefabs, Materials, Lightmaps...
    • Questions and Answers (FAQ) 💡
    • Feature Overview
    • This page has been moved: continue here
    • getting-started
    • Frameworks, Bundlers, HTML
    • index
    • Additional Modules
    • Networking
    • Needle Engine Project Structure
    • Samples Projects
    • Scripting Examples
    • Creating and using Components
    • Live
    • Live
    • About
    • Live
    • Live
    • Live
    • Live
    • Support, Community & AI
    • Technical Overview
    • Testimonials
    • Testing on local devices
    • Using Needle Engine directly from HTML
    • vision
    • VR & AR (WebXR)
    • blender
      • Needle Engine for Blender
    • cloud
      • Needle Cloud
    • custom-integrations
      • index
    • getting-started
      • Scripting Introduction for Unity Developers
      • Getting Started & Installation
      • Scripting in Needle Engine
    • reference
      • needle.config.json
      • <needle-engine> Configuration
      • @serializable and other decorators
    • three
      • index
    • unity
      • Editor Sync
      • Needle Engine for Unity
    • lang
      • de
        • 404
        • SUMMARY
        • Automatische Komponenten-Generierung
        • Needle-Kernkomponenten
        • Debugging
        • Bereitstellung und Optimierung
        • embedding
        • Everywhere Actions
        • Beispielprojekte ✨
        • Assets, Animationen, Prefabs, Materialien, Lightmaps exportieren...
        • Fragen und Antworten (FAQ) 💡
        • Funktionsübersicht
        • Diese Seite wurde verschoben: hier fortfahren
        • getting-started
        • Frameworks, Bundler, HTML
        • index
        • Zusätzliche Module
        • Netzwerkfunktionen
        • Needle Engine Projektstruktur
        • Beispielprojekte
        • Scripting Beispiele
        • Erstellen und Verwenden von Komponenten
        • Live
        • Live
        • Über
        • Live
        • Live
        • Live
        • Live
        • Support und Community
        • Technischer Überblick
        • Erfahrungsberichte
        • Testen auf lokalen Geräten
        • Needle Engine direkt aus HTML verwenden
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine für Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Einführung in das Scripting für Unity-Entwickler
          • Erste Schritte & Installation
          • Scripting in Needle Engine
        • reference
          • needle.config.json
          • <needle-engine> Konfiguration
          • @serializable und andere Decorators
        • three
          • index
        • unity
          • Editor Synchronisierung
          • Needle Engine für Unity
      • es
        • SUMMARY
        • Generación Automática de Componentes
        • Componentes principales de Needle
        • Cómo Depurar
        • Despliegue y optimización
        • embedding
        • Acciones Everywhere
        • Proyectos de Ejemplo ✨
        • Exportación de Assets, Animaciones, Prefabs, Materiales, Lightmaps...
        • Preguntas Frecuentes (FAQ) 💡
        • Resumen de Características
        • Esta página ha sido movida: continúe aquí
        • getting-started
        • Frameworks, Bundlers, HTML
        • index
        • Módulos Adicionales
        • Redes
        • Estructura de Proyecto de Needle Engine
        • Proyectos de ejemplo
        • Ejemplos de scripting
        • Crear y usar Components
        • En vivo
        • En Vivo
        • Acerca de
        • En vivo
        • En vivo
        • En vivo
        • En vivo
        • Soporte y Comunidad
        • Resumen técnico
        • Testimonios
        • Testing on local devices
        • Usando Needle Engine directamente desde HTML
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine para Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Introducción al Scripting para Desarrolladores de Unity
          • Primeros pasos e instalación
          • Scripting in Needle Engine
        • reference
          • needle.config.json
          • Configuración de <needle-engine>
          • @serializable y otros decoradores
        • three
          • index
        • unity
          • Editor Sync
          • Needle Engine para Unity
      • fr
        • SUMMARY
        • Génération automatique de composants
        • Composants principaux de Needle
        • Comment déboguer
        • Déploiement et Optimisation
        • embedding
        • Everywhere Actions
        • Exemples de Projets ✨
        • Exporter des Assets, des Animations, des Prefabs, des Matériaux, des Lightmaps...
        • Questions et Réponses (FAQ) 💡
        • Aperçu des fonctionnalités
        • Cette page a été déplacée : continuez ici
        • getting-started
        • Frameworks, Bundlers, HTML
        • index
        • Modules supplémentaires
        • Réseau
        • Structure du projet Needle Engine
        • Projets d'exemples
        • Exemples de Scripting
        • Créer et utiliser des Components
        • showcase-bike
        • En direct
        • À propos
        • En direct
        • Jouer
        • En direct
        • En direct
        • Support et Communauté
        • Vue d'ensemble technique
        • Témoignages
        • Tester sur les appareils locaux
        • Utiliser Needle Engine directement depuis HTML
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine pour Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Introduction au Scripting pour les Développeurs Unity
          • Premiers pas et installation
          • Scripting in Needle Engine
        • reference
          • needle.config.json
          • <needle-engine> Configuration
          • @serializable et autres décorateurs
        • three
          • index
        • unity
          • Synchronisation de l'Editor (Editor Sync)
          • Needle Engine pour Unity
      • hi
        • SUMMARY
        • कंपोनेंट का स्वतः जनरेशन
        • नीडल कोर कंपोनेंट्स
        • How To Debug
        • Deployment and Optimization
        • embedding
        • Everywhere Actions
        • उदाहरण प्रोजेक्ट ✨
        • एसेट, एनिमेशन, प्रीफैब, मटेरियल, लाइटमैप्स... को एक्सपोर्ट करना
        • प्रश्न और उत्तर (FAQ) 💡
        • सुविधा अवलोकन
        • यह पृष्ठ स्थानांतरित कर दिया गया है: यहां जारी रखें
        • getting-started
        • Frameworks, Bundlers, HTML
        • index
        • अतिरिक्त मॉड्यूल
        • नेटवर्किंग
        • Needle Engine प्रोजेक्ट स्ट्रक्चर
        • samples-and-modules
        • स्क्रिप्टिंग उदाहरण
        • कंपोनेंट बनाना और उपयोग करना
        • लाइव
        • लाइव
        • परिचय
        • लाइव
        • लाइव
        • लाइव
        • लाइव
        • समर्थन और समुदाय
        • तकनीकी अवलोकन
        • प्रशंसापत्र
        • Testing on local devices
        • HTML से सीधे Needle Engine का उपयोग करना
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine for Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Unity डेवलपर्स के लिए स्क्रिप्टिंग परिचय
          • आरंभ करना और इंस्टॉलेशन
          • Needle Engine में स्क्रिप्टिंग
        • reference
          • needle.config.json
          • <needle-engine> कॉन्फ़िगरेशन
          • @serializable and other decorators
        • three
          • index
        • unity
          • Editor Sync
          • Unity के लिए Needle Engine
      • ja
        • SUMMARY
        • 自動コンポーネント生成
        • Needleコアコンポーネント
        • デバッグの方法
        • デプロイと最適化
        • embedding
        • Everywhere Actions
        • サンプルプロジェクト ✨
        • アセット、アニメーション、Prefab、マテリアル、ライトマップなどのエクスポート
        • よくある質問(FAQ)💡
        • 機能概要
        • このページは移動しました: こちらからどうぞ
        • getting-started
        • フレームワーク、バンドラー、HTML
        • index
        • 追加モジュール
        • ネットワーキング
        • Needle Engineプロジェクトの構造
        • サンプルプロジェクト
        • スクリプティング例
        • Creating and using Components
        • ライブ
        • showcase-castle
        • 概要
        • ライブ
        • ライブ
        • ライブ
        • ライブ
        • サポートとコミュニティ
        • 技術概要
        • お客様の声
        • ローカルデバイスでのテスト
        • HTMLからNeedle Engineを直接使用する
        • vision
        • VR & AR (WebXR)
        • blender
          • Blender 用 Needle Engine
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Scripting Introduction for Unity Developers
          • はじめに & インストール
          • Needle Engineでのスクリプティング
        • reference
          • needle.config.json
          • <needle-engine> 設定
          • @serializable およびその他のデコレーター
        • three
          • index
        • unity
          • Editor Sync
          • Unity用Needle Engine
      • pt
        • SUMMARY
        • Automatic Component Generation
        • Componentes Principais do Needle
        • Como Depurar
        • Implementação e Otimização
        • embedding
        • Everywhere Actions
        • Projetos de Exemplo ✨
        • Exportar Recursos, Animações, Prefabs, Materiais, Lightmaps...
        • Perguntas e Respostas (FAQ) 💡
        • Visão Geral dos Recursos
        • Esta página foi movida: continue aqui
        • getting-started
        • Frameworks, Bundlers, HTML
        • index
        • Módulos Adicionais
        • Redes
        • Estrutura do Projeto Needle Engine
        • Projetos de Exemplo
        • Exemplos de Scripting
        • Criar e usar Componentes
        • Ao Vivo
        • Ao Vivo
        • Sobre
        • Ao Vivo
        • Ao Vivo
        • Ao Vivo
        • Ao Vivo
        • Suporte e Comunidade
        • Visão Geral Técnica
        • Depoimentos
        • Testar em dispositivos locais
        • vanilla-js
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine para Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Introdução à Scripting para Developers Unity
          • Começar e Instalação
          • Scripting no Needle Engine
        • reference
          • needle.config.json
          • needle-engine-attributes
          • @serializable e outros decorators
        • three
          • index
        • unity
          • Sincronização do Editor
          • Needle Engine para Unity
      • vn
        • 404
        • SUMMARY
        • Automatic Component Generation
        • Các Component Cốt lõi của Needle
        • Cách gỡ lỗi
        • Triển khai và Tối ưu hóa
        • embedding
        • Hành động ở mọi nơi (Everywhere Actions)
        • Các Dự Án Ví Dụ ✨
        • Xuất Tài sản, Hoạt ảnh, Prefab, Vật liệu, Lightmap...
        • Câu hỏi thường gặp (FAQ) 💡
        • Tổng quan tính năng
        • Trang này đã được di chuyển: tiếp tục tại đây
        • getting-started
        • Frameworks, Bundlers, HTML
        • index
        • Các Module Bổ Sung
        • Kết nối mạng
        • Cấu trúc dự án Needle Engine
        • samples-and-modules
        • Ví dụ về Scripting
        • Tạo và sử dụng Component
        • Trực tiếp
        • Trực tiếp
        • Giới thiệu
        • Trực tiếp
        • Chơi thử
        • Trực tiếp
        • Demo trực tiếp
        • Hỗ trợ và Cộng đồng
        • Tổng quan kỹ thuật
        • Lời chứng thực
        • Testing on local devices
        • Sử dụng Needle Engine trực tiếp từ HTML
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine cho Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Giới thiệu về Scripting cho các nhà phát triển Unity
          • Getting Started & Installation
          • Scripting trong Needle Engine
        • reference
          • needle.config.json
          • Cấu hình <needle-engine>
          • @serializable và các decorator khác
        • three
          • index
        • unity
          • Editor Sync
          • Needle Engine cho Unity
      • zh
        • SUMMARY
        • 自动生成组件
        • Needle 核心组件
        • 如何调试
        • 部署与优化
        • embedding
        • Everywhere Actions
        • 示例项目 ✨
        • 导出资源、动画、预制体、材质、光照贴图...
        • 常见问题 (FAQ) 💡
        • 功能概览
        • 此页面已移动:请在此处继续
        • getting-started
        • 框架、打包器、HTML
        • index
        • 附加模块
        • 网络
        • Needle Engine 项目结构
        • 示例项目
        • Scripting Examples
        • Creating and using Components
        • 实时示例
        • 实时
        • 关于
        • 实时演示
        • 在线试玩
        • 实时演示
        • 现场演示
        • 支持与社区
        • 技术概述
        • 用户评价
        • Testing on local devices
        • 使用 Needle Engine 直接从 HTML
        • vision
        • VR & AR (WebXR)
        • blender
          • Needle Engine for Blender
        • cloud
          • Needle Cloud
        • custom-integrations
          • index
        • getting-started
          • Scripting Introduction for Unity Developers
          • 入门与安装
          • 在 Needle Engine 中编写脚本
        • reference
          • needle.config.json
          • <needle-engine> 配置
          • @serializable and other decorators
        • three
          • index
        • unity
          • 编辑器同步
          • Unity 版 Needle Engine
Powered by GitBook
On this page
  • Triển khai nghĩa là gì?
  • Các nền tảng triển khai khả dụng
  • Các bản dựng phát triển (Development Builds)
  • Các bản dựng sản xuất (Production Builds)
  • Các tùy chọn triển khai
  • Build ra thư mục
  • Quy trình triển khai đa nền tảng
  • Tham số dòng lệnh Needle Engine cho Unity
Edit on GitHub
  1. documentation
  2. lang
  3. vn

Triển khai và Tối ưu hóa

PreviousCách gỡ lỗiNextembedding

Last updated 26 days ago

Triển khai nghĩa là gì?

Triển khai là quá trình làm cho ứng dụng của bạn khả dụng với công chúng trên một trang web. Needle Engine đảm bảo rằng dự án của bạn nhỏ nhất và nhanh nhất có thể bằng cách sử dụng các kỹ thuật nén mới nhất như KTX2, Draco, và Meshopt.

Các nền tảng triển khai khả dụng

  • Tuyệt vời cho các ứng dụng web không gian và chia sẻ tài sản.

  • Tuyệt vời cho thử nghiệm và viết mã phía máy chủ.

  • Tuyệt vời để lưu trữ trang web và tên miền tùy chỉnh của riêng bạn.

  • Thường được sử dụng cho game.

  • Lưu trữ trang tĩnh miễn phí.

  • Nền tảng dành cho các nhà phát triển frontend

  • Triển khai trực tiếp đến bất kỳ máy chủ nào có hỗ trợ FTP. Cả FTP và SFTP đều được hỗ trợ.

  • Khi build ra một thư mục, bạn có thể tải các file lên bất kỳ máy chủ web nào hoặc dịch vụ lưu trữ khác.

  • Nền tảng game trên Facebook và Facebook Messenger.

::: tip Bạn cảm thấy thiếu gì đó? Vui lòng cho chúng tôi biết trong của chúng tôi! :::

Các bản dựng phát triển (Development Builds)

Xem các hướng dẫn ở trên về cách truy cập các tùy chọn từ bên trong Editor của bạn (ví dụ: Unity hoặc Blender).

Chúng tôi thường khuyên nên tạo các bản dựng sản xuất để tối ưu hóa kích thước file và tốc độ tải (xem thêm thông tin bên dưới).

Các bản dựng sản xuất (Production Builds)

Tùy chọn tối ưu hóa và nén

Nén texture

Các bản dựng sản xuất theo mặc định sẽ nén texture bằng KTX2 (ETC1S hoặc UASTC tùy thuộc vào cách sử dụng của chúng trong dự án) nhưng bạn cũng có thể chọn nén WebP và chọn mức chất lượng.

Làm cách nào để chọn giữa nén ETC1S, UASTC và WebP?

Định dạng
ETC1S
UASTC
WebP

Sử dụng bộ nhớ GPU

Thấp

Thấp

Cao (chưa nén)

Kích thước file

Thấp

Cao

Rất thấp

Chất lượng

Trung bình

Rất cao

Phụ thuộc vào cài đặt chất lượng

Cách sử dụng điển hình

Hoạt động cho mọi thứ, nhưng tốt nhất cho texture màu

Texture dữ liệu chi tiết cao: normal map, roughness, metallic, v.v.

Các file mà chất lượng ETC1S không đủ nhưng UASTC quá lớn

Bạn có tùy chọn chọn cài đặt nén texture và tải tiến trình cho từng Texture bằng cách sử dụng Needle Texture Importer trong Unity hoặc trong tab Material trong Blender.

Nén Mesh

Theo mặc định, bản dựng sản xuất sẽ nén mesh bằng nén Draco. Sử dụng thành phần MeshCompression để chọn giữa draco và mesh-opt cho mỗi glTF được xuất ra. Ngoài ra, bạn có thể thiết lập mesh simplification để giảm số lượng poly cho các bản dựng sản xuất trong cài đặt import mesh (Unity). Khi xem ứng dụng của bạn trong trình duyệt, bạn có thể thêm ?wireframe vào URL của mình để xem trước mesh.

Làm cách nào để chọn giữa Draco và Meshopt?

Định dạng
Draco
Meshopt

Sử dụng bộ nhớ GPU

Trung bình

Thấp

Kích thước file

Thấp nhất

Thấp

Nén Animation

Không

Có

:::details Làm cách nào để đặt cài đặt nén draco và meshopt? Thêm thành phần MeshCompression để chọn loại nén nào nên được áp dụng cho mỗi glTF được xuất ra.

  • Để thay đổi nén cho scene hiện tại, chỉ cần thêm nó vào bất kỳ đâu trong scene gốc của bạn.

  • Để thay đổi nén cho prefab hoặc NestedGltf, hãy thêm nó vào một GltfObject hoặc prefab được tham chiếu / xuất bởi bất kỳ thành phần nào của bạn.

  • Để thay đổi nén cho scene được tham chiếu, chỉ cần thêm nó vào scene được tham chiếu được xuất ra. :::

Progressive Textures

Bạn cũng có thể thêm thành phần Progressive Texture Settings vào bất kỳ đâu trong scene của mình, để tất cả các texture trong dự án của bạn được tải dần dần. Tải progressive hiện chưa áp dụng cho lightmap hoặc skybox texture.

Với tải progressive, texture sẽ được tải trước bằng phiên bản độ phân giải thấp hơn. Phiên bản chất lượng đầy đủ sẽ được tải động khi texture trở nên hiển thị. Điều này thường giảm đáng kể thời gian tải ban đầu của scene của bạn.

:::details Làm cách nào để bật tải progressive texture?

Progressive textures có thể được bật cho từng texture hoặc cho tất cả các texture trong dự án của bạn:

Bật cho tất cả các texture trong dự án không có cài đặt cụ thể nào khác:

Automatic Mesh LODs (Level of Detail)

Kể từ Needle Engine 3.36, chúng tôi tự động tạo LOD mesh và chuyển đổi giữa chúng trong runtime. LOD được tải theo yêu cầu và chỉ khi cần, vì vậy tính năng này giúp giảm cả thời gian tải và hiệu suất của bạn.

Lợi ích chính

  • Thời gian tải ban đầu nhanh hơn

  • Thời gian render nhanh hơn do trung bình ít đỉnh hơn trên màn hình

  • Raycasting nhanh hơn do sử dụng LOD mesh

Bạn có thể tắt tạo LOD cho toàn bộ dự án của mình trong thành phần Progressive Loading Settings hoặc trong cài đặt Mesh Importer.

Các tùy chọn triển khai

Triển khai đến Glitch 🎏

Bạn có thể triển khai đến Glitch bằng cách thêm thành phần DeployToGlitch vào scene của bạn và làm theo hướng dẫn.

Lưu ý rằng các dự án miễn phí được lưu trữ trên Glitch không thể vượt quá ~100 MB. Nếu bạn cần tải lên một dự án lớn hơn, hãy cân nhắc sử dụng một nền tảng triển khai khác.

:::details Làm cách nào để triển khai đến Glitch từ Unity?

  1. Thêm thành phần DeployToGlitch vào GameObject cũng có thành phần ExportInfo.

  2. Sau khi Khóa Triển khai đã được nhận, bạn có thể nhấp vào nút Build & Deploy để tải lên glitch.

:::

:::details Làm cách nào để triển khai đến Glitch từ Blender?

  1. Tìm bảng Deploy To Glitch trong tab Scene

  2. Nhấp vào nút Remix on glitch trên thành phần

  3. Trình duyệt của bạn sẽ mở template dự án glitch

  4. Chờ Glitch tạo dự án mới

  5. Sao chép và dán URL dự án vào bảng Blender DeployToGlitch làm tên dự án (bạn có thể dán toàn bộ URL, bảng điều khiển sẽ trích xuất thông tin cần thiết)

  6. Trên Glitch, mở file .env và nhập mật khẩu vào trường Variable Value bên cạnh DEPLOY_KEY

  7. Nhập cùng mật khẩu vào Blender trong trường Key

  8. Nhấp vào nút DeployToGlitch để build và tải dự án của bạn lên glitch. Trình duyệt sẽ mở ra khi quá trình tải lên hoàn thành. Thử làm mới trang nếu nó hiển thị màu đen sau khi đã mở. :::

Khắc phục sự cố Glitch

Triển khai đến Netlify

:::details Làm cách nào để triển khai đến Netlify từ Unity? Chỉ cần thêm thành phần DeployToNetlify vào scene của bạn và làm theo hướng dẫn. Bạn có thể tạo dự án mới chỉ với một cú nhấp chuột hoặc bằng cách triển khai đến các dự án hiện có.

Triển khai đến Vercel

  1. Tạo một dự án mới trên vercel

  2. Thêm dự án web của bạn vào kho lưu trữ github

  3. Thêm kho lưu trữ vào dự án của bạn trên vercel

Triển khai đến itch.io

:::details Làm cách nào để triển khai đến itch.io từ Unity?

  1. Chờ quá trình build hoàn thành, nó sẽ mở một thư mục chứa file zip cuối cùng khi hoàn thành

  2. Lưu trang itch của bạn và xem trang dự án itch. Nó sẽ tải dự án Needle Engine của bạn 😊

Cài đặt tùy chọn

:::details Itch.io: failed to find index.html

Failed to find index.html

:::

Triển khai đến FTP

:::details Làm cách nào để triển khai đến máy chủ FTP của tôi từ Unity?

  1. Thêm thành phần DeployToFTP¹ vào một GameObject trong scene của bạn (nên thêm vào cùng GameObject với ExportInfo - nhưng không bắt buộc)

  2. Gán một asset máy chủ FTP và điền thông tin máy chủ, tên người dùng và mật khẩu nếu bạn chưa làm ²Asset này chứa thông tin truy cập đến máy chủ FTP của bạn - bạn nhận được chúng khi tạo một tài khoản FTP mới tại nhà cung cấp dịch vụ lưu trữ của bạn

  3. Nhấp vào nút Build & Deploy trên thành phần DeployToFTP để build dự án của bạn và tải nó lên tài khoản FTP của bạn

:::details Làm cách nào để triển khai đến máy chủ FTP của tôi theo cách thủ công?

  1. Mở File > Build Settings, chọn Needle Engine, và nhấp vào Build

  2. Chờ quá trình build hoàn thành - thư mục dist kết quả sẽ tự động mở ra sau khi tất cả các bước build và nén đã chạy.

  3. Sao chép các file từ thư mục dist vào bộ nhớ FTP của bạn.

Xong! 😉

Lưu ý: Nếu kết quả không hoạt động khi tải lên, có thể máy chủ web của bạn không hỗ trợ phục vụ các file đã nén gzip. Bạn có hai tùy chọn để khắc phục vấn đề: Tùy chọn 1: Bạn có thể thử bật nén gzip trên máy chủ của mình bằng cách sử dụng file htaccess! Tùy chọn 2: Bạn có thể tắt nén gzip trong cài đặt build tại File/Build Window và chọn nền tảng Needle Engine.

Lưu ý: Nếu bạn gặp lỗi trong quá trình nén, vui lòng cho chúng tôi biết và báo cáo lỗi! Nếu dự án của bạn hoạt động cục bộ và chỉ thất bại khi thực hiện các bản dựng sản xuất, bạn có thể khắc phục ngay bằng cách thực hiện Bản dựng phát triển (Development Build). Để làm điều đó, chỉ cần bật Development Build trong Build Settings.

:::

Bật gzip bằng file .htaccess

Để bật nén gzip trên máy chủ FTP của bạn, bạn có thể tạo một file có tên .htaccess trong thư mục bạn muốn tải lên (hoặc thư mục mẹ). Chèn đoạn mã sau vào file .htaccess của bạn và lưu/tải nó lên máy chủ của bạn:

<IfModule mod_mime.c>
RemoveType .gz
AddEncoding gzip .gz
AddType application/javascript .js.gz

Triển khai đến Github Pages

:::details Làm cách nào để triển khai đến Github Pages từ Unity?

:::

Khắc phục sự cố github pages

  • Tôi đã triển khai đến github pages nhưng không có action nào chạy / trang web không trực tuyến

    • Nếu bạn triển khai lần đầu, có thể mất vài phút để trang web của bạn hoạt động. Bạn có thể kiểm tra tab Actions trên github (/actions) để xem quá trình triển khai.

    • Nếu trang web của bạn không trực tuyến sau vài phút hoặc bạn không thấy bất kỳ workflow nào chạy trong tab Actions trên github, thì hãy vào trang cài đặt Github Pages (/settings/pages) và đảm bảo Branch được đặt thành gh-pages.

Triển khai đến Facebook Instant Games

Với Needle Engine, bạn có thể build cho Facebook Instant Games một cách tự động Không yêu cầu bất kỳ chỉnh sửa thủ công nào đối với ứng dụng web hoặc game của bạn.

:::details Làm cách nào để triển khai đến Facebook Instant Games từ Unity?

  • Nhấp vào nút Build For Instant Games

  • Sau khi quá trình build hoàn thành, bạn sẽ nhận được một file ZIP mà bạn có thể tải lên ứng dụng facebook của mình.

  • Xong - sau đó bạn có thể nhấp vào nút Play bên cạnh mỗi phiên bản để kiểm tra game của bạn trên facebook.

:::

:::details Làm cách nào để tạo một ứng dụng trên Facebook (với khả năng Instant Games)

Build ra thư mục

Trong Unity, mở File/Build Settings và chọn Needle Engine để xem các tùy chọn:

Để build dự án web của bạn để tải lên bất kỳ máy chủ web nào, bạn có thể nhấp vào Build trong Cửa sổ Build Settings của Unity Editor. Bạn có thể bật hộp kiểm Development Build để bỏ qua nén (xem bên dưới), điều này yêu cầu phải cài đặt toktx trên máy tính của bạn.

Để xem trước bản build cuối cùng của bạn cục bộ, bạn có thể sử dụng nút Preview Build ở cuối cửa sổ. Nút này trước tiên sẽ thực hiện một bản build thông thường và sau đó khởi động một máy chủ cục bộ trong thư mục chứa các file cuối cùng để bạn có thể thấy kết quả khi tải các file này lên máy chủ web của mình.

Nodejs chỉ cần thiết trong quá trình phát triển. Trang web được phân phối (sử dụng template vite mặc định của chúng tôi) là một trang tĩnh không phụ thuộc vào Nodejs và có thể được đặt trên bất kỳ máy chủ web thông thường nào. Nodejs là cần thiết nếu bạn muốn chạy máy chủ mạng tối giản của chúng tôi trên cùng một máy chủ web (tự động có trong quá trình triển khai Glitch).


Quy trình triển khai đa nền tảng

Có thể tạo các dự án Unity thông thường mà bạn có thể build cho cả Needle Engine và các nền tảng Unity thông thường như Desktop hoặc thậm chí WebGL. Phương pháp "component mapping" của chúng tôi có nghĩa là không có logic runtime nào bị sửa đổi bên trong Unity - nếu muốn, bạn có thể thường xuyên sử dụng Play Mode và build cho các nền tảng mục tiêu khác. Trong một số trường hợp, điều này sẽ có nghĩa là bạn có mã trùng lặp (mã C# và logic TypeScript tương ứng). Mức độ công việc bổ sung do điều này phụ thuộc vào dự án của bạn.

Tham số dòng lệnh Needle Engine cho Unity

Needle Engine cho Unity hỗ trợ nhiều tham số dòng lệnh khác nhau để xuất các asset riêng lẻ (Prefabs hoặc Scenes) hoặc để build toàn bộ dự án web ở chế độ batch (không cửa sổ).

Danh sách sau đây đưa ra một bảng các tùy chọn có sẵn:

-scene

đường dẫn đến một scene hoặc một asset để xuất, ví dụ: Assets/path/to/myObject.prefab hoặc Assets/path/to/myScene.unity

-outputPath <path/to/output.glb>

đặt đường dẫn đầu ra cho bản build (chỉ hợp lệ khi build một scene)

-buildProduction

chạy bản dựng sản xuất

-buildDevelopment

chạy bản dựng phát triển

-debug

mở cửa sổ console để gỡ lỗi

Page automatically translated using AI

Sự khác biệt chính so với bản dựng sản xuất là nó không thực hiện nén và (để giảm kích thước file và tốc độ tải) cũng như tùy chọn tải texture chất lượng cao dần dần.

Để tạo bản dựng sản xuất, bạn cần cài đặt , cung cấp khả năng nén texture bằng định dạng siêu nén KTX2. Vui lòng truy cập và tải xuống, cài đặt phiên bản mới nhất (v4.1.0 tại thời điểm viết bài này). Bạn có thể cần khởi động lại Unity sau khi cài đặt.Nếu bạn chắc chắn rằng bạn đã cài đặt toktx và nó nằm trong PATH của bạn nhưng vẫn không tìm thấy, vui lòng khởi động lại máy của bạn và thử build lại.

:::details Nâng cao: Các phần mở rộng glTF tùy chỉnh Nếu bạn định thêm các phần mở rộng glTF tùy chỉnh của riêng mình, build cho sản xuất yêu cầu xử lý chúng trong gltf-transform. Xem để tham khảo. :::

:::details Unity: Làm cách nào để đặt cài đặt nén cho từng texture? :::

:::details Blender: Làm cách nào để đặt cài đặt nén cho từng texture? Chọn tab material. Bạn sẽ thấy các tùy chọn nén cho tất cả các texture đang được material đó sử dụng. :::

:::details Toktx không tìm thấy Windows: Đảm bảo bạn đã thêm toktx vào các biến môi trường hệ thống của mình. Bạn có thể cần khởi động lại máy tính sau khi thêm để làm mới các biến môi trường. Vị trí cài đặt mặc định là C:\Program Files\KTX-Software\bin :::

image

:::details Nơi tìm các tùy chọn mesh simplification để giảm số lượng đỉnh khi build cho sản xuất? Chọn một Mesh và mở các tùy chọn Needle importer để xem các tùy chọn có sẵn cho mesh đã chọn: :::

image

:::

image
image

cung cấp một cách nhanh chóng và miễn phí cho mọi người để lưu trữ các trang web nhỏ và lớn. Chúng tôi cung cấp một cách dễ dàng để remix và triển khai đến một trang Glitch mới (dựa trên mẫu khởi đầu của chúng tôi), và cũng để chạy một máy chủ mạng tối giản trên cùng trang Glitch nếu cần.

Nhấp vào nút Create new Glitch Remix trên thành phần

Glitch bây giờ sẽ tạo một bản remix của template. Sao chép URL từ trình duyệt của bạn

Mở lại Unity và dán URL vào trường Project Name của thành phần Deploy To Glitch của bạn

Chờ vài giây cho đến khi Unity nhận được khóa triển khai của bạn từ glitch (khóa này được lưu trữ an toàn trong file .env trên glitch. Không chia sẻ nó với người khác, bất kỳ ai có khóa này sẽ có thể tải lên trang web glitch của bạn)

Deploy To Glitch from Blender component

Nếu bạn nhấp vào Create new Glitch Remix và trình duyệt hiển thị lỗi như there was an error starting the editor, bạn có thể nhấp vào OK. Sau đó, truy cập và đảm bảo bạn đã đăng nhập. Sau đó, bạn có thể thử nhấp lại nút trong Unity hoặc Blender.

Deploy to netlify component

:::

Xem của chúng tôi để biết cấu hình dự án

Tạo một dự án mới trên

Đặt Kind of project là HTML

Thêm thành phần DeployToItch vào scene của bạn và nhấp vào nút Build

Tải file zip cuối cùng lên itch.io

Chọn This file will be played in the browser

:::

Nếu bạn thấy lỗi này sau khi tải dự án của mình lên, hãy đảm bảo bạn không tải lên file index.html đã được nén gzip. Bạn có thể tắt nén gzip trong vite.config.js trong thư mục dự án web Needle của bạn. Chỉ cần xóa dòng có viteCompression({ deleteOriginFile: true }). Sau đó build lại dự án của bạn và tải lên itch.

¹ Thành phần Deploy to FTP

² Asset máy chủ FTP chứa thông tin truy cập của tài khoản người dùng FTP của bạn

Thành phần Deploy To FTP sau khi asset máy chủ được gán. Bạn có thể trực tiếp triển khai đến một thư mục con trên máy chủ của mình bằng cách sử dụng trường path :::

20220830-003602_explorer-needle
Unity build window showing Needle Engine platform

Thêm thành phần DeployToGithubPages vào scene của bạn và sao chép-dán kho lưu trữ github (hoặc url github pages) mà bạn muốn triển khai đến.

Thêm thành phần Deploy To Facebook Instant Games vào scene của bạn:

Trên Facebook, thêm module Instant Games và truy cập Instant Games/Web hosting

Bạn có thể tải file zip của mình lên bằng cách sử dụng nút Upload version (1). Sau khi quá trình tải lên hoàn thành và file zip đã được xử lý, nhấp vào nút Stage for testing để kiểm tra ứng dụng của bạn (2, ở đây là nút màu xanh) hoặc Push to production (nút có biểu tượng ngôi sao)

và chọn Other. Sau đó nhấp Next

Chọn loại Instant Games

Sau khi tạo ứng dụng, thêm sản phẩm Instant Games

Tại đây bạn có thể tìm trên facebook.Lưu ý rằng tất cả những gì bạn phải làm là tạo một ứng dụng có khả năng instant games. Chúng tôi sẽ lo mọi thứ khác và không cần chỉnh sửa thủ công nào đối với trang web Needle Engine của bạn. :::

image
image

Vào Play Mode trong Unity Trong Project Settings > Needle Engine, bạn có thể tắt Override Play Mode và Override Build settings để chuyển đổi giữa quy trình build của Needle và quy trình build của Unity:

ktx2
draco
toktx
Trang phát hành toktx
@needle-tools/gltf-build-pipeline
Glitch
glitch.com
dự án mẫu
itch.io
tài liệu chính thức về instant games
Needle Cloud
diễn đàn
Glitch
Netlify
itch.io
GitHub Pages
Vercel
FTP Upload
Build to folder
Facebook Instant Games
Tạo một ứng dụng mới