所以我想要做的就是抓住已保存在文件夾中的紋理。我得到的錯誤是:
「GET文件:/// E:/Html/Expo%20Sites/Good%20Site/tex/dirt.jpg網:: ERR_FILE_NOT_FOUND」Three.js - 無法加載紋理
我越來越紋理,將它放入一個變量中,創建幾何體,創建材質,然後創建對象並將材質分配給它。我是Three.js圖書館的新手,所以我可能會錯過一些非常明顯的東西。如果你想看看這裏的代碼。
var mousePos = {x: 0.0, y: 0.0};
var windowCenterX = window.innerWidth/2;
var windowCenterY = window.innerHeight/2;
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);
renderer.shadowMapenabled = true;
renderer.shadowMapType = THREE.PCFSoftShadowMap;
document.body.appendChild(renderer.domElement);
var dirtTex = new THREE.ImageUtils.loadTexture('tex/dirt.jpg');
var geometry = new THREE.BoxGeometry(1, 1, 1);
var floor = new THREE.BoxGeometry(10, 1, 10);
var material = new THREE.MeshLambertMaterial({map: dirtTex});
var cube = new THREE.Mesh(geometry, material);
var floor = new THREE.Mesh(floor, material);
var directionalLight = new THREE.DirectionalLight(0xCCFFCC, 1.0);
var hemiLight = new THREE.HemisphereLight(0xCCFFCC, 0xCCFFCC, 0.6);
cube.position.z = -5;
cube.castShadow = true;
cube.recieveShadow = true;
scene.add(cube);
floor.position.z = -5;
floor.position.y = -3;
floor.castShadow = true;
floor.recieveShadow = true;
scene.add(floor);
directionalLight.position.set(0, 1, 0);
directionalLight.shadowDarkness = 1.0;
directionalLight.castShadow = true;
directionalLight.shadowCameraVisible = true;
directionalLight.shadowCameraRight = 5;
directionalLight.shadowCameraLeft = -5;
directionalLight.shadowCameraTop = 5;
directionalLight.shadowCameraBottom = -5;
scene.add(directionalLight);
hemiLight.castShadow = true;
scene.add(hemiLight);
function Update()
{
requestAnimationFrame(Update);
if(mousePos.x == null || 0)
mousePos.x = 1;
if(mousePos.y == null || 0)
mousePos.y = 1;
cube.rotation.x = mousePos.y/500;
cube.rotation.y = mousePos.x/500;
renderer.render(scene, camera);
}
Update();
document.onmousemove = function (e)
{
if(e.pageX != null)
mousePos.x = e.pageX;
if(e.pageY != null)
mousePos.y = e.pageY;
mousePos.x = (mousePos.x - windowCenterX);
mousePos.y = (mousePos.y - windowCenterY);
}
它會給你錯誤的行'var dirtTex = new THREE.ImageUtils.loadTexture('tex/dirt.jpg');'? – Luigi 2014-10-31 19:57:41