【发布时间】:2019-08-01 13:01:03
【问题描述】:
尝试通过三个 JavaScript 在我的反应应用程序中添加 3D 文本。以下代码在输出中给出了一个空白页。这是我第一次尝试 Three.js。任何帮助将不胜感激,
当我添加任何其他具有相同格式的几何图形时,相同的代码正在运行。
class ThreeScene extends Component {
componentDidMount() {
const width = this.mount.clientWidth
const height = this.mount.clientHeight
//ADD SCENE
this.scene = new THREE.Scene()
//ADD CAMERA
this.camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000)
this
.camera
.position
.set(-15, 0, 25);
this
.camera
.lookAt(this.scene.position);
// Add Font Loader
this.loader = new THREE.FontLoader();
const self = this;
this
.loader
.load('fonts/helvetiker_regular.typeface.json', function (font) {
var material = new THREE.MeshPhongMaterial({color: 0x0033ff, specular: 0x555555, shininess: 30});
var geometry = new THREE.TextGeometry('Hello', {
font: font,
size: 80,
height: 5,
curveSegments: 12,
bevelEnabled: true,
bevelThickness: 10,
bevelSize: 8,
bevelSegments: 5
});
self.textData = new THREE.Mesh(geometry, material);
self
.scene
.add(self.textData);
self.light = new THREE.DirectionalLight(0xffffff);
self
.light
.position
.set(0, 1, 1)
.normalize();
self
.scene
.add(self.light);
});
this.renderer = new THREE.WebGLRenderer({antialias: true});
this
.renderer
.setSize(width, height)
this
.mount
.appendChild(this.renderer.domElement);
this.start()
}
renderScene = () => {
this
.renderer
.render(this.scene, this.camera)
}
}
【问题讨论】:
-
您可以将错误作为文本复制到您的帖子中吗?像我这样的人使用手机浏览 Stackoverflow,无法轻松截取桌面大小的屏幕截图
-
cosole 中的错误是:VM648:1 Uncaught SyntaxError: JSON 中的意外字符串,位于 XMLHttpRequest 的 Object.onLoad (three.module.js:26992) 的 Object.parse (
) 的位置 1 . (three.module.js:23564) -
你找出问题所在了吗?
标签: javascript reactjs three.js