codecamp

three.js Lensflare

创建一个模拟追踪着灯光的镜头光晕。 Lensflare 只能在将 WebGLRenderer 的 alpha context 参数设置为 true 时使用。

代码示例

const light = new THREE.PointLight( 0xffffff, 1.5, 2000 );

const textureLoader = new THREE.TextureLoader();

const textureFlare0 = textureLoader.load( "textures/lensflare/lensflare0.png" );
const textureFlare1 = textureLoader.load( "textures/lensflare/lensflare2.png" );
const textureFlare2 = textureLoader.load( "textures/lensflare/lensflare3.png" );

const lensflare = new Lensflare();

lensflare.addElement( new LensflareElement( textureFlare0, 512, 0 ) );
lensflare.addElement( new LensflareElement( textureFlare1, 512, 0 ) );
lensflare.addElement( new LensflareElement( textureFlare2, 60, 0.6 ) );

light.add( lensflare );

例子

WebGL / lensflares

构造函数

LensflareElement( texture : Texture, size : Float, distance : Float, color : Color )

texture - 用于光晕的THREE.Texture(贴图)

size - (可选)光晕尺寸(单位为像素)

distance - (可选)和光源的距离值在0到1之间(值为0时在光源的位置)

color - (可选)光晕的(Color)颜色

属性

请参阅其基类Mesh来了解共有属性。

源代码

examples/jsm/objects/Lensflare.js


three.js TGALoader
three.js EffectComposer
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

参考

核心 / BufferAttributes

渲染器 / WebXR

开发者参考

WebGL渲染器

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }