Nicer text.
This commit is contained in:
28
src/open.js
28
src/open.js
@@ -3,7 +3,7 @@ import * as THREE from "three";
|
|||||||
const STAR_POINTS = 5;
|
const STAR_POINTS = 5;
|
||||||
|
|
||||||
let scene, camera, renderer;
|
let scene, camera, renderer;
|
||||||
let group;
|
let coreStarGroup;
|
||||||
let lights = {};
|
let lights = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,16 +37,16 @@ function addStar() {
|
|||||||
|
|
||||||
let star = new THREE.Mesh(frontGeometry, material);
|
let star = new THREE.Mesh(frontGeometry, material);
|
||||||
star.receiveShadow = true;
|
star.receiveShadow = true;
|
||||||
group.add(star);
|
coreStarGroup.add(star);
|
||||||
|
|
||||||
let backStar = new THREE.Mesh(backGeometry, backMaterial);
|
let backStar = new THREE.Mesh(backGeometry, backMaterial);
|
||||||
backStar.receiveShadow = true;
|
backStar.receiveShadow = true;
|
||||||
group.add(backStar);
|
coreStarGroup.add(backStar);
|
||||||
|
|
||||||
let ringGeometry = generateStarRing(2, 3, 0.4);
|
let ringGeometry = generateStarRing(2, 3, 0.4);
|
||||||
let ring = new THREE.Mesh(ringGeometry, material);
|
let ring = new THREE.Mesh(ringGeometry, material);
|
||||||
ring.receiveShadow = ring.castShadow = true;
|
ring.receiveShadow = ring.castShadow = true;
|
||||||
group.add(ring);
|
coreStarGroup.add(ring);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -115,8 +115,8 @@ function startOpenAnimation() {
|
|||||||
renderer.shadowMap.autoUpdate = true;
|
renderer.shadowMap.autoUpdate = true;
|
||||||
document.body.appendChild(renderer.domElement);
|
document.body.appendChild(renderer.domElement);
|
||||||
|
|
||||||
group = new THREE.Group();
|
coreStarGroup = new THREE.Group();
|
||||||
scene.add(group);
|
scene.add(coreStarGroup);
|
||||||
|
|
||||||
initLighting();
|
initLighting();
|
||||||
addStar();
|
addStar();
|
||||||
@@ -140,14 +140,20 @@ function initLighting() {
|
|||||||
lights.ambient = ambient;
|
lights.ambient = ambient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load the font data and render the message.
|
||||||
|
*/
|
||||||
function loadFont() {
|
function loadFont() {
|
||||||
import('three/examples/fonts/helvetiker_bold.typeface').then(function (data) {
|
import('three/examples/fonts/helvetiker_bold.typeface').then(function (data) {
|
||||||
let font = new THREE.Font(data);
|
let font = new THREE.Font(data);
|
||||||
let geometry = new THREE.TextGeometry('Ja!', {
|
let geometry = new THREE.TextGeometry('Ja!', {
|
||||||
font: font,
|
font: font,
|
||||||
size: 1.2,
|
size: 1.2,
|
||||||
height: 0.3,
|
height: 0.5,
|
||||||
curveSegments: 12
|
curveSegments: 12,
|
||||||
|
bevelEnabled: true,
|
||||||
|
bevelSize: 0.05,
|
||||||
|
bevelThickness: 0.05
|
||||||
}).center();
|
}).center();
|
||||||
geometry.computeFaceNormals();
|
geometry.computeFaceNormals();
|
||||||
|
|
||||||
@@ -158,7 +164,7 @@ function loadFont() {
|
|||||||
let mesh = new THREE.Mesh(geometry, textMaterial);
|
let mesh = new THREE.Mesh(geometry, textMaterial);
|
||||||
mesh.castShadow = true;
|
mesh.castShadow = true;
|
||||||
mesh.receiveShadow = true;
|
mesh.receiveShadow = true;
|
||||||
group.add(mesh);
|
coreStarGroup.add(mesh);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,8 +222,8 @@ function starCoordinates(innerRadius, outerRadius, z) {
|
|||||||
function animate() {
|
function animate() {
|
||||||
requestAnimationFrame(animate);
|
requestAnimationFrame(animate);
|
||||||
|
|
||||||
group.rotation.z += 0.01;
|
coreStarGroup.rotation.z += 0.01;
|
||||||
group.rotation.y += 0.01;
|
coreStarGroup.rotation.y += 0.01;
|
||||||
|
|
||||||
renderer.render(scene, camera);
|
renderer.render(scene, camera);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user