如何在three.js中制作自定义三角形 [英] How to make a custom triangle in three.js

查看:31
本文介绍了如何在three.js中制作自定义三角形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 Three.js 中创建一个自定义三角形.下面的代码渲染了我的三角形的线框,而不是其他任何东西.所以如果我关闭线框,它就会变得不可见.我怎样才能使这个呈现彩色三角形?

Hi i'm trying to make a custom triangle in Three.js. The code below renders the wireframe of my triangle but not anything else. So if i turn wireframe off it turns invisible. How can i make this render a coloured triangle?

    var scene = new THREE.Scene();
    var WIDTH = $("#three1").width();
    var HEIGHT = $("#three1").width();
    var camera = new THREE.PerspectiveCamera(75, WIDTH/HEIGHT, 1, 10000);
    var renderer = new THREE.WebGLRenderer();
    renderer.setSize(WIDTH, HEIGHT);
    renderer.setClearColor(new THREE.Color(1.0, 1.0, 1.0));
    $("#three1").append(renderer.domElement);
    var light = new THREE.PointLight( 0xff0000, 1, 100 );
    light.position.set( 0, 0, 200 );
    scene.add( light );

    /*
      Relevant stuff here.
    */
    var material = new THREE.MeshBasicMaterial({color: 0xff0000, wireframe: true});
    var geom = new THREE.Geometry(); 
    var v1 = new THREE.Vector3(0,0,0);
    var v2 = new THREE.Vector3(0,500,0);
    var v3 = new THREE.Vector3(500,500,0);
    geom.vertices.push(v1);
    geom.vertices.push(v2);
    geom.vertices.push(v3);
    geom.faces.push( new THREE.Face3( 0, 1, 2 ) );
    var object = new THREE.Mesh(geom, material);
    scene.add(object);

    camera.position.z = 1000; 
    function render() {
        requestAnimationFrame(render);
        renderer.render(scene, camera);
    };
    render();

这是它呈现的内容

推荐答案

好吧想通了...万一有人遇到同样的问题 -相机正看着我的网格的错误一侧.此调整将使其呈现两侧

Ok figured it out... In case anyone has the same problem - The camera was looking at the wrong side of my mesh. This adjustment will make it render both sides

var material = new THREE.MeshBasicMaterial({
    color: 0xff0000, 
    side: THREE.DoubleSide
});

这篇关于如何在three.js中制作自定义三角形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆