Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 帆布和精神材料_Javascript_Three.js - Fatal编程技术网

Javascript 帆布和精神材料

Javascript 帆布和精神材料,javascript,three.js,Javascript,Three.js,对不起,如果这是一个Noob问题 我一直在尝试向three.js中创建的时间线添加标签,该时间线使用动态生成的画布元素作为精灵。时间轴部分渲染得很好,但我很难让画布精灵渲染。这是我用于精灵的内容(从较大场景的上下文中取出): 您可以在此处看到一组更完整的示例代码: 任何帮助都将不胜感激 谢谢, 彼得:嗯,你有几个错误。我把相机移近一些,做了一些其他的改变,注意到了。而且,小提琴手使用的是图书馆的旧版本 更新小提琴: 3.js r.54 var canvas = document.createEl

对不起,如果这是一个Noob问题

我一直在尝试向three.js中创建的时间线添加标签,该时间线使用动态生成的画布元素作为精灵。时间轴部分渲染得很好,但我很难让画布精灵渲染。这是我用于精灵的内容(从较大场景的上下文中取出):

您可以在此处看到一组更完整的示例代码:

任何帮助都将不胜感激

谢谢,
彼得:嗯,你有几个错误。我把相机移近一些,做了一些其他的改变,注意到了。而且,小提琴手使用的是图书馆的旧版本

更新小提琴:

3.js r.54

var canvas = document.createElement('canvas');
var size = 256; // CHANGED
canvas.width = size;
canvas.height = size;
var context = canvas.getContext('2d');
context.fillStyle = '#ff0000'; // CHANGED
context.textAlign = 'center';
context.font = '24px Arial';
context.fillText("some text", size / 2, size / 2);

var amap = new THREE.Texture(canvas);
amap.needsUpdate = true;

var mat = new THREE.SpriteMaterial({
    map: amap,
    transparent: false,
    useScreenCoordinates: false,
    color: 0xffffff // CHANGED
});

var sp = new THREE.Sprite(mat);
sp.scale.set( 10, 10, 1 ); // CHANGED
scene.add(sp);    
var canvas = document.createElement('canvas');
var size = 256; // CHANGED
canvas.width = size;
canvas.height = size;
var context = canvas.getContext('2d');
context.fillStyle = '#ff0000'; // CHANGED
context.textAlign = 'center';
context.font = '24px Arial';
context.fillText("some text", size / 2, size / 2);

var amap = new THREE.Texture(canvas);
amap.needsUpdate = true;

var mat = new THREE.SpriteMaterial({
    map: amap,
    transparent: false,
    useScreenCoordinates: false,
    color: 0xffffff // CHANGED
});

var sp = new THREE.Sprite(mat);
sp.scale.set( 10, 10, 1 ); // CHANGED
scene.add(sp);