Skin3d is a JavaScript library for displaying and animating Minecraft player models in the browser. It supports rendering skins, capes, elytras, and ears, and provides a simple API for customizing animations, camera controls, and backgrounds.
Skin3d is a JavaScript library for embedding interactive Minecraft player models in web applications. It supports HD skins, capes, elytras, ears, and name tags, along with built-in animations. You can customize camera controls, lighting, backgrounds, and extend functionality with your own features.
Install via npm:
npm i skin3d
<div id="skin_view_container"></div>
import * as skin3d from 'skin3d';
const viewer = new skin3d.View({
canvas: document.getElementById("skin_view_container"),
width: 400,
height: 600,
skin: "img/skin.png"
});
viewer.autoRotate = true;
viewer.animation = new skin3d.WalkingAnimation();
You can load new skins, capes, or ears at any time:
viewer.loadSkin("img/another_skin.png");
viewer.loadCape("img/cape.png");
viewer.loadEars("img/ears.png", { textureType: "standalone" });
viewer.background = "#222244";
viewer.loadPanorama("img/panorama.png");
Change camera and controls:
viewer.fov = 70;
viewer.zoom = 1.2;
viewer.controls.enableRotate = true;
viewer.controls.enableZoom = false;
Add or remove animations:
viewer.animation = new skin3d.WalkingAnimation();
viewer.animation.speed = 2;
viewer.animation.paused = false;
viewer.animation = null; // Remove animation
viewer.globalLight.intensity = 1.5;
viewer.cameraLight.intensity = 0.3;
viewer.nameTag = "Steve";
viewer.nameTag = new skin3d.NameTagObject("Alex", { textStyle: "yellow" });
viewer.width = window.innerWidth;
viewer.height = window.innerHeight;
To display name tags in Minecraft style, add this to your CSS:
@font-face {
font-family: 'Minecraft';
src: url('/path/to/minecraft.woff2') format('woff2');
}
src/view.ts
– Main viewer logic and renderingsrc/model.ts
– Player model and mesh managementsrc/animation.ts
– Animation classessrc/nametag.ts
– Name tag renderingskin3d is released under the MIT License.