繁体   English   中英

如何将图像放入Three.js纹理

[英]How can i put image in Three.js texture

我正在尝试在Three.js对象中放置纹理,但是当我应用图像时,该对象将变为黑色。 一些警报显示在代码上,但没有错误。 上图显示结果。 有什么建议吗?

    <!DOCTYPE html>
<html>
<head>

<title>Meu Primeiro WebGL</title>
    <style type="text/css">canvas {width: 100%; height: 100%}</style>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">


</head>
<body>
<script src="three.js"></script>


<script>
       var scene = new THREE.Scene();
       var loader = new THREE.ImageLoader();

            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);

            //primeiro cubo
            var cubegeometry = new THREE.CubeGeometry(5,0.45,5);
            var cubematerial = new THREE.MeshBasicMaterial({wireframe: false, color: 0x0033FF});
            var cube = new THREE.Mesh(cubegeometry, cubematerial);



            //segundo objeto 
            var texture = THREE.ImageUtils.loadTexture('wood.jpg');
            var cbmaterial = new THREE.MeshPhongMaterial({map: texture});
            var cbgeometry = new THREE.CubeGeometry(5.05,0.5,3.75);

            var cb = new THREE.Mesh(cbgeometry, cbmaterial);



            scene.add(cube);
            scene.add(cb);
            camera.position.z = 6

            var render = function(){
                requestAnimationFrame(render);

                cube.rotation.y += 0.02;
                cube.rotation.x += 0.01;
                cube.rotation.z += 0.00;

如果场景中没有灯光,则可能是问题所在。 至少添加一些环境光。 例如:

var ambient = new THREE.AmbientLight( 0x555555 );
scene.add( ambient );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM