javascript - THREE.js 行对象未在浏览器中运行

标签 javascript three.js

我是 THREE.js 的新手。 当我在浏览器中打开这段代码时,它只显示黑屏而不是三 Angular 形。 请帮我找出代码中的问题。

<!DOCTYPE html>
<html>
<head>
    <title>First Line Object</title>
    <style>
        body{ margin: 0; }
        canvas { width: 100%; height: 100%; }
    </style>
</head>
<body>
    <script src="js/three.js"></script>
    <script>
    var scene = new THREE.Scene();
    var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);

    var renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);

    var lineGeom = new Geometry();
    lineGeom.vertices = [
        new THREE.Vector3(-2,-2, 0),
        new THREE.Vector3(2, -2, 0),
        new THREE.Vector3(0, 2, 0),
        new THREE.Vector3(-2,-2, 0)
    ];

    var lineMat = new THREE.LineBasicMaterial({
        color: 0xA000A0,
        linewidth: 2
    });

    var line = new THREE.Line(lineGeom, lineMat, THREE.LineStrip);
    scene.add(line);

    camera.position.z = 5;

    var render = function() {
        requestAnimationFrame(render);
        renderer.render(scene, camera);
    }
    render();

    </script>
</body>
</html>

上面的代码应该根据数组中给定的顶点显示一个三 Angular 形。但它只显示黑屏,没有其他内容。

最佳答案

Geometry 的初始化有问题。你必须像这样使用构造函数

new THREE.Geometry()

这将解决你的问题

关于javascript - THREE.js 行对象未在浏览器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41076578/

相关文章:

javascript - 如何在传单中使用javascript从MySql获取数据

javascript - Three.js 图像不是两个警告的力量

javascript - 如何使用键盘输入移动三个 JS 立方体?

javascript - three.js:从简单 Material 切换到多开运行时

javascript - 从 uglifyjs 源映射中恢复 javascript 源代码

javascript - 不是以正则表达式结尾的特定单词

javascript - 如何使用javascript从字符串中获取所有宏名称?

javascript - 使用正则表达式从文本中解析单词

javascript - OBJ 到 Json 到浏览器不工作

webgl - Three.js instantRenderCallback 与 MeshShaderMaterial 抛出 "index out of range"警告