我想在ThreeJs中添加一个纹理到一个盒子里。 我没看到我做错了什么,在Chrome和互联网上它没有用。
<script src="three.min.js"></script>
<script src="OrbitControls.js"></script>
<script>
//Scene aanmaken
var scene = new THREE.Scene();
//Camera
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
//Render instellen
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x000000);
document.body.appendChild(renderer.domElement)
//Camera positie
camera.position.z = 30;
camera.position.y = 10;
//Orbit control aanroepen, voor rond te kijken in de scene
var controls = new THREE.OrbitControls(camera, renderer.domElement);
var tafelGeometry = new THREE.BoxGeometry(20,1,40);
//Texture
var tableMaterials = new THREE.MeshBasicMaterial( {map: THREE.ImageUtils.loadTexture( "laken.jpg" ),side: THREE.DoubleSide} );
var tafel = new THREE.Mesh(tafelGeometry,tableMaterials);
scene.add(tafel);
function render()
{
requestAnimationFrame(render);
renderer.render(scene,camera);
controls.update();
}
render();
我希望有人可以帮助我。 亲切的问候帕特里克
答案 0 :(得分:1)
我认为加载纹理有问题。确保纹理完全加载,并且没有出现以下错误:
XMLHttpRequest无法加载文件:/Desktop/Three.js/abc.jpg。交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。
如果您通过制作网站,使用某个网页编辑器(即视觉工作室)检查上述问题。
答案 1 :(得分:1)
Chrome出于安全原因阻止加载纹理。 尝试使用以下命令打开chrome(在Windows中)
.\chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
(但不要访问其他网站)