Edo*_*awa 0 javascript 3d three.js babylonjs
我正在寻找一种在巴比伦或 Threejs 中将文本环绕在球体周围的方法。我对改变 javascript 技术持开放态度
我会看一个生成文本的例子。然后我会分别生成每个字母,记录它们各自的宽度,并使用它们来计算我想要显示的字符串的总宽度
然后我可以将每个网格都Object3D设置为 an并将其Object3D旋转 y 设置为
widthSoFar = 0;
for each letter
obj3d.rotation.y = widthSoFar / totalWidth * Math.PI * 2;
widthSoFar += widthOfCurrentLetter;
Run Code Online (Sandbox Code Playgroud)
并将字母的 position.z 设置为某个半径,这将使字母围绕一个圆圈。
什么半径?
circumference = 2 * PI * radius
Run Code Online (Sandbox Code Playgroud)
所以
radius = circumference / (2 * PI)
Run Code Online (Sandbox Code Playgroud)
我们知道我们需要的周长,它是字符串的总宽度。
您可能会发现本教程有助于理解如何使用场景图节点(如 Object3D 节点)来组织场景以满足您的需求。
widthSoFar = 0;
for each letter
obj3d.rotation.y = widthSoFar / totalWidth * Math.PI * 2;
widthSoFar += widthOfCurrentLetter;
Run Code Online (Sandbox Code Playgroud)
circumference = 2 * PI * radius
Run Code Online (Sandbox Code Playgroud)
radius = circumference / (2 * PI)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |