javascript - ThreeJS 中的弯曲文本对象

标签 javascript three.js

this repo this例如,它已经有近 2 年历史了,因此不适用于 ThreeJS 的最新版本。

我遇到以下错误和警告。

错误:THREE.Matrix3.getInverse 不再采用 Matrix4 参数。

警告:THREE.Matrix3.getInverse():无法反转矩阵,行列式为 0

不确定这是否是由于我收到的错误和警告造成的,但由此产生的弯曲也不正确( screenshot )。

我尝试更改弯曲轴,但没有成功。

如何修改此库以与最近的 ThreeJS 版本一起使用,或者是否有其他方法可以弯曲文本,如上述存储库示例所示?

最佳答案

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 尝试了一下,效果很好。

关于javascript - ThreeJS 中的弯曲文本对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40063816/

相关文章:

javascript - 在 Threejs 中画一条线3

javascript - 如何在 three.js 中渲染物体表面的法线

javascript - Three.js - 无法使用本地镜像进行loadTexture

javascript - 具有固定左列的表格。绝对位置导致的行高问题

javascript - 数据表作为全功能的表单元素

Javascript 变量或新函数导致 IE 中出现错误

javascript - 三个 js 对象在同一位置相交 - 如何判断显示哪一个

javascript - 如何使用Javascript将输入框的首字母转换为大写,其中还包含数值

javascript - jQuery Validate 插件 - 如何根据各种条件显示不同的错误消息

javascript - 如何通过名称获取多个对象?