光源直接放置于场景之上,光照颜色从天空光线颜色渐变到地面光线颜色。 半球光不能投射阴影。 代码示例 const light = new THREE.HemisphereLight( 0xffffbb, 0x080820, 1 ); scene.add( light ); 例子 lights / hemisphere controls / pointerlock decals loader / co
平行光是沿着特定方向发射的光。这种光的表现像是无限远,从它发出的光线都是平行的。常常用平行光来模拟太阳光 的效果; 太阳足够远,因此我们可以认为太阳的位置是无限远,所以我们认为从太阳发出的光线也都是平行的。 平行光可以投射阴影 - 跳转至 DirectionalLightShadow 查看更多细节。 关于位置、目标和旋转说明 Three.js 的平行光常见的困惑是设置旋转没有效果。这是因为 thr
漫反射 前面提到一个几何体在太阳光下不同的面明暗不同,这主要是因为太阳离地球比较远,太阳光可以视为平行光,几何体不同的面与平行太阳光光线夹角不同, 换句话说就是相同强度的光线照射在表面上角度不同反射光线的强度也就不同,这里就对个现象建立数学模型。 平行光漫反射简单数学模型:漫反射光的颜色 = 几何体表面基色 x 光线颜色 x 光线入射角余弦值 几何体表面基色简单的说就是不考虑光照物体自身的颜色。
一、基础配置 第一步:创建极光账号 如没有极光账号,需要创建极光推送账号及应用,获得AppKey和Master Secret 两个参数。如下图所示: 第二步:在智能触达中配置极光账号 在诸葛「智能触达→设置→触达渠道→推送消息」中,找到「极光推送」,填入上一步中得到的AppKey和Master Secret参数并完成开通。 第三步:确认SDK中添加推送逻辑代码 实现推送功能,需要SDK从客户端获得
在光照小节中,我们简单地介绍了冯氏光照模型,它让我们的场景有了一定的真实感。虽然冯氏模型看起来已经很不错了,但是使用它的时候仍然存在一些细节问题,我们将在这一节里讨论它们。 Blinn-Phong 冯氏光照不仅对真实光照有很好的近似,而且性能也很高。但是它的镜面反射会在一些情况下出现问题,特别是物体反光度很低时,会导致大片(粗糙的)高光区域。下面这张图展示了当反光度为1.0时地板会出现的效果: 可
在上一节中,我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观,但是这仍不能对一个物体的视觉输出提供足够多的灵活性。 在上一节中,我们将整个物体的材质定义为一个整体,但现实世界中的物体通常并不只包含有一种材质,而是由多种材质所组成。想想一辆汽车:它的外壳非常有光泽,车窗会部分反射周围的环境,轮胎不会那么有光泽,所以它没
现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会更容易一些,而且看起来也差不多一样。这些光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型(Phong Lighting Model)。冯氏光照模型的主要结构由3个分量组成:环境(Ambient)、漫反射(Di
光照对于烘托一个游戏的气氛非常重要,Cocos2d-x 目前支持四种光照技术。使用不同的光照技术,可以获得不同的光照效果。 环境光 环境光 AmbientLight 对场景中的所有内容均匀的应用光照,模拟正常办公环境中的光照可以使用这种方式。 代码: auto light = AmbientLight::create (Color3B::RED); addChild(light); 效果: 定向
在生活中,错综复杂的光线与凹凸不平的物体表面相互反射,使得整个环境都被照亮,仿佛整个场景被一层环境光所笼罩。通过调节环境光,是调节环境整体光照最为直接的方式,也是一种有效表达环境气氛的方式。 Cocos Creator 3D 中的环境光,如下图所示: 环境光面板 以下介绍了面板的所有属性: 属性 解释 groundAlbedo 地面反射光 skyColor 天空颜色 skyIllum 天空亮度 返
聚光灯 用于表现光束的聚焦,可以通过调节聚光角度可以控制光斑的大小。 参数名称 说明 Color 光源颜色 UseColorTemperature 是否启用色温 ColorTemperature 色温 Size 光源大小 Range 光照影响范围 SpotAngle 聚光角度 Term 选用的光照强度单位术语 聚光灯支持两种单位制系统:发光功率(LUMINOUS_POWER) 和 亮度(LUMIN
从官网上的定义: A point light that can cast shadow in one direction. 可以看出,聚光灯是一种特殊的点光源,它能够朝着一个方向投射光线。聚光灯投射出的是类似圆锥形的光线,这与我们现实中看到的聚光灯是一致的。 其构造函数为: THREE.SpotLight(hex, intensity, distance, angle, exponent) 相比
我们都知道,太阳光常常被看作平行光,这是因为相对地球上物体的尺度而言,太阳离我们的距离足够远。对于任意平行的平面,平行光照射的亮度都是相同的,而与平面所在位置无关。 平行光的构造函数是: THREE.DirectionalLight(hex, intensity) 其中,hex是光源十六进制的颜色值;intensity是亮度,缺省值为1,表示100%亮度。 此外,对于平行光而言,设置光源位置尤为
点光源是不计光源大小,可以看作一个点发出的光源。点光源照到不同物体表面的亮度是线性递减的,因此,离点光源距离越远的物体会显得越暗。 点光源的构造函数是: THREE.PointLight(hex, intensity, distance) 其中,hex是光源十六进制的颜色值;intensity是亮度,缺省值为1,表示100%亮度;distance是光源最远照射到的距离,缺省值为0。 创建点光源并
环境光是指场景整体的光照效果,是由于场景内若干光源的多次反射形成的亮度一致的效果,通常用来为整个场景指定一个基础亮度。因此,环境光没有明确的光源位置,在各处形成的亮度也是一致的。 在设置环境光时,只需要指定光的颜色: THREE.AmbientLight(hex) 其中,hex是十六进制的RGB颜色信息,如红色表示为0xff0000。 创建环境光并将其添加到场景中的完整做法是: 例8.1.1 v
创建光晕 光晕工具创建具有明亮的中心、光晕和射线及光环的光晕对象。使用此工具可创建类似照片中镜头光晕的效果。 “光晕 ”包括中央手柄和末端手柄。使用手柄定位光晕及其光环。中央手柄是光晕的明亮中心 -光晕路径从该点开始。 光晕组件 A. 中央手柄 B. 末端手柄 C. 射线(为清晰起见显示为黑色) D. “光晕 ” E. “光环 ” 另请参阅 第 18 页的 “绘图工具库 ” 创建默认光晕 1选择光