lights 常用基础



3d里面常用的两种光源 DirectionalLight(平行光)& PointLight(点光)。

DirectionalLight(平行光):顾名思义,对象受光面的不同位置所受的光的方向都是平行的。
PointLight(点光):所有光线从一个点发射,对象受光面的不同位置所受的光的方向相交于一点。

场景或者对面添加光源常用的:

_whiteLight = new DirectionalLight(-50, -20, 10);  ---------设置平行光位置
_whiteLight.color = 0xffffee;  --------------------------------------设置光的颜色
_whiteLight.castsShadows = true;  -------------------------------设置投射显示阴影
_whiteLight.ambient = 1;  -------------------------------------------设置阴影浓度
_whiteLight.ambientColor = 0x303040;  ------------------------设置阴影颜色
_whiteLight.shadowMapper = new NearDirectionalShadowMapper(0.2);  ---------设置阴影映射
_scene.addChild(_whiteLight);  -------------------------------------将这个灯光添加到场景

_lightPicker = new StaticLightPicker([_whiteLight]);  --------将光源添加到光源采集器

将光源添加到对象上面,就要用到StaticLightPicker(静态光源采集器)可以理解为一个盒子,里面可以添加多个不同种类的光源,仅仅在场景里面添加了灯光设置了光源里面的阴影参数是不会出现阴影的,还要在材质上面设置阴影

_shadowMapMethod = new NearShadowMapMethod(new FilteredShadowMapMethod(_whiteLight));
_meshMaterial.shadowMethod = _shadowMapMethod;

只有灯光和材质里面同时设置了才能显示阴影,有时候模型过小,产生的阴影不够细腻,可以将整体放大

原文地址:http://bbs.pre3d.com/forum.php?mod=viewthread&tid=83

  • No Comments Yet

添加新评论 »

captcha