CN116228945A - 一种智慧港口集装箱模型渲染方法及系统 - Google Patents
一种智慧港口集装箱模型渲染方法及系统 Download PDFInfo
- Publication number
- CN116228945A CN116228945A CN202211680172.9A CN202211680172A CN116228945A CN 116228945 A CN116228945 A CN 116228945A CN 202211680172 A CN202211680172 A CN 202211680172A CN 116228945 A CN116228945 A CN 116228945A
- Authority
- CN
- China
- Prior art keywords
- container
- information
- map
- model
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/20—Information sensed or collected by the things relating to the thing itself
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种智慧港口集装箱模型渲染方法及系统,方法包括:获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类,如集装箱编号、坐标信息、尺寸信息、高低箱信息、集装箱类型、集装箱所属公司、颜色、危险箱等信息;按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图和法线贴图、编号贴图、并混合对应的logo贴图,实时光照,得到材质属性,采用多线程DOTS技术并发执行设置集装箱模型材质,设置集装箱结构信息,批量渲染集装箱模型;本发明能根据在场集装箱数据,多线程并行、个性化地批量完成大量级的集装箱模型渲染,提升了港口大规模集装箱模型渲染的效率,占用资源低。
Description
技术领域
本发明涉及智慧港口技术领域,更具体地,涉及一种智慧港口集装箱模型渲染方法及系统。
背景技术
在实际应用中,针对智慧港口数字孪生平台对集装箱模型的渲染要求为:真实的集装箱位置、真实的集装箱外观、真实的物理属性等;箱体上的个性化信息高度一致以及支持百万级集装箱的同时呈现。目前采用传统的集装箱模型渲染方法,在渲染过程中每个模型的外观是一模一样的,缺点是对于集装箱模型的所有变更都是同时改变,这又和集装箱模型的外型与真实集装箱高度一致的要求是矛盾的。
此外,还需要说明的是,针对智慧港口数字孪生平台集装箱渲染技术具备两个指标:第一,信息的定制化;第二,港口大规模的模型数量渲染(100万级)。在数字孪生-智慧港口中,传统方式一为依次单个生成生成集装箱模型、设置集装箱属性,当港口集装箱数量过多,如港口全场几十万在场集装箱,传统方法一虽可以满足渲染的定制化要求,但其耗时长、内存过高、效率过低,难以达到数字化标准。另外还有一种常用的渲染方法是对全部集装箱模型进行一次性批量渲染,虽然可以解决数量的问题,但是缺点是不能满足定制化需求。
因此,有必要开发一种能在可接受的空间时间需求范围内,高效地生成全场集装箱模型的方法。
发明内容
本发明针对现有技术中存在的技术问题,提供一种智慧港口集装箱模型渲染方法及系统,能根据在场集装箱数据,多线程并行、个性化地批量完成大量级的集装箱模型渲染,提升了港口大规模集装箱模型渲染的效率。
根据本发明的第一方面,提供了一种智慧港口集装箱模型渲染方法,包括:
获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类,包括:
通过物联网通讯协议,获取真实世界的在场集装箱数据,将真实世界的在场集装箱数据转换为待渲染的在场集装箱数据;
读取待渲染的在场集装箱数据中的经纬度位置,将所述经纬度位置转换到引擎世界坐标系下;
对在场集装箱数据进行分割,按照属性分类规则对在场集装箱数据包含的集装箱属性信息进行划分,所述属性信息至少包括:集装箱编号、坐标信息、尺寸信息、高低箱信息、集装箱类型、集装箱所属公司、颜色、危险箱状态信息。
可选的,所述按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;包括:
基于PBR规则,根据所述在场集装箱数据设置当前待渲染集装箱模型对应的颜色贴图、金属贴图、法线贴图和集装箱编号贴图;将所述颜色贴图、金属贴图、法线贴图、集装箱编号贴图和当前集装箱模型对应的公司logo贴图进行混合,然后基于真实物理光照进行集装箱模型的渲染,得到当前已渲染的材质属性,所述材质属性用于设置集装箱外观贴图信息。
可选的,logo贴图的生成,包括:
根据场区集装箱占比高公司logo,制作所需的贴图素材,所述贴图素材包括:公司logo贴图,制作在一张大贴图中,并设置成贴图数组(6*6);建立所属公司logo贴图组成的元素和真实公司所属编号索引,根据索引得到单张logo贴图。
可选的,设置集装箱模型的属性,包括以下指令:
entityManager.AddComponentData(instance,new ContainerLogo{ logoId =renderData.LogoId }); (1);
entityManager.AddComponentData(instance,new ContainerNum{ idchars =renderData.ContainerId }); (2);
entityManager.AddComponentData(instance,new NonUniformScale { Value= renderData.Scale }); (3);
其中,entityManager为所有的集装箱对象提供了创建集装箱实体,至少用于执行给集装箱实体添加组件、获取集装箱组件、移除集装箱组件、实例化集装箱与销毁集装箱实体功能;
其中AddComponentData为集装箱添加各种属性Compotent;
式(1)为设置公司对应材质所属Logo索引,式(2)为设置集装箱编号,式(3)为设置集装箱尺寸;通过式(1)~(3)设置进行集装箱结构信息设置。
可选的,多线程渲染集装箱模型,包括以下指令:
entityManager.SetSharedComponentData(instance,renderMesh);(4);
var instance=entityManager.Instantiate(entityPrefab);(5);
m_BeginSimECBSystem=World.GetExistingSystem<BeginSimulationEntityCommandBufferSystem>();
Entities.ForEach().ScheduleParallel(); (6);
其中,式(4)为设置集装箱材质属性,式(5)为实例化集装箱实体Entity对象;式(6)为多线程处理。
根据本发明的第二方面,提供一种智慧港口集装箱模型渲染系统,包括:
预处理模块,用于获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
结构属性设置模块,用于根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
材质属性设置模块,按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
并行渲染模块,根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现上述智慧港口集装箱模型渲染方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现上述智慧港口集装箱模型渲染方法的步骤。
本发明提供的一种智慧港口集装箱模型渲染方法、系统、电子设备及存储介质,其通过使用物联网技术获取全场集装箱的数据,并利用多线程技术完成智慧港口的百万集装箱模型渲染。本发明能满足数字孪生-智慧港口平台全场集装箱调度,完成了与现实同步的集装箱位置、外观要求,并附加了集装箱的例如物理重量、碰撞范围、真实物理光照状态等属性参数,对港口设备模拟调度提供了快速性,真实性与易用性。
附图说明
图1为本发明提供的一种智慧港口集装箱模型渲染方法流程图;
图2为本发明方法涉及的物联网数据数据传输架构示意图;
图3为某一实施例实现的渲染效果示意图;
图4为本发明提供的一种智慧港口集装箱模型渲染系统组成示意图;
图5为本发明提供的一种可能的电子设备的硬件结构示意图;
图6为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
名词解释:
1.材质球:贴图用于显示材质球的重要组成部分,材质球是什么样子,通常由贴图决定。着色器Shader可以编辑贴图的细节,经过处理后就生成了材质球。将材质球添加到模型(例如集装箱模型)上,模型就有了材质球的颜色。
2.集装箱规则:集装箱(CONTAINER),它是指具有一定强度、刚度和规格专供周转使用的大型装货容器。集装箱号(装运出口货物的集装箱箱号)常见的集装箱及代码:1)干货箱,2)干货高箱,3)挂衣箱,4)开顶箱,5)冷冻箱,6)冷高箱,7)油罐箱,8)框架箱。集装箱号由四位字母加七位数字组成,前四位字母就是集装箱所有人的标识,如马士基航运的自有箱开头一般为MSKU MKRU开头,地中海航运一般已MSCU MSDU之类开头。箱体上一般都印刷着自己公司的LOGO。
3.PBR渲染:Physically Based Rendering基于物理的渲染过程,是一种着色和渲染技术,用于更精确的描述光如何与物体表面互动,由于其高度的易用性以及方便的工作流,已经被电影和游戏业界广泛使用。
PBR的优势在于其通过精确的物理计算公式,可以准确的得到各种光照环境下的效果,为不同的3d设计师们提供统一的工作流程。
4.DOTS:Data-Oriented Technology Stack(DOTS,数据导向型技术栈),其包含了C#Job System、the Entity Component System(ECS)和Burst。最核心的就是提高CPU效率,利用多线程。把CPU层的耗时操作当对GPU的方式去实现。
图1为本发明提供的一种智慧港口集装箱模型渲染方法流程图,如图1所示,方法包括:
获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种智慧港口集装箱模型渲染方法,对整个港口的集装箱信息数据准备完毕,根据得到的在场集装箱数据,基于Unity ECS架构,利用多线程技术entityManager.Instantiate(entityPrefab),基于JobSystem、Burst一起可以获得更高的性能和并发,快速生成百万级别集装箱模型渲染。本发明能满足数字孪生-智慧港口平台全场集装箱调度,完成了与现实同步的集装箱位置、外观要求,并附加了集装箱的例如物理重量、碰撞范围、真实物理光照状态等属性参数,对港口设备模拟调度提供了快速性,真实性与易用性。
在一种可能的实施例方式中,所述获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;包括:
如图2所示,通过物联网MQTT通讯协议,获取真实世界的在场集装箱数据,将真实世界的在场集装箱数据转换为待渲染的在场集装箱数据,例如结合GeoJson构建集装箱堆区信息;
读取待渲染的在场集装箱数据中的经纬度位置,将所述经纬度位置转换到引擎世界坐标系下,即实现了虚拟的集装箱模型与现实中真实集装箱坐标位置同步的设定,对港口设备模拟调度提供了快速性,真实性与易用性;
对在场集装箱数据进行分割,按照属性分类规则对分割的在场集装箱数据中包含的集装箱属性信息进行划分,所述属性信息至少包括:集装箱编号、坐标信息、尺寸信息、高低箱信息、集装箱类型、集装箱所属公司、颜色、危险箱状态信息。当然,还可能包含一些其余的属性信息,例如集装箱通用编号规则、集装箱破旧信息、集装箱旋转角度信息等。
可以理解的是,本实施例中将基于真实的集装箱信息获取待渲染的集装箱信息,并统一真实集装箱与虚拟集装箱模型的位置、外观属性、物理属性等参数信息,实现集装箱模型与真实集装箱之间各项参数高度统一,对港口设备模拟调度提供了快速性,真实性与易用性。还提取了各类的属性信息,便于后续集装箱模型渲染过程中进行灵活调用与匹配。
在一种可能的实施例方式中,所述按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息,包括:
基于PBR规则,根据所述在场集装箱数据设置当前待渲染集装箱模型对应的颜色贴图、金属贴图、法线贴图和集装箱编号贴图;将所述颜色贴图、金属贴图、法线贴图、集装箱编号贴图和当前集装箱模型对应的公司logo贴图进行混合,然后基于真实物理光照进行集装箱模型的渲染,得到当前渲染的材质属性,所述材质属性用于设置集装箱外观贴图信息。
在一种可能的实施例方式中,更具体的,当前集装箱模型的外观渲染具体为Shader图形编程,代码如下:
比如BaseColor基础色贴图、Metallic金属贴图、Noraml法线贴图、logo贴图等混合贴图渲染集装箱。
对于logo贴图,(例如公司所属logo),传统方式为每个集装箱生成logo贴图,比如200个公司,直接生成200个贴图,,带来效率低下、内存占用高、且无法合批等问题,本实施例基于UV偏移在单张logo素材贴图上进行UV采样(纹理采样),几十万的集装箱均对这单张logo素材贴图采样,因此只占用一张贴图,极大地节省内存占用、解决效率不足的问题。具体的,logo贴图的生成,包括:
制作全部logo贴图中各个组成元素所需的素材贴图,根据所述logo贴图中各个组成元素对应到素材贴图的索引关系、对所述素材贴图中的素材采样,根据采样得到的logo贴图中各个组成元素对应到素材的UV偏移值得到期望的logo贴图。
进行混合贴图时,对logo贴图插值处理,设置为贴图设置模型的UV,具体代码如下:
_MinColor("_MinColor",float)=0
_Rate("_Rate",float)=0
fixed4 col=lerp(_MinColor,fixed4(1,1,0,1),_Rate);
然后将上述定义的logo贴图的颜色值RGBA赋值给颜色贴图BaseColor,即实现了混合贴图。
在一种可能的实施例方式中,当对当前集装箱模型完成外观渲染后,即可将其位置信息(基于世界坐标系)以及各类物理属性信息赋值给当前集装箱模型,以完成当前集装箱模型的完整渲染工作。例如,根据相应的位置、外观属性、物理属性,拿到提前准备好的在场集装箱数据并赋值给当前集装箱模型,例如Postion(位置信息),Rotation(旋转信息),RenderMesh(渲染信息)包含Mesh(网格)、Material(材质信息)、Collider(碰撞信息)等,公式举例如下:
entityManager.AddComponentData(instance,property);
此步骤设置集装箱外观属性,并赋予集装箱物理属性。
在某一个实施场景中,设置集装箱模型的属性,至少包括以下指令:
entityManager.AddComponentData(instance,new ContainerLogo{logoId=renderData.LogoId});本条指令为设置公司对应材质所属Logo索引;
entityManager.AddComponentData(instance,new ContainerNum{idchars=renderData.ContainerId});本条指令为设置集装箱编号;
entityManager.AddComponentData(instance,new NonUniformScale{Value=renderData.Scale});本条指令为设置集装箱尺寸;
其中,entityManager为所有的集装箱对象提供了创建集装箱实体,至少可用于执行给集装箱实体添加组件、获取集装箱组件、移除集装箱组件、实例化集装箱与销毁集装箱实体功能;
其中AddComponentData为集装箱添加各种属性Compotent。
在某一个实施场景中,根据集装箱信息添加物理属性,碰撞范围,质量等物理属性,为集装箱抓/放作业提供真实调度系统模拟,还包括通过以下代码实现如下功能:
(1)设置公司信息:entityManager.AddComponentData(instance,logoId);
(2)设置编号:entityManager.AddComponentData(instance,ContainerId);
(3)设置尺寸:entityManager.AddComponentData(instance,Scale);
(4)设置碰撞:entityManager.AddComponentData(instance,BoxCollider);
(5)设置位置:entityManager.SetComponentData(instance,Postion)……
在一种可能的实施例方式中,在在场集装箱数据准备就绪后,采用多线程并发执行集装箱模型批量渲染。例如,通过Unity平台组件系统的ECS,JobSystem创建好数据集装箱原型Type,多线程大批量调度各类型属性信息生成对应的集装箱,以快速地生成了百万集装箱模型。多线程渲染集装箱模型,包括以下指令:
entityManager.SetSharedComponentData(instance,renderMesh);本条指令为设置集装箱材质属性;
var instance=entityManager.Instantiate(entityPrefab);本条指令为实例化集装箱实体Entity对象;
m_BeginSimECBSystem=World.GetExistingSystem<BeginSimulationEntityCommandBufferSystem>();
Entities.ForEach().ScheduleParallel();本条指令为多线程处理;
本实施例基于Unity ECS架构,利用多线程技术entityManager.Instantiate(entityPrefab)。
ECS包含3个部分:实体Entity,数据Compotents,行为System。ECS就是为了解决百万模型同步而出现的,使用Entity的方式将在场集装箱数据分离出来,然后在需要的地方提供相应的数据,其中System是为了处理Entity中数据的具体逻辑,还有一个很重要的部分"Filter"进行数据的过滤。简单来讲ECS就是数据与数据处理的一个关系。比如集装箱模型会包含位置、角度、渲染,ECS使用的数据布局会把这些情况看作一种非常常见的模式,并优化内存布局,使类似操作更加快捷,如所有集装箱模型有Position位置组件、Renderer渲染组建,组成了一个新的原型。ECS以16k大小的块(Chunk)来分配内存,每个块仅包含单个原型中所有实体的组件数据。JobSystem创建多个Job,每个Job设置原型数据,ScheduleParallel执行多个Job渲染集装箱模型。
多线程技术的优势主要在于渲染的性能。例如传统渲染100000个集装箱模型主线程下,耗时长,在显卡3090下,每秒钟帧数大概为4FPS;使用本实施例的多线程操作,Jobs差距几乎100倍,每秒钟帧数能到100以上,因此本发明渲染模型实现快速化、且内存占用低。经试验验证,在某一实施例场景中按照实际全场集装箱数据生成5万个集装箱模型,耗时约3s,每秒钟帧数达到120FPS以上。
图4为本发明实施例提供的一种智慧港口集装箱模型渲染系统结构图,如图4所示,一种智慧港口集装箱模型渲染系统,包括预处理模块、结构属性设置模块、材质属性设置模块和并行渲染模块,其中:
预处理模块,用于获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
结构属性设置模块,用于根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
材质属性设置模块,按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
并行渲染模块,根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
可以理解的是,本发明提供的一种智慧港口集装箱模型渲染系统与前述各实施例提供的智慧港口集装箱模型渲染方法相对应,智慧港口集装箱模型渲染系统的相关技术特征可参考智慧港口集装箱模型渲染方法的相关技术特征,在此不再赘述。
请参阅图5,图5为本发明实施例提供的电子设备的实施例示意图。如图5所示,本发明实施例提了一种电子设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序511,处理器520执行计算机程序511时实现以下步骤:
获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
请参阅图6,图6为本发明提供的一种计算机可读存储介质的实施例示意图。如图6所示,本实施例提供了一种计算机可读存储介质600,其上存储有计算机程序611,该计算机程序611被处理器执行时实现如下步骤:
获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
本发明实施例提供的一种智慧港口集装箱模型渲染方法,对整个港口的集装箱信息数据准备完毕,根据得到的在场集装箱数据,基于Unity ECS架构,利用多线程技术entityManager.Instantiate(entityPrefab),基于Job System、Burst一起可以获得更高的性能和并发,快速生成百万级别集装箱模型渲染。本发明通过使用物联网技术获取全场集装箱的数据,并利用多线程技术完成智慧港口的百万集装箱模型渲染。本发明能满足数字孪生-智慧港口平台全场集装箱调度,完成了与现实同步的集装箱位置、外观要求,并附加了集装箱的例如物理重量、碰撞范围、真实物理光照状态等属性参数,对港口设备模拟调度提供了快速性,真实性与易用性。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (8)
1.一种智慧港口集装箱模型渲染方法,其特征在于,包括:
获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
2.根据权利要求1所述的一种智慧港口集装箱模型渲染方法,其特征在于,所述获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类,包括:
通过物联网通讯协议,获取真实世界的在场集装箱数据,将真实世界的在场集装箱数据转换为待渲染的在场集装箱数据;
读取待渲染的在场集装箱数据中的经纬度位置,将所述经纬度位置转换到引擎世界坐标系下;
对在场集装箱数据进行分割,按照属性分类规则对在场集装箱数据包含的集装箱属性信息进行划分,所述属性信息至少包括:集装箱编号、坐标信息、尺寸信息、高低箱信息、集装箱类型、集装箱所属公司、颜色、危险箱状态信息。
3.根据权利要求1所述的一种智慧港口集装箱模型渲染方法,其特征在于,所述按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;包括:
基于PBR规则,根据所述在场集装箱数据设置当前待渲染集装箱模型对应的颜色贴图、金属贴图、法线贴图和集装箱编号贴图;将所述颜色贴图、金属贴图、法线贴图、集装箱编号贴图和当前集装箱模型对应的公司logo贴图进行混合,然后基于真实物理光照进行集装箱模型的渲染,得到当前渲染的材质属性,所述材质属性用于设置集装箱外观贴图信息。
4.根据权利要求1所述的一种智慧港口集装箱模型渲染方法,其特征在于,设置集装箱模型的属性,包括以下指令:
entityManager.AddComponentData(instance,new ContainerLogo{ logoId =renderData.LogoId }); (1);
entityManager.AddComponentData(instance,new ContainerNum{ idchars =renderData.ContainerId }); (2);
entityManager.AddComponentData(instance,new NonUniformScale{ Value =renderData.Scale }); (3);
其中,entityManager为所有的集装箱对象提供了创建集装箱实体,至少用于执行给集装箱实体添加组件、获取集装箱组件、移除集装箱组件、实例化集装箱与销毁集装箱实体功能;
其中AddComponentData为集装箱添加各种属性Compotent;
式(1)为设置公司对应材质所属Logo索引,式(2)为设置集装箱编号,式(3)为设置集装箱尺寸;通过式(1)~(3)设置进行集装箱结构信息设置。
5.根据权利要求1所述的一种智慧港口集装箱模型渲染方法,其特征在于,多线程渲染集装箱模型,包括以下指令:
entityManager.SetSharedComponentData(instance,renderMesh);(4);
var instance=entityManager.Instantiate(entityPrefab);(5);
m_BeginSimECBSystem=World.GetExistingSystem<BeginSimulationE
ntityCommandBufferSystem>();
Entities.ForEach().ScheduleParallel();(6);
其中,式(4)为设置集装箱材质属性,式(5)为实例化集装箱实体Entity对象;式(6)为多线程处理。
6.一种智慧港口集装箱模型渲染系统,其特征在于,包括:
预处理模块,用于获取待渲染的在场集装箱数据,从所述在场箱集装箱数据中获取集装箱属性信息,并进行信息分类;
结构属性设置模块,用于根据分类的集装箱属性信息,建立索引表,用于设置集装箱结构信息;
材质属性设置模块,按照PBR渲染规则,设置单个集装箱模型的颜色贴图、金属贴图、法线贴图和编号贴图,并混合对应的logo贴图、实时光照,得到材质属性,用于设置集装箱外观贴图信息;
并行渲染模块,根据分类的集装箱属性信息和材质属性设置集装箱模型的属性,采用多线程式数据导向型技术堆栈,多线程并行渲染集装箱模型。
7.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-5任一项所述的一种智慧港口集装箱模型渲染方法的步骤。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-5任一项所述的一种智慧港口集装箱模型渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680172.9A CN116228945A (zh) | 2022-12-26 | 2022-12-26 | 一种智慧港口集装箱模型渲染方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680172.9A CN116228945A (zh) | 2022-12-26 | 2022-12-26 | 一种智慧港口集装箱模型渲染方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116228945A true CN116228945A (zh) | 2023-06-06 |
Family
ID=86575813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211680172.9A Pending CN116228945A (zh) | 2022-12-26 | 2022-12-26 | 一种智慧港口集装箱模型渲染方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116228945A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612223A (zh) * | 2023-07-17 | 2023-08-18 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
-
2022
- 2022-12-26 CN CN202211680172.9A patent/CN116228945A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612223A (zh) * | 2023-07-17 | 2023-08-18 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
CN116612223B (zh) * | 2023-07-17 | 2023-10-17 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575228B (zh) | 图形处理中的渲染目标命令重新排序 | |
US10437541B2 (en) | Graphics engine and environment for efficient real time rendering of graphics that are not pre-known | |
US8325177B2 (en) | Leveraging graphics processors to optimize rendering 2-D objects | |
TWI336042B (en) | Computer-implemented system, method for composing computer-displayable graphics, and computer-readable medium for performaing the same | |
CN110176054A (zh) | 用于训练神经网络模型的合成图像的生成 | |
Brun et al. | ROOT user’s guide | |
CN110009705A (zh) | 利用表示不同种类像素的映射创建图像 | |
CN104040581B (zh) | 将制造图案应用于交互式可定制产品的自动化生产 | |
CN110544291B (zh) | 一种图像渲染方法及装置 | |
CN104268356B (zh) | 面向精益生产的飞机模型组装方法 | |
CN107833268A (zh) | 用于图形渲染的几何图形处理方法和图形渲染系统 | |
CN111161387B (zh) | 堆叠场景下合成图像的方法及系统、存储介质、终端设备 | |
CN109636885B (zh) | 一种用于h5页面的序列帧动画制作方法和系统 | |
US9176662B2 (en) | Systems and methods for simulating the effects of liquids on a camera lens | |
CN116228945A (zh) | 一种智慧港口集装箱模型渲染方法及系统 | |
DE102019101871A1 (de) | Verfahren und Vorrichtung zum Gewinnen von Abtastpositionen von Textuieroperationen | |
CN109523619A (zh) | 一种通过多角度打光的图片生成3d材质贴图的方法 | |
CN109643395A (zh) | 自适应窗口机制 | |
DE102022101411A1 (de) | Objektsimulation unter verwendung realer umgebungen | |
DE102021114013A1 (de) | Techniken zum effizienten abtasten eines bildes | |
CN105551002B (zh) | 一种图像形态学滤波方法 | |
CN111179390A (zh) | 高效预览cg资产的方法和装置 | |
CN104699850B (zh) | 三维地理信息的处理方法及装置 | |
Hu et al. | Research on 3d interactive model selection and customization of ceramic products based on big data cloud service platform | |
CN114791986A (zh) | 三维信息模型的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |