1

是否可以在 Three.js 中创建具有自定义几何形状的光源,例如符号。Three.js 中的 Arealight 作为矩形光源,具有 wigth 和 height 参数。最后,目标是获得一个由此类光源照亮的表面,在视觉上就是那个自定义图形。

谢谢WestLangley,这是一个很好的例子,我尝试过这种方式,但不幸的是,它对我不起作用。我试过这个:

var textTexture = new THREE.Texture( "textures/text.jpg" );
        //var textTexture = THREE.ImageUtils.loadTexture("textures/text.jpg");
        textTexture.format = THREE.RGBFormat;
        textTexture.wrapS = textTexture.wrapT = THREE.MirroredRepeatWrapping;
        textTexture.anisotropy = 4;
        var textLight = new THREE.AreaLight( 0xffffff, 3 );
        textLight.position.set( 10, 5, -5 );
        textLight.rotation.x = Math.PI / 2;
        textLight.width = 30;
        textLight.height = 10;
        textLight.texture = textTexture;
        scene.add(textLight)
4

1 回答 1

1

AreaLight仅适用于WebGLDeferredRenderer非常新的示例(不是库)的一部分,并且没有很多使用示例。

如果您查看此示例,您会看到电影纹理被用作光源。

在此示例中,您可以用另一个纹理替换视频纹理,如下所示:

// texture = new THREE.Texture( video );
texture = THREE.ImageUtils.loadTexture( "texture.jpg" );

不幸的是,此示例使用的是库的修改版本。

三.js r.56

于 2013-02-21T15:49:30.100 回答