
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
three-spaceship-controls
Advanced tools
This project is in beta version.
A threejs spaceship-style control with keyboard.
Use the package manager npm to install the project.
npm install three-spaceship-controls
import { SpaceShipControls } from "three-spaceship-controls";
const controls = new SpaceShipControls(camera, canvas, ship);
const clock = new THREE.Clock();
let oldElapsedTime = 0;
const animate = () => {
const elapsedTime = clock.getElapsedTime();
const deltaTime = elapsedTime - oldElapsedTime;
oldElapsedTime = elapsedTime;
controls.update(deltaTime);
window.requestAnimationFrame(animate);
};
animate();
Control the spaceship with W,A,D,Q,E
| Prop name | Description | Default value | Example values |
|---|---|---|---|
| enabled | Enables or disables the controls. | true | |
| acceleration | The rate at which the spaceship gains speed. | 0.6 | |
| minSpeed | The minimum speed of the spaceship. | 0.5 | |
| maxSpeed | The maximum speed of the spaceship. | 10 | |
| deceleration | The rate at which the spaceship loses speed when not accelerating. | 2.5 | |
| rotationAcceleration | The rate at which the spaceship starts to rotate. | 0.5 | |
| maxRotationSpeed | The maximum speed at which the spaceship can rotate. | 0.5 | |
| rotationDeceleration | The rate at which the spaceship stops rotating when not being controlled. | 0.25 * 10 | |
| rotationTilt | The tilt effect of the spaceship during rotation. | 0.8 | |
| cameraHorizontalFollowing | The extent to which the camera follows the spaceship horizontally. | 0.8 | |
| cameraAngle | The angle at which the camera is positioned relative to the spaceship. | Math.PI / 7 | |
| cameraDistance | The distance of the camera from the spaceship. | 2 | |
| cameraFollowingWeight | The weight that determines the smoothness of the camera following the spaceship. | 0.05 | |
| maxCameraFollowing | The maximum limit for camera following. | 1 | |
| cameraHorizontalOffset | The horizontal offset of the camera from the spaceship. | 0.4 | |
| cameraVerticalOffset | The vertical offset of the camera from the spaceship. | 0.4 | |
| maxVerticalAngle | The maximum vertical angle the spaceship can achieve. | 5/12 * Math.PI (approximately 70 degrees) | |
| verticalRotationAcceleration | The rate at which the spaceship starts to rotate vertically. | 0.5 | |
| verticalRotationDeceleration | The rate at which the spaceship stops rotating vertically when not being controlled. | 0.5 * 10 | |
| cameraVerticalFollowing | The extent to which the camera follows the spaceship vertically. | 0.25 |
update(delta)Updates the position of the camera and spaceship.
Parameters:
delta (number): The time elapsed in seconds to update the positions.setKeyBindings(keyBindings)Sets the key bindings for the controls.
Parameters:
keyBindings (object): The key bindings for the controls.Example usage(default value):
controls.setKeyBindings({
accelerate: "KeyW",
rotateLeft: "KeyA",
rotateRight: "KeyD",
rotateUp: "KeyQ",
rotateDown: "KeyE",
});
FAQs
A threejs spaceship-style control with keyboard.
We found that three-spaceship-controls demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.