【乐吾乐3D可视化组态编辑器】模型类型与属性
编辑器地址:3D可视化组态 - 乐吾乐Le5le
本章主要为您介绍模型的属性功能。
一个模型至少会包含一个节点(Node),从节点类型上可以分为转换节点(TransformNode)、网格(Mesh)、实例网格(InstancedMesh)。此外,系统自带了一种特殊的模型,即面板,它本质也是网格,只是材质固定为高级动态纹理。
下面我们详细介绍下这几种节点的区别以及可以设置的属性。
转换节点
转换节点没有实体,不会渲染,它一般用作网格的变换中心,当它的位置、缩放或者旋转值发生改变时,它下面挂载的子节点会以转换节点为中心发生改变。
转换节点是其他模型节点的父类,因此它可以设置的属性其他模型节点也都可以设置。
名称
模型节点的名称,不同节点名称可以重复。
数据类型:string
所属分组
模型节点所在的分组,一个节点可以设置到多个分组中。
数据类型:string[]
启用
是否显示节点,当关闭时,会隐藏当前节点及其所有子节点,并且在画布中不可被拾取。
数据类型:boolean
位置
节点的坐标点。如果节点为根节点,表示绝对坐标,如果节点有父节点,表示以父节点所在位置为原点的相对坐标。
数据类型:number
缩放
节点的缩放值。
数据类型:number
旋转
节点的旋转值,单位为角度。
数据类型:number
网格
3D场景中模型的形状是由网格构建的,每个网格都是由三角形的面连接在一起,每个面有三个顶点。模型越复杂,网格中的点和面就越多,对性能的要求就越高。因此在建模的时候,我们应该尽量精简点面的数量。我们可以通过添加材质和贴图来为网格覆盖颜色和图片,不同的材质表现的效果也不同。
网格是转换节点的子类,因此它也具有转换节点的属性。下面我们详细介绍网格特有的属性。
基础
可拾取
点击左键时,网格是否可以被拾取到。如果设置为不可拾取,在编辑状态下不可被左键选中(但是可以在结构中被选中),在运行状态下不会触发鼠标相关事件。
数据类型:boolean
透明度
改变网格的透明度,范围0-1,0表示完全不可见,1表示完全可见。只对自身有效,不会改变子节点的透明度。不会影响网格拾取。
数据类型:number
接收阴影
网格表面是否显示阴影。
数据类型:boolean
生成阴影
网格是否可以产生阴影。
数据类型:boolean
固定朝向
可以设置网格相对于相机的显示方向。当您需要模型始终面向相机时,可以设置此属性为水平面向相机或者垂直面向相机。
数据类型:number,0不固定,
渲染层级
设置网格在场景中的渲染层级。当您需要在场景上层始终显示网格,不希望被遮挡时,可以设置此属性为置顶。
数据类型:number
材质
我们可以给网格添加材质以显示出不同的效果,系统目前支持PBR材质、网格材质、渐变材质、水材质、节点材质等。
PBR材质
PBR即基于物理的渲染,它可以通过计算光线与物体表面的交互状态而实现模拟真实世界的画面。当配置了HDR后,模型表面即会反射出周围环境的效果,且HDR仅对PBR材质生效。
金属光泽
模型表面的金属光泽度,值越高,金属质感越强。范围0 - 1。
数据类型:number
金属因子
材质反射的亮度,值越高,反射亮度越强。
数据类型:number
粗糙度
模型表面的粗糙程度,值越高,表面显得越不光滑。范围0 - 1。
数据类型:number
漫反射色
材质在灯光下观察到的颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
自发光色
材质自身的颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
混合光影映射
开启后材质将光照贴图中获取阴影信息
数据类型:boolean
环境纹理强度
材质的环境纹理(ao)贴图影响因子,值越大,环境纹理贴图对材质的影响越大。
透明度
材质的透明度,值越小,材质显得越透明。范围0 - 1。
数据类型:number
透明模式
透明模式分为混合与叠加,材质或材质中的帖图含有透明时,默认为混合。将透明模式改为叠加后,材质遇到许多网格重叠的情况是,网格会发亮。
隐藏背面
当相机旋转到该材质背面时是否隐藏材质。
数据类型:boolean
网格材质
可在模型表面显示出网格的材质。
网格色
网格块的颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
线条色
网格线的颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
线条缩放
线条间隔相对于模型的缩放比例。值越大,线条间隔越宽。
数据类型:number
透明度
同PBR材质-透明度。
隐藏背面
同PBR材质-隐藏背面。
渐变材质
水材质

1、凹凸纹理:水材质的形状法线贴图,需要一张法线贴图
2、波峰、波长、跳跃高度绝对每一条水波的高低起伏
3、流速,控制水面的流动速度
4、水色,控制水面的颜色
5、默认反射天空盒
节点材质

使用BJS节点编辑器,连接节点自定义材质。
纹理
当材质设置为PBR材质或者水材质时,您可以为材质添加纹理。系统支持的纹理有以下几种:
- 漫反射纹理:在灯光下观察到的纹理。
 - 自发光纹理:无灯光时也能观察到的纹理。
 - 环境纹理:又称作遮挡纹理,它可以把烘焙阴影添加到材质。
 - 光照纹理:将预先计算的网格的光照信息存储在纹理中,可以减少处理光照的计算量。
 - 反射纹理:可以显示反射的纹理。
 - 凹凸纹理:存储用于置换纹理中网格的表面法线数据,可以模拟渲染表面的凹凸和凹痕。
 
下面介绍这些纹理可以设置的属性。
贴图
设置纹理贴图的资源路径。
数据类型:string
UV坐标索引
定义要使用的UV通道,从0开始,默认为0。
数据类型:number
包含RGBD
纹理是否包含RGBD数据。
数据类型:boolean
纹理透明
定义纹理是否可以透明显示。
数据类型:boolean
坐标模式
定义如何映射纹理。
数据类型:number
横向(u)偏移
定义纹理在U坐标上的偏移量。
类型:number
纵向(v)偏移
定义纹理在V坐标上的偏移量。
类型:number
横向(u)缩放
定义纹理在U坐标上的缩放量。
类型:number
纵向(v)缩放
定义纹理在V坐标上的缩放量。
类型:number
实例网格
当场景中有大量重复模型时,比如树林、人群等,如果每个模型都是单独的网格会非常消耗性能,比较好的解决办法是使用实例网格。实例网格与源网格共用顶点、几何体以及材质,这样会减少资源消耗,加快场景渲染速度。您可以通过复制为引用来创建模型的实例,我们也支持导入GLB本身自带的实例网格。当源模型被删除时,所有基于其创建的实例模型都会被删除。并且实例模型可配置的属性,以及动画、数据、交互等都是独立的,不会被源模型影响。
实例网格可以配置的属性与转换节点完全一致,您可以参考转换节点的属性介绍。
除此之外,系统在基础属性中提供了选择源模型的按钮,用来快速选中实例网格的源模型。
面板
面板是一种特殊的网格,它用来在场景中展示2D信息,例如设备的温度、描述、名称等。
面板的属性包括网格中的所有基础属性,您可以参考网格 - 基础属性介绍。另外,面板无法更改材质。
您可以点击基础属性下方的编辑面板内容按钮,在弹窗中通过面板编辑器来设置要显示的内容。
面板编辑器的操作和场景编辑器类似,左侧为面板支持的显示内容,右侧为属性配置栏,当没有选中内容时,右侧显示的是面板整体的配置属性,当选中某个内容时,右侧显示的是该内容类型对应的配置属性。
面板属性
宽度
面板的宽度,最好取2的整数倍。默认为1024。
数据类型:number
高度
面板的高度,最好取2的整数倍。默认为1024。
数据类型:number
背景色
面板的背景颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
背景图片
面板的背景图片地址。
数据类型:string
填充方式
设置背景图片填充到面板上的方式。1代表拉伸,图片会同时放大或缩小宽高来铺满背景,缺点是不会保持原比例。2代表适应,图片会保持原有的宽高比例并尽可能的最大显示,缺点是会有空白区域。默认为拉伸。
数据类型:number
文本属性
名称
内容块的名称。在同一面板列表中不能重复。
数据类型:string
距左
内容块左上角顶点至面板左侧的距离。
数据类型:number
距上
内容块左上角顶点至面板顶部的距离。
数据类型:number
宽度
内容块的宽度。
数据类型:number
高度
内容块的高度。
数据类型:number
透明度
内容块的透明度。范围0 - 1。
数据类型:number
背景颜色
内容块的背景颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
文本
内容块显示的文字。
数据类型:string
颜色
文字颜色。
数据类型:十六进制颜色或者RGB颜色字符串。例如 #ffffff 或者 rgb(255, 255, 255)。
字体
文字字体。
数据类型:string
粗细
文字粗细。100 - 细,500 - 正常,900 - 粗。
数据类型:string
字号
文字大小。
数据类型:number
水平对齐
文字在内容块中水平的位置。start - 居左,center - 居中,end - 居右。
数据类型:string
垂直对齐
文字在内容块中垂直的位置。start - 居上,center - 居中,end - 居下。
图片属性
名称、距左、距上、宽度、高度、透明度、背景颜色均与文字属性相同。
图片
内容块显示的图片地址。
数据类型:string
填充方式
同面板属性的填充方式。
操作
目前面板编辑器支持的操作有:
- 添加内容:拖拽左侧内容块至面板显示区,即可生成对应内容。
 - 选择内容:鼠标左键点击内容块,或者从列表中点击。
 - 删除内容:选择内容后按Delete或者Backspace,也可从列表中点击删除按钮。
 - 取消选择:Esc或者点击面板显示区非内容块的地方。
 - 复制内容:按住Ctrl后鼠标拖拽内容块。
 - 置顶:点击工具栏置顶按钮。
 - 置底:点击工具栏置底按钮。
 - 撤销:点击工具栏撤销按钮,或者Ctrl+Z。
 - 恢复:点击工具栏恢复按钮,或者Ctrl+Shift+Z。
 
相关文章:
【乐吾乐3D可视化组态编辑器】模型类型与属性
编辑器地址:3D可视化组态 - 乐吾乐Le5le 本章主要为您介绍模型的属性功能。 一个模型至少会包含一个节点(Node),从节点类型上可以分为转换节点(TransformNode)、网格(Mesh)、实例网…...
PyQt下拉框QComboBox点击下拉时即更新下拉数据
在 PyQt 中,QComboBox 控件本身并没有直接的事件或信号来指示下拉列表何时被打开(即用户点击了下拉箭头)。但是,你可以通过其他方式间接地实现这个功能,比如通过重写 QComboBox 的某些方法或者在用户与 QComboBox 交互…...
网上有哪些正规的兼职副业赚钱平台?分享10类正规的网上兼职赚钱平台,让你在家也能赚钱~
在如今的快节奏社会中,越来越多的人开始寻求兼职副业来增加收入。而随着互联网的普及,网上赚钱平台成为了许多人选择的方式之一。然而,面对众多的网上赚钱平台,我们要如何辨别哪些是正规可靠的呢?在本文中,…...
Spring:JWT
文章目录 一、介绍 一、介绍 JWT(JSON Web Token)是一种开放标准(RFC 7519)的方法,用于在双方之间安全地传输信息。这些信息可以是验证、授权、信息交换等。JWT 通常被用于在客户端和服务器之间传递用户信息ÿ…...
Python的selenium爬取
1.selenium 1.1.前言 使用python的requests模块还是存在很大的局限性,例如:只发一次请求;针对ajax动态加载的网页则无法获取数据等等问题。特此,本章节将通过selenium模拟浏览器来完成更高级的爬虫抓取任务。 1.2.什么是seleniu…...
Linux--进程间通信(1)(匿名管道)
目录 1.了解进程通信 1.1进程为什么要通信 1.2 进程如何通信 1.3进程间通信的方式 2.管道 2.1管道的初步理解 2.2站在文件描述符的角度-进一步理解管道 2.3 管道的系统调用接口(匿名管道) 2.3.1介绍接口函数: 2.3.2编写一个管道的代…...
Hive环境搭建
1 安装Hive 下载文件 # wget -P /opt/ https://mirrors.huaweicloud.com/apache/hive/hive-2.3.8/apache-hive-2.3.8-bin.tar.gz 解压缩 # tar -zxvf /opt/apache-hive-2.3.8-bin.tar.gz -C /opt/ 修改hive文件夹名字 # mv /opt/apache-hive-2.3.8-bin /opt/hive 配置环境变量 …...
网络编程基础(四)
目录 前言 二、多点通信 2.1 单播 2.2 广播 2.2.1 广播得发送端实现--》类似与UDP的客户端 2.3 组播 2.3.1 组播发送端流程--》类似于UDP的客户端流程 2.3.2 组播的接收端流程---》类似于UDP的服务器端流程 前言 多点通信 一、套接字选项得获取和设置 int getsockopt(int…...
将C++ cv:mat 通过JNI 转换为jbtyearray,传到android端
cv::Mat result ; //此处为C获取到的cv::mat结果对象// 编码为JPEG格式std::vector<uchar> buf;cv::imencode(".jpg", result, buf);// 创建一个新的jbyteArray并设置其大小jbyteArray array env->NewByteArray(buf.size());if (array NULL) {// 处理内存…...
WannaCry勒索软件(CVE-2017-0144)
WannaCry 永恒之蓝 在2017年5月,WannaCry勒索软件爆发了一场全球性的网络安全危机,迅速感染了超过200,000台计算机,波及150多个国家。从医疗保健系统到政府机构,无数组织面临数据被加密和赎金要求的双重威胁。本文将提供关于Wann…...
JavaScript(ES5) 入门
01-简介 1)JavaScript 发展史 [1] 1995年,navigator(导航者),netscape(网景);用户体验性特别好 [2] 表单验证难题,表单验证都是在后台处理.当时处在网速特别慢的时代,发送一个请求,接收响应 需要5分钟左右的时候提高表单验证的速度,想开发一种语言在前端进行表单验证. [3] 1995…...
趣店集团golang一面要个20K,Channel什么情况下会出现死锁,有遇到过吗?
结束后面试官加了VX,并询问方便二面的时间,一直还没回复,拖着拖着给忘啦... 面试题 1、自我介绍 2、你在团队里头负责哪一块,这个物流开放平台流量多大 3、为什么今年3月份被从物流开放团队转到了finance财务部门,感…...
智能化乙级资质延期,行业标准的坚守
智能化乙级资质延期:行业标准的坚守 一、引言 智能化乙级资质是企业在智能化工程设计与施工领域的重要认证,它代表了企业的技术实力和专业水平。为确保企业能够持续满足行业标准,保持竞争力,智能化乙级资质的延期管理显得尤为重要…...
d20(184-190)-勇敢开始Java,咖啡拯救人生
目录 网络通信 网络通信三要素(IP地址,端口号,协议 IP地址 InetAddress 端口号 协议 传输层的两个通信协议 UDP通信 java.net.Datagramsocket类 客户端 服务端 UDP通信多收多发 客户端 服务端 TCP通信 java.net.Socket类 客…...
Python 登录表单处理
分析: 处理登录表单以便爬⾍能够抓取需要认证的⽹⻚数据,通常需要模拟登录过程。这可以通过发送带有⽤⼾凭证的POST请求到登录表单的URL来实现。为了保持登录状态,需要处理和保存会话中的 cookies。Python的 requests 库可以⽅便地处理这些任…...
2024.05.27学习记录
1、面经复习: 实际工作经验章节 2、代码随想录刷题:动态规划剩下部分和单调栈 3、rosebush 组件库完成Input 和 AutoComplete部分内容...
BLASTBufferQueue端的GraphicBuffer怎么和SurfaceFlinger端的BufferStateLayer关联上
BLASTBufferQueue端的GraphicBuffer怎么和SurfaceFlinger端的BufferStateLayer关联上 引言 在跟进hwc_layer是如何产生的,并如何被填充上GraphicBuffer的,怎么也找不到被填充的GraphicBuffer的来源,最终找到了,它的来源是客户端的…...
48、spfa求最短路
spfa求最短路 题目描述 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible。 数据保证不存在负权回路。 输入格式 第一行包…...
安装PyTorch详细步骤
💥注意事项: CPU版和GPU版选一个进行安装即可 如果有Nvidia显卡,则安装cuda版本的PyTorch,如没有nvidia显卡,则安装cpu版。 目前常见的深度学习框架有很多,最出名的是:PyTorch(faceb…...
linux线程,线程控制与线程相关概念
线程概念 线程这个词或多或少大家都听过,今天我们正式的来谈一下线程; 在我一开始的概念中线程就是进程的一部分,一个进程中有很多个线程,这个想法基本是正确的,但细节部分呢我们需要细细讲解一下; 什么…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
