arx-level-generator
Version:
A tool for creating Arx Fatalis maps
20 lines • 787 B
JavaScript
import { EdgesGeometry, MathUtils, Shape, ShapeGeometry } from 'three';
import { Vector3 } from '../Vector3.js';
import { Zone } from '../Zone.js';
export const createZone = (props) => {
const size = props.size ?? new Vector3(100, Infinity, 100);
const position = props.position ?? new Vector3(0, 0, 0);
const shape = new Shape();
shape.lineTo(size.x, 0);
shape.lineTo(size.x, size.z);
shape.lineTo(0, size.z);
const geometry = new ShapeGeometry(shape);
const edge = new EdgesGeometry(geometry);
edge.rotateX(MathUtils.degToRad(90));
edge.translate(position.x - size.x / 2, position.y, position.z - size.z / 2);
return Zone.fromThreejsGeometry(edge, {
height: size.y,
...props,
});
};
//# sourceMappingURL=createZone.js.map