Browse Source

add ability to make text in the scene

master
Peter Hajas 3 years ago
parent
commit
078740b756
  1. 28
      script.js

28
script.js

@ -16,6 +16,7 @@ document.body.appendChild( renderer.domElement )
const light = new THREE.AmbientLight(0xFFAAAA, 1) const light = new THREE.AmbientLight(0xFFAAAA, 1)
// light.position.z = 100 // light.position.z = 100
scene.add(light) scene.add(light)
scene.background = new THREE.Color("white")
// back the camera up // back the camera up
camera.position.z = 25 camera.position.z = 25
@ -36,6 +37,31 @@ function animate() {
animate() animate()
function createTextMesh(text) {
let canvas = document.createElement('canvas')
let context = canvas.getContext('2d')
let size = context.measureText(text)
canvas.width = 100
canvas.height = 100
context.textAlign = "center"
context.textBaseline = "middle"
context.fillStyle = "blue"
context.font = '24pt sans-serif'
context.fillText(text, 50, 50)
let texture = new THREE.CanvasTexture(canvas)
texture.needsUpdate = true
let material = new THREE.MeshBasicMaterial({
map: texture
})
material.transparent = true
let plane = new THREE.PlaneGeometry(5, 5)
let mesh = new THREE.Mesh(plane, material)
return mesh
}
function updateWithHAData(data) { function updateWithHAData(data) {
// `data` is an array of entities. loop through and group by area // `data` is an array of entities. loop through and group by area
var areasToEntities = { } var areasToEntities = { }
@ -132,6 +158,8 @@ function configureScene(data) {
let yExtent = maxY - minY let yExtent = maxY - minY
home.position.x = -1 * (xExtent / 2) home.position.x = -1 * (xExtent / 2)
home.position.y = +1 * (yExtent / 2) home.position.y = +1 * (yExtent / 2)
// homeContainer.add(createTextMesh("test"))
} }
async function loadHomeData() { async function loadHomeData() {

Loading…
Cancel
Save