ThingJS提供灯光配置基础方法,节省开发精力!

极客逐风说
• 阅读 1258

三维软件可以随意创建任何类型灯光的自由性,但是逼真效果还是需要费一番功夫。ThingJS提供灯光配置基础方法,节省开发精力!
灯光有助于表达一种情感,或引导观众的目光看向具体的位置。灯光能够反映一种基调,对整个图像的外观至关重要。下面教你关于打灯光的技巧,以及轻便的开发方法。
ThingJS提供一套操作简便的灯光配置项,只要配置结束后,记得点击生成代码块并执行,一套完整的初级灯光效果就出来了。
ThingJS提供灯光配置基础方法,节省开发精力!

主灯光

主灯光对象是对主光源的控制代码,可设置的变量包括阴影、颜色、强度和打灯角度。主光源通常放在四分之三的位置上,位置是从物体的正面转45度,并从中心线向上转45度。夜晚的场景很适用于单一的主光源,没有其他的自然光,其他的地方黑得不见五指,这正符合单一条件的主光源效果。
### 环境光
在主灯光对象之前,还有对环境光、半球光照的配置。这两种光源均是天然漫反射的光线,在自然环境中这是一种自然的光亮,不至于让整个环境置于黑箱之中。环境光能够提高整个场景的亮度。半球光照特地用来补充地面或建筑角落里的光线,柔化阴影或减少阴影区域,符合物联网可视化场景的需求。

背景光

第二光源对象也需要设置具体的位置和发光对象的颜色,作为主光源的一种补充光源,感觉会更加逼真。事实上,自然的光线很少只有一种光线照明,而是多种颜色的灯光组合,提供一种景深的感觉。
在3DMAX中打灯是一个复杂的技巧,真正学会操作很费时间,相对来说ThingJS就轻量很多,通过提供场景灯光的配置选项,再生成代码块,方便开发人员迅速掌握,层次效果更丰富。
场景灯光通过app.lighting属性设置,难度一星,代码示例如下。

var app = new THING.App({
    url: 'https://www.thingjs.com/static/models/chinesehouse'
});

app.on('load', function (ev) {
    app.camera.position = [18.217000353088125, 16.96513529990897, 11.90387798709408];
    app.camera.target = [-0.92, 2.1, 2.7];
})

// 环境光对象
var ambientLight = {
    intensity: 0.4,
    color: '#FFFFFF',
};
// 半球光照
var hemisphereLight = {
    intensity: 0.5,
    color: '#FFFFFF',
    groundColor: '#202020',
};
// 主灯光对象
var mainLight = {
    shadow: true,
    intensity: 0.6,
    color: '#FFFFFF',
    alpha: 120,
    beta: 0,
};
// 第二光源对象
var secondaryLight = {
    shadow: false,
    intensity: 0,
    color: '#FFFFFF',
    alpha: 0,
    beta: 0,
};
// 全局配置
var config = {
    ambientLight,
    hemisphereLight,
    mainLight,
    secondaryLight
}

new THING.widget.Button('调整场景灯光', function () {
    // 设置灯光
    app.lighting = config;
})

ThingJS让物联网3D创业项目成功率更高!

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
vue 调用 ios提供的方法
各种百度之后,在别的站看到一篇文章,介绍可以使用WebViewJavascriptBridge与原生app进行通信;在项目中尝试了一下,确实有效记录一下。原文链接:https://blog.csdn.net/szjSmiling/article/details/82773293(https://www.oschina.net/action/
布袋罗汉 布袋罗汉
2年前
Autodesk Maya 2024 for Mac(3D图形软件)
AutodeskMaya2024是一款强大的3D图形软件,主要用于制作动画、虚拟现实、建筑可视化和特效等领域。它支持多种3D模型格式,并提供了广泛的工具和功能,如模型创建、材质编辑、灯光设置、摄像机操作、动画制作等。通过建模和编辑基于多边形、NURBS曲线
Easter79 Easter79
3年前
springboot中切换配置(多个配置文件
问题描述:在springboot项目中可能有测试环境、开发环境、生产环境,在这些环境中我们可能要使用不同的配置,如果每次切换环境的时候都要重新写一份配置文件就很麻烦了,所以下面提供一种方法可以快速且简便的切换不同环境下的配置。解决方案:1、首先在resources目录下创建完整的配置文件(包括测试、开发、生产环境下的相关配置文件
Easter79 Easter79
3年前
ThingJS:如何基于JS语法来设置聚光灯功能
SpotLight聚光灯具有锥形效果的光源,可以产生阴影,类似我们日常生活中的手电筒。ThingJS如何基于JS语法来设置聚光灯功能呢?光源(Lights)是每个场景的重要组成部分。网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围。您可能会在每个场景中使用多个光源。让它们一起工作需要一些实践,但结果却相当惊人。!1.jpg(h
Stella981 Stella981
3年前
RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录
1、RDIFramework.NET框架介绍RDIFramework.NET敏捷开发框架,基于.NET的快速信息化系统开发、整合框架,为企业或个人快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员只需集中精力专注于业务部分的开发,因此大大
公孙晃 公孙晃
2年前
Earth 3D Mac版,3D地球模拟软件
Earth3D是一款令人惊叹的3D地球模拟软件,它能够为用户提供详细的地球表面图像,以及包括城市、气候、云层、夜间灯光和天气等在内的实时信息。使用Earth3D,用户可以自由地探索地球的各个角落,从世界标志性建筑物到深海潜水,都能够轻松实现...
IPv6 无状态地址如何自动配置?
IPv6无状态地址自动配置(SLAAC)是IPv6网络中的一种自动地址配置方法。它是一种简单、高效、节省带宽和资源的方法,允许设备在网络上自动获取IPv6地址。本文将介绍IPv6无状态地址自动配置的原理、过程、优点以及如何进行配置。
数据堂 数据堂
2年前
人脸识别技术在智能家居中的应用
人脸识别技术除了在智能安防、金融支付等领域有广泛应用外,在智能家居中也有着广泛的应用。在智能家电方面,人脸识别技术可以帮助智能家电实现更加智能化和个性化的控制,如根据用户的喜好和需求自动调节空调温度、根据用户的习惯自动控制智能灯光的亮度和色温等。在智能家居
铁扇公主 铁扇公主
1年前
多媒体现场制作软件QLab Pro 免激活最新版
QLabPro是一款强大的现场多媒体控制器,专为剧院、演艺和活动制作而设计。它提供了一套完整的工具和功能,让用户能够顺利管理、控制和呈现各种音频、视频和灯光元素。具体来说,QLabPro的功能包括:提供直观而简洁的用户界面,使您能够轻松地管理和组织所有的媒
JavaScript 常见错误与异常处理
一、为什么要了解常见JS错误1、调试和故障排除:了解常见的JavaScript错误可以帮助你更好地调试和故障排除代码。当你遇到错误时,能够快速识别错误类型并找到解决方法,可以节省大量的时间和精力。2、代码质量和稳定性:通过了解常见的JavaScript错误
融云IM即时通讯 融云IM即时通讯
8个月前
融云IM干货丨推送通知自定义在不同设备上的兼容性问题如何处理?
处理推送通知自定义在不同设备上的兼容性问题,可以采取以下策略:1.适配不同Android版本Android8.0以上版本:使用NotificationChannel来创建通知渠道,并设置通知的属性,如灯光颜色、是否显示角标、震动模式等。Android8.0