@keyframe-engine/three
v1.0.4
Published
@keyframe-engine/three — Three.js Binding Adapter
Readme
@keyframe-engine/three
@keyframe-engine/three 是 Keyframe Engine 的 Three.js 适配层,采用凭证 Token (AdapterContext) 模型实现无状态、高性能的三维场景矩阵同步。
核心功能
- Credential Token 模型: 基于
AdapterContext管理场景注册,支持多 Scene / 多 Mesh 并行独立更新。 - Zero-Copy Matrix Transfer: 直接将 Keyframe Engine 的 16-float 变换矩阵应用至
THREE.Object3D.matrix,并设置matrixAutoUpdate = false,绕过 CPU 冗余 TRS 重算。 - 栅格化语义控制: 支持
rasterized: false矢量无损更新模式。
安装
pnpm add @keyframe-engine/three three @keyframe-engine/core快速上手
import * as THREE from "three";
import { Engine, Clip, Instance, Keyframe, TransformBuilder } from "@keyframe-engine/core";
import { threeAdapter } from "@keyframe-engine/three";
const engine = new Engine();
// ... 配置 Keyframe Engine clip 与 instance
const scene = new THREE.Scene();
const mesh = new THREE.Mesh(
new THREE.BoxGeometry(1, 1, 1),
new THREE.MeshBasicMaterial({ color: 0x00ff00 })
);
scene.add(mesh);
// 1. 注册场景上下文令牌
const ctx = threeAdapter.registerScene(scene, engine);
ctx.registerObject(mesh, "inst_1"); // 关联 mesh 与 instance id
// 2. 渲染循环中更新场景
function animate(timeMs: number) {
threeAdapter.applyToScene(ctx, timeMs);
renderer.render(scene, camera);
requestAnimationFrame((t) => animate(t));
}
requestAnimationFrame((t) => animate(t));