Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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 通过threex.Geometry.js进一步平滑THREE.TextGeometry对象的顶点_Javascript_Three.js_Vertices - Fatal编程技术网

Javascript 通过threex.Geometry.js进一步平滑THREE.TextGeometry对象的顶点

Javascript 通过threex.Geometry.js进一步平滑THREE.TextGeometry对象的顶点,javascript,three.js,vertices,Javascript,Three.js,Vertices,这是一个非常具体的问题,因此我将尽最大努力阐明和解释这个问题。因此,我的目标是创建一种效果,使我的TextGeometry看起来膨胀或膨胀。我设法找到了一个名为will的3.js扩展,它允许我扩展对象的几何体 例如,我的文本通常是这样的: 包含threex.DigitalGeometry后,我应用了%15的放大系数,因此文本现在如下所示: 因此,你可以看到效果的预期工程。请查看下面的代码: //Self made function to create text var on

这是一个非常具体的问题,因此我将尽最大努力阐明和解释这个问题。因此,我的目标是创建一种效果,使我的TextGeometry看起来膨胀或膨胀。我设法找到了一个名为will的3.js扩展,它允许我扩展对象的几何体

  • 例如,我的文本通常是这样的:
  • 包含threex.DigitalGeometry后,我应用了%15的放大系数,因此文本现在如下所示:
  • 因此,你可以看到效果的预期工程。请查看下面的代码:

        //Self made function to create text
    
        var one = new threeLab.asset.CreateMasterText(this.text,'Lambert');
        this.scene.add(one.wireframe);
        this.scene.add(one.mesh);
    
        //lets clone it
        var geoclone = one.geometry.clone();
    
        //need these to make it work
        geoclone.mergeVertices();
        //geoclone.computeCentroids();
        geoclone.computeFaceNormals();
        geoclone.computeVertexNormals();
    
        //the threex dilate effect
        THREEx.dilateGeometry(geoclone, 0.15);
    
        //create new material and add to a new mesh to create the halo effect
        var testMat     = new THREE.MeshNormalMaterial({color:0x222222});
        var meshHalo    = new THREE.Mesh(geoclone, testMat );
    
        this.scene.add( meshHalo );
    
    为了使扩展工作正常,它依赖于:

        geoclone.mergeVertices();
        geoclone.computeFaceNormals();
        geoclone.computeVertexNormals();
    
    我假设所有的顶点/面计算都是通过放大效果进行平移的。由于TextGeometry的效果,我注意到的一件事是,字母的某些部分翻译得不好,您会在一些字母上看到锯齿状的边缘:

    所以我的问题是,是否有可能进一步平滑文本几何体的顶点,以提供更平滑、更少锯齿的外观

    2017年3月30日更新

    因此,我增加了拉伸文本几何体的倒角部分,这有助于在应用3X效果之前更好地对其进行圆角处理


    因此我增加了TextGeometry对象的“Bevelsegments”,以创建更圆的文本。这个练习的全部目的是我想用如下对象来封装文本:


    非常感谢@2pha:)

    所以我增加了TextGeometry对象的“Bevelsegments”,以创建更圆的文本。这个练习的全部目的是我想用如下对象来封装文本:


    非常感谢@2pha:)

    使用TextGeometry斜面设置,您可以看到放大/膨胀的文本。看一看,打开“斜面启用”并播放斜面设置。仅使用这些可能会更好。感谢@2pha为实现相同效果提供了不同的视角,因为您可以看到增加斜角部分使文本更加圆滑。许多TNX:)您可以使用TextGeometry斜面设置获得放大/膨胀的文本。看一看,打开“斜面启用”并播放斜面设置。仅使用这些可能会更好。感谢@2pha为实现相同效果提供了不同的视角,因为您可以看到增加斜角部分使文本更加圆滑。许多TNX:)