three.js 中的纹理没有控制台错误仍然无法正常工作
Texture in three.js no console errors still not working
我是 three.js 的新手,需要为学校做一个项目。对于这个项目,我的立方体需要一个纹理。但是屏幕保持黑色..并且没有控制台错误!我已经尽力了所以这是我最后一次改变哈哈。
我的代码:
<script src="js/three.min.js"></script>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
// +
var material = new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('images/crate2.jpg')
})
// =
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
var render = function () {
requestAnimationFrame( render );
cube.rotation.x += 0.1;
cube.rotation.y += 0.05;
renderer.render(scene, camera);
};
render();
</script>
您的场景中没有灯光。
像下面这样添加一个应该可以
// Create ambient light and add to scene.
var light = new THREE.AmbientLight(0xffffff); // white light
scene.add(light);
我会在 js fiddle 中添加一个 link,但它们似乎已经改变,我再也找不到从哪里获得 link。
无论如何,只是广告一些灯。
也许加一盏灯会有帮助?那或尝试使用 THREE.MeshBasicMaterial
我是 three.js 的新手,需要为学校做一个项目。对于这个项目,我的立方体需要一个纹理。但是屏幕保持黑色..并且没有控制台错误!我已经尽力了所以这是我最后一次改变哈哈。
我的代码:
<script src="js/three.min.js"></script>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
// +
var material = new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('images/crate2.jpg')
})
// =
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );
camera.position.z = 5;
var render = function () {
requestAnimationFrame( render );
cube.rotation.x += 0.1;
cube.rotation.y += 0.05;
renderer.render(scene, camera);
};
render();
</script>
您的场景中没有灯光。 像下面这样添加一个应该可以
// Create ambient light and add to scene.
var light = new THREE.AmbientLight(0xffffff); // white light
scene.add(light);
我会在 js fiddle 中添加一个 link,但它们似乎已经改变,我再也找不到从哪里获得 link。 无论如何,只是广告一些灯。
也许加一盏灯会有帮助?那或尝试使用 THREE.MeshBasicMaterial