【发布时间】:2017-03-28 18:56:36
【问题描述】:
我正在将带有纹理贴图的简单材质应用于自定义网格。我找不到任何我能理解的例子,所以我做了这个小提琴来展示我想要实现的目标。
/// MATERIAL
var texture = new THREE.TextureLoader().load( "https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/crate.gif" );
var material = new THREE.MeshBasicMaterial( {
map: texture,
side: THREE.DoubleSide
} );
// TRIANGLE
var geometry2 = new THREE.Geometry();
var v1 = new THREE.Vector3(0,200,0);
var v2 = new THREE.Vector3(0,0,-100);
var v3 = new THREE.Vector3(0,0,100);
geometry2.vertices.push(v1);
geometry2.vertices.push(v2);
geometry2.vertices.push(v3);
geometry2.faces.push( new THREE.Face3( 0, 1, 2 ) );
meshCustom = new THREE.Mesh(geometry2, material);
scene.add(meshCustom);
// CUBE
var geometry = new THREE.BoxBufferGeometry( 100, 100, 100 );
mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
https://jsfiddle.net/benaloney/L7js807k/8/
我只希望三角形与立方体具有相同的纹理,我知道网格上需要有 UV 坐标才能使其工作,但不确定如何实现。
【问题讨论】:
标签: javascript three.js