создание холста в три раза. js для текста sprite.its создание текстового спрайта, но холст по умолчанию имеет высоту и ширину - PullRequest
0 голосов
/ 20 марта 2020
`var fontface = parameters.fontface || 'Helvetica';
var fontsize = parameters.fontsize || 60;
var canvas = document.createElement('canvas');
// canvas.height = 70;
console.log(canvas.height, canvas.width)

var context = canvas.getContext('2d');
if (bold == true) {
  context.font = "Bold " + fontsize + "px " + fontface;
} else {
context.font = fontsize + "px " + fontface;
}
// get size data (height depends only on font size)
var metrics = context.measureText(message);
var textWidth = metrics.width;
// text color
context.fillStyle = 'rgba(0.5, 0, 1.0, 0.5)';
context.fillText(message, 0, fontsize);
// canvas contents will be used for a texture
console.log(context, metrics, textWidth);
var texture = new THREE.Texture(canvas)
texture.minFilter = THREE.LinearFilter;
texture.needsUpdate = true;
var spriteMaterial = new THREE.SpriteMaterial({ map: texture });
var sprite = new THREE.Sprite(spriteMaterial);
sprite.scale.set(0.002 * 100, 0.0025 * 150);
sprite.center.set(0, 1);
return sprite;`

выше - код для создания спрайта. любые изменения, необходимые в этом или любом другом способе создания текстового спрайта.

...