2016-11-13 239 views
0

我有一些模型,并希望用文本覆盖它。 我渲染并弯曲了TextGeometry,但很难将这两个网格结合起来。 (Аnd是的,我已经试过了动态纹理,这样一来禁止使用自己的字体)沿路径绘制Threejs TextGeometry

scrinshot of existing model

也许还有另一种方式来绘制路径上的文本?

+0

你可以提供你已经尝试了任何的例子吗? – prisoner849

+0

@ prisoner849 done – Dima

回答

0

正如你想要用文字来覆盖它,为什么不使用纹理。

您可以从图片与THREE.TextureLoader()设置它,或者你可以自己绘制在画布上,并与var texture = new THREE.Texture(canvas);

适用于纹理〔实施例:

var texture = new THREE.Texture(canvas); 
texture.repeat.set(5, 1); 
texture.needsUpdate = true; 

jsfiddle例子。

在那里,你可以取消这些线路

//texture.wrapS = THREE.RepeatWrapping; 
//texture.wrapT = THREE.RepeatWrapping; 

看看,结果会如何变化。

UPD。我已经更新了小提琴。所用的伎俩与WebFontLoader(从this SO

WebFontConfig = { 
    google: {families: ['Monoton']}, 
    active: function() { 
    init(); 
    animate(); 
    }, 
}; 

(function(){ 
    var wf = document.createElement("script"); 
    wf.src = 'https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.26/webfontloader.js'; 
    wf.async = 'true'; 
    document.head.appendChild(wf); 
})(); 
+0

原因在这种情况下,我不能使用我自己的字体。 – Dima

+0

谢谢!你最近的更新对我来说非常有用! 但有一些细微的自定义字体加载 – Dima

+0

很高兴,我可以帮助) – prisoner849