ThingJS的3D渲染功能,让你拥有高颜值的项目

简介: 线条有分长短、曲直、粗细,不同的语素表达不同的情感。

线条有分长短、曲直、粗细,不同的语素表达不同的情感。ThingJS之CityBuilder还提供不同颜色模板,让3D画面更加炫酷。
空间数据在地图上以图层(Layer)的形式呈现,图层通过符号和标注来呈现数据。图层可以是不同类型的内容形式,例如点、线、面、栅格、图片等内容。
线条定义为由画笔绘出来的标记,或两个对象或元素相交处创建的线条。它定义了绘画的主题,并帮助我们暗示事物的运动。
什么是"线"?瑞士著名艺术家保罗克利(1879-1940)给出了迄今为止最好的描述::“用一根线条去散步,一根线条可以成为一幅画中的重要因素之一。它可以有他自己的一种生命,一种表现力,以及它自己的个性特征。”它是如此真实的陈述和一点智慧,激发了几代人对艺术的追求。然而,我们必须变得更正式一点。线条是几乎每一件艺术作品所依赖的最基本的设计工具。线条有长度、宽度、音调和纹理。它可以划分空间,定义形式,描述轮廓,或建议方向。你可以在每种艺术中找到一条直线。当然,还有线条画,甚至最抽象的绘画也是以线条为基础的。没有线条,形状不能被注意到,纹理不能被发现,音调不能增加深度。当然,你所做的每一个标记都是一行,只要它不是一个点。一组线(或点)可以做成一个形状,一系列线(或点)可以做成一个图案。
1.jpg

GeoLine是带有地理位置(coordinates)的线要素,也可以添加属性字段(userdata)以存储其他信息。
GeoLine的样式,按线的形状,可分为:像素线(Line)、管状线(PipeLine)、片状线(Plane);按渲染类型,可分为:矢量渲染(vector)和贴图渲染(image)
9.png

下面分别讲一下不同的线要素类型,是如何实现其样式的。

像素线(Line)

vector样式

var  geoLine = app.create({
type: 'GeoLine',
name: '像素线',
coordinates: [
    [116.36808335781097, 39.90587231918103],
    [116.37653768062592, 39.90584351388183],
    [116.38541042804717, 39.90609864611045],
    [116.3970512151718, 39.90649780269116],
    [116.40042006969452, 39.906604792719634],
    [116.40524268150331, 39.90675293248321],
    [116.41170680522919, 39.90692987678102]
],
renderer: {
    lineType: 'Line',
    type: 'vector', // 代表纯色渲染
    color: [255, 0, 0],
    // opacity:0.2 ,// 设置不透明度 默认是1
    // speed: 1 ,// 流动效果速度, 默认是0 不流动;speed 可正可负,正负代表流动方向
    // effect: true // 线发光效果 默认为 false 不开启
}
});
js

参数说明

lineType : ’Line’代表 线的形状类型为 像素线
type : 'vector'代表 线渲染类型为矢量纯色渲染
color : 设置线的颜色,可为rgb数组([255,0,0])、rgb字符串(’rgb(255,0,0)’)、十六进制字符串(‘#ff0000’)
opacity : 设置线的不透明度,默认是1
speed : 设置流动效果速度,默认是0(不流动),speed可正可负,正负代表流动方向
effect : 设置是否开启线发光效果,默认为false(不开启发光特效)

Image样式

    lineType: 'Line',
    type: 'image', // 代表贴图渲染
    imageUrl: '/guide/image/uGeo/path.png',
    numPass: 3,
    speed: 0.5, // 流动效果速度, 默认是0 不流动;speed 可正可负,正负代表流动方向
    // effect: true // 线发光效果 默认为 false 不开启
}

参数说明
• lineType : ’Line’代表 线的形状类型为 像素线
• type : 'image'代表 线渲染类型为贴图渲染
• imageUrl : 使用贴图的url地址
• numPass : 贴图通道叠加数(默认为1)一般来说该数值越大,线越亮
• speed : 设置流动效果速度,默认是0(不流动),speed可正可负,正负代表流动方向
• effect : 设置是否开启线发光效果,默认为false(不开启发光特效)

管状线(PipeLine)

3.png

图9.5 管状线效果图

 var geoLine = app.create({
    type: 'GeoLine',
    name: '管状线',
    coordinates: [
        [116.36808335781097, 39.90487231918103],
        [116.37653768062592, 39.90484351388183],
        [116.38541042804717, 39.90509864611045],
        [116.3970512151718, 39.905497802691166],
        [116.40042006969452, 39.905604792719636],
        [116.40524268150331, 39.90575293248321],
        [116.41170680522919, 39.90592987678102]
    ],
    renderer: {
        lineType: 'Pipe',
        type: 'vector', // 代表纯色渲染
        width: 10, // 设置管线半径(单位米)
        color: [0, 0, 255],
        // opacity: 0.2,// 设置不透明度 默认是1
        // effect: true // 线发光效果 默认为 false 不开启
    }
});

renderer参数中:
• lineType:’Pipe’代表 线的形状类型为 管状线
• type:'vector'代表 线渲染类型为矢量纯色渲染
• width:设置管线的半径(单位为米)
• color:设置线的颜色,可为rgb数组([255,0,0])、rgb字符串(’rgb(255,0,0)’)、十六进制字符串(‘#ff0000’)
• opacity:设置线的不透明度,默认是1
• effect:设置是否开启线发光效果,默认为false(不开启发光特效)
注意事项
注意:矢量纯色渲染的管状线暂不支持设置speed(即展示流动效果)

片状线

3.png

图9.6 片状线效果图

 var geoLine = app.create({
    type: 'GeoLine',
    name: '片状线',
    coordinates: [
        [116.36808335781097, 39.90387231918103],
        [116.37653768062592, 39.90384351388183],
        [116.38541042804717, 39.904098646110455],
        [116.3970512151718, 39.90449780269117],
        [116.40042006969452, 39.90460479271964],
        [116.40524268150331, 39.90475293248321],
        [116.41170680522919, 39.904929876781026]
    ],
    renderer: {
        lineType: 'Plane',
        type: 'vector', // 代表纯色渲染
        width: 5,// 设置线宽 单位为像素
        color: [0, 255, 0],
        // opacity: 0.2,// 设置不透明度 默认是1
        // speed: 1 ,// 流动效果速度, 默认是0 不流动;speed 可正可负,正负代表流动方向
        // effect: true // 线发光效果 默认为 false 不开启
    }
});

renderer参数中:
• lineType:’Plane’代表 线的形状类型为 片状线
• type:'vector'代表 线渲染类型为矢量纯色渲染
• width:设置线宽(单位为像素)
• color:设置线的颜色,可为rgb数组([255,0,0])、rgb字符串(’rgb(255,0,0)’)、十六进制字符串(‘#ff0000’)
• opacity:设置线的不透明度,默认是1
• speed:设置流动效果速度,默认是0(不流动),speed可正可负,正负代表流动方向
• effect:设置是否开启线发光效果,默认为false(不开启发光特效)

Image样式

type: 'GeoLine',
name: '片状线带贴图',
coordinates: [
[116.36808335781097, 39.90337231918103],
[116.37653768062592, 39.90334351388183],
[116.38541042804717, 39.90359864611045],
[116.3970512151718, 39.903997802691165],
[116.40042006969452, 39.904104792719636],
[116.40524268150331, 39.90425293248321],
[116.41170680522919, 39.90442987678102]
],
renderer: {
lineType: 'Plane',
type: 'image', // 代表贴图渲染
width: 5, // 设置线宽 单位为像素
imageUrl: '/guide/image/uGeo/path.png',
numPass: 3,
speed: 0.5, // 流动效果速度, 默认是0 不流动;speed 可正可负,正负代表流动方向
// effect: true // 线发光效果 默认为 false 不开启
}
});

renderer参数中:
• lineType:’Plane’代表 线的形状类型为 像素线
• ype:'image'代表 线渲染类型为贴图渲染
• imageUrl:使用贴图的url地址
• width:设置线宽(单位为像素)
• numPass:贴图通道叠加数(默认为1)一般来说该数值越大,线越亮
• speed:设置流动效果速度,默认是0(不流动),speed可正可负,正负代表流动方向
• effect:设置是否开启线发光效果,默认为false(不开启发光特效)
以上就是ThingJS之Citybuilder三种地理位置线条的设置方法。

CityBuilder提供了多彩的颜色模板,帮助线条动效更加炫酷!ThingJS的理念就是助力你的3D项目开发,实现高颜值更简单了!

相关文章
|
监控 数据可视化 安全
如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)
three.js、webgl、3D煤矿隧道、三维井下人员定位、掘进面三维可视化、纵采面可视化、采集面可视化展示、设备检测、数字孪生、物联网3D、3d建筑、3d库房,bim管理系统
324 1
|
JavaScript 前端开发 程序员
用Unity不会几个插件怎么能行?Unity各类插件及教程推荐
话说工欲善其事必先利其器,程序员总是有一些开发利器,而对于Unity3D开发程序员来说,插件就是非常好用的利器。 今天博主,就将比较好用的插件推荐给大家,希望一起学习品鉴。
|
3月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
336 0
|
4月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
139 0
|
7月前
盘点效率工具RunFlow那些容易被忽略的功能
RunFlow隐藏实用功能一览:固定工作窗口、预览菜单、浏览器直接打开剪贴板URL、多行输入(Ctrl+Enter换行)、固定结果展示。提升效率,从发现这些小窍门开始。
51 4
|
7月前
|
资源调度 前端开发 JavaScript
Excalidraw, 一款超赞的开源白板工具
Excalidraw, 一款超赞的开源白板工具
189 0
|
XML 自然语言处理 搜索推荐
Sitecore成爆红DXP平台,这几个功能真的很重要!
如果你问现在正当红的DXP平台是哪个?十有八九会有人回答Sitecore。相较于之前企业使用的CMS平台,DXP平台在灵活性、扩展性、个性化实施、数据洞察、数据互动等方面,都具有明显的优势,所以现在市场嗅觉敏锐的企业,都已经纷纷开始启用Sitecore。
94 0
|
安全 Linux 开发工具
压箱底的8个网站,各种高效工具应有尽有
一年半以来,我分享了很多实用工具。每当看到有同学私信或者评论说“我用了很多你分享的工具,提高了很多工作效率。”
压箱底的8个网站,各种高效工具应有尽有
|
移动开发 数据可视化 信息无障碍
|
存储 移动开发 前端开发
基于WebGL的在线3D建模与互动脚本开发系统 ThingJS
ThingJS编辑界面布局 3D建模与场景搭建方法 交互控制脚本开发关键点
基于WebGL的在线3D建模与互动脚本开发系统 ThingJS