19 lines
641 B
TypeScript
19 lines
641 B
TypeScript
import * as THREE from "three";
|
|
import { computeCenteredModelPlacement } from "@/lib/3d/model-placement";
|
|
|
|
describe("model-placement", () => {
|
|
it("应按模型中心归位,而不是按地面抬升整体", () => {
|
|
const box = new THREE.Box3(
|
|
new THREE.Vector3(-10, -100, -20),
|
|
new THREE.Vector3(10, 50, 20),
|
|
);
|
|
|
|
const placement = computeCenteredModelPlacement(box);
|
|
|
|
expect(placement.modelPosition.x).toBeCloseTo(0, 5);
|
|
expect(placement.modelPosition.y).toBeCloseTo(25, 5);
|
|
expect(placement.modelPosition.z).toBeCloseTo(0, 5);
|
|
expect(placement.cameraTarget.toArray()).toEqual([0, 0, 0]);
|
|
});
|
|
});
|