2017-03-15 9 views
0

にTHREE.TextGeometryオブジェクトにグロー効果を適用します。私は、これはthree.js環境で を行うことができるかどうかを確認するためにGoogle検索のかなりの数の時間を行っています。Three.js

私はTextGeometryに基づいてグローエフェクトを作成しますが、下のLee StemKoski - シャドウグローの例のような球体やキューブオブジェクトのような単純なプリミティブではありません。

Lee StemKoski - shadow glow example

私が述べたが、複雑な幾何学的形状を単純なオブジェクトでうまく動作しますが、ではないとして彼Shader Glow exampleで特にLee StemKoski examples

を読んで実験されています。 1は、テキストの周りのグロー効果を作成することができますどのようにこのまたは他の提案への回避策がある場合はそのため私は思っていました。

よろしく

w9914420

UPDATE:私はグロー効果を作成することができますテキストに画像を添付してマッピングのコンセプトで行くことにしました。この例では、私はサークルを使用しますが、私は必要なテキストのマップを行うにはあまりにも難しいことではありません。

sprite glow effect

UPDATE:20/3/17 - だから私はそのとらえどころのないテキストグロー効果を作成するためにtheeX.atmosphere材料を使用しての試みがありました。ここにいくつかの結果があります。

threex.atmospherematerial

angle view

あなたはまだなく、かなりそこに見ることができるように - 私が持っている問題は、私はより多くの外側グローテキストの頂点を滑らかにすることはできませんしています。私はそれが可能であるかどうか分からない。

効果を作成するために使用されるネイティブコード。

//normal text created 

var geometry2 = threeLab.asset.simpleText('hello','my_font'); 
var materialme = new THREE.MeshNormalMaterial(); 
var mesh = new THREE.Mesh(geometry2, materialme); 
this.scene.add(mesh); 


// we create a secondary text object to use as glow 
var geometry = threeLab.asset.simpleText('hello','my_font'); 

// clone for manipulation 
var geoclone = geometry.clone(); 


//Thes functions are need to make it work in this case 
geoclone.mergeVertices(); 
//geoclone.computeCentroids(); 
geoclone.computeVertexNormals(); 
geoclone.computeFaceNormals(); 

// part of threex library to make the glow scale and expand 
THREEx.dilateGeometry(geoclone, 0.5); 
var materialz = THREEx.createAtmosphereMaterial(); 
var meshHalo = new THREE.Mesh(geoclone, materialz); 

//we have now our glow 
this.scene.add(meshHalo); 
+0

「グロー」とはどういう意味ですか?それを解釈する方法はたくさんあります。 [ここに1つの手法です](https://willweissman.wordpress.com/tutorials/shaders/unity-shaderlab-object-outlines/comment-page-1/)。 3つではありませんが、解決策を示しています。 [ここで、グローマップを使用することで、別の異なる技術'S](http://bkcore.com/blog/3d/webgl-three-js-animated-selective-glow.html)。 – gman

+0

@gman私は混乱のために謝罪します。再作成したい例を参照して私の質問を再編集しました。後のエフェクトスタイルはこの例のようですが、シンプルな球の代わりにテキストを使っています:[Shader-Glow-Example](http:// stemkoski。github.io/Three.js/Shader-Glow.html) – W9914420

+1

上記にリンクされたグローマップテクニックのように思えます。 – gman

答えて

0

だから、最後に、私はそれを滑らかにするために助けた私の二次TextGeometryオブジェクトのbevelsegmentsを増加させました。私はそのようにのような第二に私の最初のテキストをecaseすることができました:

enter image description here

enter image description here

さらに微調整して、私はより多くの微妙なグロー効果を得ることができるようになりますが、今効果が働くために。

入力いただきありがとうございます。