three.js 带有来自 jpg 图像的纹理贴图的平面几何正在变黑
three.js planegeometry with texture map from jpg image is coming up black
我正在尝试使用 three.js 引擎将纹理应用于 planeGeometry。
我应该看到一个足球场,我实际上看到的是黑色。
如果我用 color:0x80ff80 替换 map:texture 参数,我会得到一个纯绿色的区域,表明几何图形位于正确的位置。
该页面包含一个出现在文件中任何脚本之前的 。我可以显示那个图像,证明图像没有问题。
这些文件正在本地由 HTTP 服务器提供。
我用来构建 material 和 PlaneGeometry 的代码如下。任何想法表示赞赏。谢谢。
function buildField( fieldLength, fieldWidth, scene) {
var image = document.getElementById("fieldTexture");
var texture = new THREE.Texture(image);
texture.minFilter = THREE.LinearFilter;
var geometry = new THREE.PlaneGeometry(fieldLength, fieldWidth, 5, 5);
var material = new THREE.MeshBasicMaterial( {map:texture, side:THREE.DoubleSide});
var field = new THREE.Mesh(geometry, material);
field.rotation.x = -Math.PI/2;
scene.add(field);
}
试试这个,自己的 THREE.js 方法通常效果更好...:[=11=]
texture = THREE.ImageUtils.loadTexture('field.png');
material = new THREE.MeshBasicMaterial({map: texture});
var field = new THREE.Mesh(geometry, material);
THREE.ImageUtils 已弃用。 (source)
使用 THREE.TextureLoader().load('field.png') 代替
我正在尝试使用 three.js 引擎将纹理应用于 planeGeometry。 我应该看到一个足球场,我实际上看到的是黑色。
如果我用 color:0x80ff80 替换 map:texture 参数,我会得到一个纯绿色的区域,表明几何图形位于正确的位置。
该页面包含一个出现在文件中任何脚本之前的 。我可以显示那个图像,证明图像没有问题。
这些文件正在本地由 HTTP 服务器提供。
我用来构建 material 和 PlaneGeometry 的代码如下。任何想法表示赞赏。谢谢。
function buildField( fieldLength, fieldWidth, scene) {
var image = document.getElementById("fieldTexture");
var texture = new THREE.Texture(image);
texture.minFilter = THREE.LinearFilter;
var geometry = new THREE.PlaneGeometry(fieldLength, fieldWidth, 5, 5);
var material = new THREE.MeshBasicMaterial( {map:texture, side:THREE.DoubleSide});
var field = new THREE.Mesh(geometry, material);
field.rotation.x = -Math.PI/2;
scene.add(field);
}
试试这个,自己的 THREE.js 方法通常效果更好...:[=11=]
texture = THREE.ImageUtils.loadTexture('field.png');
material = new THREE.MeshBasicMaterial({map: texture});
var field = new THREE.Mesh(geometry, material);
THREE.ImageUtils 已弃用。 (source)
使用 THREE.TextureLoader().load('field.png') 代替