在ThreeJS中弯曲文本对象

时间:2016-10-15 20:20:25

标签: javascript three.js

this示例有this个回购,已有近2年的历史,因此不适用于最新版本的threeJS。

我遇到以下错误和警告。

error: THREE.Matrix3.getInverse no longer takes a Matrix4 argument.

warning: THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0

不确定是否是由于我得到的错误和警告,但结果弯曲也不正确(screenshot)。

我试图改变弯曲轴但没有运气。

如何修改此库以使用最近的三个JS版本,或者是否有任何其他方法来弯曲文本,如上述回购示例中所示?

1 个答案:

答案 0 :(得分:1)

THREE.js发生了变化,但调整BendModifier.js脚本非常容易。 只需更改行

即可

var InverseP = new THREE.Matrix3().getInverse( P );

newVertices[i] = new THREE.Vector3(); newVertices[i].copy( geometry.vertices[i] ).applyMatrix3( InverseP );

在两种情况下

到Matrix4 - 所以他们会读:

var InverseP = new THREE.Matrix4().getInverse( P );

newVertices[i] = new THREE.Vector3(); newVertices[i].copy( geometry.vertices[i] ).applyMatrix4( InverseP );

刚刚尝试使用three.min.81.js,它运行正常。