【发布时间】:2020-04-26 16:42:34
【问题描述】:
我需要使用 ThreeJS 隐藏框原语中显示的边缘。这些仅在我在脸上放置纹理时绘制。
我已经尝试了许多选项,例如 wireframe=false,但边缘仍然被绘制。
这是代码:
var container, stats;
var camera, scene, renderer;
var canvasWidth = 500;
var canvasHeight = 500;
var windowHalfX = 100;
var windowHalfY = 100;
container = document.createElement( 'div' );
document.body.appendChild( container );
// Camera
camera = new THREE.OrthographicCamera( canvasWidth / - 2, canvasWidth / 2, canvasHeight / 2, canvasHeight / - 2, - 500, 5000 );
// Scene
scene = new THREE.Scene();
camera.position.x = 200;
camera.position.y = 200;
camera.position.z = 200;
camera.lookAt( scene.position );
// Renderer
renderer = new THREE.CanvasRenderer();
renderer.setClearColor( "#fff" );
renderer.setSize( canvasWidth, canvasHeight );
container.appendChild( renderer.domElement );
var size = 100;
geometry = new THREE.BoxGeometry( size, size, size );
material = new THREE.MeshBasicMaterial({
color: "#0000ff",
side: THREE.DoubleSide,
wireframe: false
});
// Comment this line to paint a single color cube
material = new THREE.MeshLambertMaterial({ map: THREE.ImageUtils.loadTexture("http://upload.wikimedia.org/wikipedia/commons/8/81/Color_icon_black.png") });
mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
var draw = function() {
requestAnimationFrame( draw );
renderer.render( scene, camera );
}
draw();
还有一个例子的链接:
http://jsfiddle.net/gyss/qg4x9/
干杯!
【问题讨论】:
-
小提琴似乎不起作用?你能澄清什么>我需要使用 ThreeJS 删除显示在框基元中的顶点。这些仅在我在脸上放置纹理时绘制。如果您删除一个顶点,您很可能会删除一半的盒子。此外,您很可能必须删除 indecis 和其他属性。我敢打赌你需要别的东西。
-
我很抱歉这个错误。我的意思是删除(或不绘制)您在示例中看到的白色边缘。
-
感谢 WestLangley,几分钟前我刚刚测试了 WebGLRenderer 并解决了问题 ;)
标签: javascript three.js textures edges