Các thuộc tính của Web Component Needle Engine
Needle Engine có sẵn dưới dạng một web component: <needle-engine>
. Web component này có thể được sử dụng để tải và hiển thị các cảnh 3D, mô hình, v.v. trong trình duyệt web. Nó đi kèm với một bộ thuộc tính cho phép bạn cấu hình hành vi, giao diện và cảm nhận của nó. Tất cả các cài đặt này có thể bị ghi đè bởi mã, nhưng các thuộc tính là một cách thuận tiện để thiết lập chúng trong HTML.
::: tip Web component nằm trong index.html
Cho dù tạo một dự án thông qua Unity hoặc Blender, hoặc trực tiếp bằng mã, bạn đều có thể sử dụng và điều chỉnh web component <needle-engine>
. Thông thường, bạn sẽ tìm thấy nó trong tệp index.html
của dự án web của mình. :::
Bảng dưới đây hiển thị danh sách các thuộc tính có sẵn và mô tả của chúng.
Tải
src
Đường dẫn đến một hoặc nhiều tệp glTF hoặc glb.
Các loại được hỗ trợ là string
, string[]
hoặc một mảng dạng chuỗi (phân tách bằng ,
)
dracoDecoderPath
URL đến draco decoder ví dụ: ./include/draco/
để sử dụng Draco decoder cục bộ
dracoDecoderType
Loại draco decoder. Các tùy chọn là wasm
hoặc js
. Xem three.js documentation
ktx2DecoderPath
URL đến KTX2 decoder ví dụ: ./include/ktx2/
để sử dụng KTX2 decoder cục bộ
Kết xuất
background-color
tùy chọn, mã màu hex được sử dụng làm màu nền. Ví dụ: rgb(255, 200, 100)
, #dddd00
background-image
tùy chọn, URL đến hình ảnh skybox (hình ảnh nền) hoặc một chuỗi cài sẵn: studio
, blurred-skybox
, quicklook
, quicklook-ar
background-blurriness
tùy chọn, giá trị làm mờ giữa 0 (không mờ) và 1 (mờ tối đa) cho background-image
. Ví dụ: background-blurriness="0.5"
environment-image
tùy chọn, URL đến hình ảnh môi trường (ánh sáng môi trường) hoặc một chuỗi cài sẵn: studio
, blurred-skybox
, quicklook
, quicklook-ar
contactshadows
tùy chọn, kết xuất contact shadows
tone-mapping
tùy chọn, các giá trị được hỗ trợ là none
, linear
, neutral
, agx
tone-mapping-exposure
số tùy chọn, ví dụ tăng độ phơi sáng với tone-mapping-exposure="1.5"
, yêu cầu tone-mapping
phải được đặt
Tương tác
autoplay
thêm hoặc đặt thành true
để tự động phát hoạt ảnh, ví dụ: <needle-engine autoplay
camera-controls
thêm hoặc đặt thành true
để tự động thêm OrbitControls nếu không tìm thấy điều khiển camera nào trong cảnh
auto-rotate
thêm để bật tự động xoay (chỉ sử dụng với camera-controls
)
Sự kiện
loadstart
Tên của hàm cần gọi khi bắt đầu tải. Lưu ý rằng các đối số là (ctx:Context, evt:Event)
. Bạn có thể gọi evt.preventDefault()
để ẩn lớp phủ tải mặc định
progress
Tên của hàm cần gọi khi quá trình tải cập nhật. onProgress(ctx:Context, evt: {detail: {context:Context, name:string, index:number, count:number, totalProgress01:number}) { ... }
loadfinished
Tên của hàm cần gọi khi quá trình tải kết thúc
Hiển thị Tải
Các tùy chọn có sẵn để thay đổi giao diện hiển thị tải của Needle Engine. Sử dụng ?debugloadingrendering
để chỉnh sửa dễ dàng hơn
loading-background
PRO — Mặc định: transparent
. Thay đổi màu nền khi tải (ví dụ: #dd5500
)
loading-logo-src
PRO — Thay đổi hình ảnh logo khi tải (ví dụ: https://yourdomain.com/logo.png
hoặc /logo.png
)
hide-loading-overlay
PRO — Không hiển thị lớp phủ tải
Nội bộ
hash
Được sử dụng nội bộ, được thêm vào các tệp đang tải để buộc cập nhật (ví dụ: khi trình duyệt đã lưu trữ tệp glb). Không nên chỉnh sửa thủ công.
Thông báo nâng cấp:
Các thuộc tính đã xóa trong Needle Engine 4.5.0
loading-style
,loading-background-color
,loading-text-color
,primary-color
,secondary-color
Ví dụ
<!-- Đặt đường dẫn đến tệp glb tùy chỉnh cần tải -->
<needle-engine src="path/to/your.glb"></needle-engine>
<!-- Ghi đè vị trí của draco decoder -->
<needle-engine src="path/to/your.glb" dracoDecoderPath="./include/draco/"></needle-engine>
Đặt hình ảnh môi trường, phát hoạt ảnh và điều khiển camera tự động. Xem trực tiếp trên stackblitz
<needle-engine
camera-controls
auto-rotate
autoplay
skybox-image="https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/industrial_sunset_puresky_1k.hdr"
environment-image="https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/industrial_sunset_puresky_1k.hdr"
src="https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf"
>
</needle-engine>
Nhận một sự kiện khi ngữ cảnh needle-engine đã tải xong:
<needle-engine loadfinished="onLoadFinished"> </needle-engine>
<script>
function onLoadFinished() {
console.log("Needle Engine has finished loading");
}
</script>
Kiểu Tải Tùy Chỉnh (PRO)
Bạn có thể dễ dàng sửa đổi giao diện của Needle Engine bằng cách đặt các thuộc tính thích hợp trên thành phần web <needle-engine>
. Vui lòng xem bảng trên để biết chi tiết.
Trang được dịch tự động bằng AI
Last updated