我有一个平面几何网格,我使用 2D 画布元素进行纹理化。这是完美的工作。
var landTexture = new THREE.Texture(land.canvas); // animated canvas element
var material = new THREE.MeshLambertMaterial({map: landTexture});
var plane = new THREE.Mesh( new THREE.PlaneGeometry( this.land_width, this.land_height ), material );
landTexture.needsUpdate = true;
landObject.add(plane);
2D 画布有一个动画图案,我想将其用作五边形而不是平面上的纹理。如何使用 2D 画布纹理对更复杂的多边形(例如五边形)进行纹理处理?
编辑:我如何生成五边形
var pentagon = new THREE.Mesh( new THREE.CircleGeometry(this.land_width, 5), material );
PlaneGeometry 上的动画纹理和具有 5 个边的 CircleGeometry 上的相同纹理的屏幕截图。注意五边形上的“拉伸”画布纹理,这不是我想要的。它应该按比例匹配。