CN114529705B - 一种三维引擎编辑器的界面布局处理方法 - Google Patents
一种三维引擎编辑器的界面布局处理方法 Download PDFInfo
- Publication number
- CN114529705B CN114529705B CN202210424242.8A CN202210424242A CN114529705B CN 114529705 B CN114529705 B CN 114529705B CN 202210424242 A CN202210424242 A CN 202210424242A CN 114529705 B CN114529705 B CN 114529705B
- Authority
- CN
- China
- Prior art keywords
- layer
- color
- value
- base map
- coordinate
- 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.)
- Active
Links
Images
Classifications
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种三维引擎编辑器的界面布局处理方法,其特征在于,包括以下步骤:S1、将预制底图平铺于三维引擎编辑器所创建的空白plane上;S2、启用***的射线对底图进行扫描,获取并存储同时包含坐标值和颜色属性的特定数据;S3、对扫描存储的两条字典数据进行筛选,剔除辅助线之外的像素区域;S4、将两条字典中所包含的色值属性进行对比,匹配成功的生成最终的图层锚点,也即图层坐标系;S5、按照图层深度及图层锚点,依次进行图层拼接,快速完成平面布局。本发明实现三维引擎编辑器界面一键布局的功能,极大减少了手工量,同时又保证了图层层级和位置的准确性。
Description
技术领域
本发明涉及一种三维引擎编辑器的界面布局处理方法。
背景技术
目前在三维引擎编辑器中想要完成界面布局工作只有两种办法,一种是将准备好的图层进行手动创建并按照设计进行手动拖入,这种方法操作较为简单,但需要用眼睛进行对正,准确度不够。另一种方法是通过设计人员提前标注坐标值,在编辑器中输入坐标值进行图层的布局排版,这种方法准确度有保证,但是操作非常繁琐。由于图层等属于外部导入资源,目前尚没有一种行之有效的方法能够减少开发者的手工布局时间。
发明内容
本发明提供了一种三维引擎编辑器的界面布局处理方法,旨在减少界面布局工作的人工依赖及用工成本,提高布局效率。
本发明采用的技术方案是:
一种三维引擎编辑器的界面布局处理方法,其特殊之处在于,包括以下步骤:
S1、将预制底图平铺于三维引擎编辑器所创建的空白plane上;
所述预制底图是通过预制辅助线的方式将图层数据预设于底图中,包括:在底图各图层左上角分别预制两条辅助线,分别为一条横轴线和一条纵轴线,线的色值定义为特定Color.x,线的颜色模式采用RGB模式,颜色具体值为{Color.x,Layer,Color.x}(R=Color.x,G =Layer,B=Color.x);其中Layer为各图层对应的层级值,所述Layer值的大小取决于图层层级的深度,即图层的层级Layer值越大,图层显示越靠上,图层的层级Layer值越小,图层显示越靠下。
S2、启用***的射线对底图进行扫描,获取并存储同时包含坐标值和颜色属性的特定数据;
以底图最左下点为原点建立坐标系,在底图的侧边获取某一侧边点坐标(0,β),基于该坐标点生成一条直线x=β作为纵向轴,启用***内物理方法中的射线Ray,控制其沿横向轴移动扫描,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Nx值与底图的宽度值width相乘,即可得到该像素格在x轴的坐标值Tx;随后将每一个像素格的坐标值Tx与色值RGB以字典Dictionary<theX,Color>的形式进行存储;
同理,在底图的底边获取某一底边点坐标(γ,0),基于该坐标点生成一条直线y=γ作为横向轴,启用***内物理方法中的射线Ray,控制其沿纵向轴移动扫描,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Ny值与底图的高度值height相乘,即可得到该像素格在y轴的坐标值Ty;随后将每一个像素格的坐标值Ty与色值RGB以字典Dictionary<theY,Color>的形式进行存储。
S3、对扫描存储的两条字典数据进行筛选,剔除辅助线之外的像素区域。
对S2扫描存储的两条字典循环遍历进行筛选处理,通过value查询,如果value中色值RGB满足{Color.x,α,Color.x}(α为任意值),则保留,反之则删除;经过筛选之后,字典Dictionary<theX,Color>中仅保留所有纵向辅助线所包含的x值,字典Dictionary<theY,Color>中仅保留所有横向辅助线所包含的y值。
S4、将两条字典中所包含的色值属性进行对比,匹配成功的生成最终的图层锚点,也即图层坐标系。
遍历两条字典中的全部Value值,选取Value(即RGB)中α值相同的键值对,将两个键值对中的key值重新组合为Vector2(theX,theY),新生成的二维数组连同图层深度值α以新字典Dictionary<Vector2,int>的格式重新进行存储,最终从底图中提取出图层锚点与层级深度,生成图层属性坐标系,如图3。
S5、按照图层深度及图层锚点,依次进行图层拼接,快速完成平面布局。
遍历新字典Dictionary<Vector2,int>,将数据逐条取出,从图层资源列表中查找对应项,按照图层深度,新建Image图层并进行逐层锚点赋值,最终在一层一层的叠加下,快速完成布局。
本发明通过预制底图,将数据提前预值到图层内,在Unity编辑器下,通过两次射线扫描,识别所有辅助线将存储的数据提取转化为局部列表数据,根据局部列表数据中层级序列号的顺序,依次读取图层信息并按列表数据中的二位坐标进行赋值,实现了一键布局的功能,极大减少了手工量,同时又保证了图层层级和位置的准确性。
附图说明
图1为实施例一的三维引擎编辑器的界面布局处理方法的流程图;
图2为示例预制底图示意图;
图3为图层属性坐标图。
具体实施方式
下面将通过实施例和应用例的方式对本发明的具体技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例一
一种三维引擎编辑器的界面布局处理方法,包括以下步骤:
S1、在Unity编辑器内创建一块空白Plane,并将预制底图赋于表面材质。
所述预制底图通过预制辅助线的方式将图层数据预设于底图中,包括:在底图各图层左上角分别预制两条辅助线,包括一条横轴线和一条纵轴线,线的色值定义为特定Color.x,线的颜色模式采用RGB模式,颜色具体值为{Color.x,Layer,Color.x}(R=Color.x,G =Layer,B=Color.x);其中Layer为各图层对应的层级值,所述Layer值的大小取决于图层层级的深度,即图层的层级Layer值越大,图层显示越靠上,图层的层级Layer值越小,图层显示越靠下。
S2、分别用鼠标从底图的底边和侧边各选择一点,以最左下点为原点(0,0)建立坐标系,当选择底图侧边时,获取侧边点坐标(0,β),由该点生成一条直线x=β作为纵向轴,同时启用***内物理方法中的射线Ray,控制其沿直线x=β进行移动,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Nx值与底图的宽度值width相乘,即可得到该像素格在x轴的坐标值Tx。随后将每一个像素格的色值RGB与坐标Tx值以字典Dictionary<theX,Color>的形式进行存储。
同理当选择底边坐标点(γ,0)时,由底边所选点生成直线y=γ作为横向轴,启用***内物理方法中的射线Ray,控制其沿纵向轴移动扫描,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Ny值与底图的高度值height相乘,即可得到该像素格在y轴的坐标值Ty;随后将每一个像素格的坐标值Ty与色值RGB以字典Dictionary<theY,Color>的形式进行存储。
S3、将扫描存储的两条字典进行循环遍历筛选处理,通过value查询,如果value中RGB满足{Color.x,α,Color.x}(α为任意值),则保留,反之则删除。经过筛选之后,Dictionary<theX,Color>中仅剩纵向的所有辅助线所包含的x值,Dictionary<theY,Color>中仅剩横向所有辅助线所包含的y值。
S4、再次将两条字典中value进行遍历查询,选取两条数据中RGB中G值(即为上步骤中的α值)相同的key值,将两个key以x值、y值的形式重新组合为Vector2(theX,theY),连同G值(图层深度)以新字典Dictionary<Vector2,int>的格式进行存储,最终将图层锚点与层级深度从特制图层中提取了出来,生成了图层属性坐标系,如图3。
S5、遍历新字典Dictionary<Vector2,int>,将数据逐条取出,从图层资源列表中查找对应项,按照深度,新建Image图层并进行逐层锚点赋值,最终在一层一层的叠加下,快速完成布局。
本实施例的一种三维引擎编辑器的界面布局处理方法,解决了在Unity编辑器状态下只能通过手动拖动或输入坐标点完成排版的弊端,大幅减少工作时间,并优化了平面布局的准确性。
Claims (3)
1.一种三维引擎编辑器的界面布局处理方法,其特征在于,包括以下步骤:
S1、将预制底图平铺于三维引擎编辑器所创建的空白plane上;
S2、启用***的射线对底图进行扫描,获取并存储同时包含坐标值和颜色属性的特定数据;
S3、对扫描存储的两条字典数据进行筛选,剔除辅助线之外的像素区域;
S4、将两条字典中所包含的色值属性进行对比,匹配成功的生成最终的图层锚点,也即图层坐标系;
S5、按照图层深度及图层锚点,依次进行图层拼接,快速完成平面布局;
所述S2中:
以底图最左下点为原点建立坐标系,在底图的侧边获取某一侧边点坐标(0,β),基于该坐标点生成一条直线x=β作为纵向轴,启用***内物理方法中的射线Ray,控制其沿横向轴移动扫描,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Nx值与底图的宽度值width相乘,即可得到像素格在x轴的坐标值Tx;随后将每一个像素格的坐标值Tx与色值RGB以字典Dictionary<theX,Color>的形式进行存储;
同理,在底图的底边获取某一底边点坐标(γ,0),基于该坐标点生成一条直线y=γ作为横向轴,启用***内物理方法中的射线Ray,控制其沿纵向轴移动扫描,射线每经过一个像素点时就会触发一次检测方法RaycastHit.textureCoord,方法执行后的返回值为Vector2(Nx,Ny),将返回值中的Ny值与底图的高度值height相乘,即可得到像素格在y轴的坐标值Ty;随后将每一个像素格的坐标值Ty与色值RGB以字典Dictionary<theY,Color>的形式进行存储;
所述S3中:
对S2扫描存储的两条字典循环遍历进行筛选处理,通过value查询,如果value中色值RGB满足{Color.x,α,Color.x},则保留,反之则删除;经过筛选之后,字典Dictionary<theX,Color>中仅保留所有纵向辅助线所包含的x值,字典Dictionary<theY,Color>中仅保留所有横向辅助线所包含的y值;
所述S4中:
遍历两条字典中的全部value值,选取value中α值相同的键值对,将两个键值对中的key值重新组合为Vector2(theX,theY),新生成的二维数组连同图层深度值α以新字典Dictionary<Vector2,int>的格式重新进行存储,最终从底图中提取出图层锚点与层级深度,生成图层属性坐标系。
2.如权利要求1所述的一种三维引擎编辑器的界面布局处理方法,其特征在于,所述S1中:所述预制底图是通过预制辅助线的方式将图层数据预设于底图中,包括:在底图各图层左上角分别预制两条辅助线,包括一条横轴线和一条纵轴线,线的色值定义为特定Color.x,线的颜色模式采用RGB模式,颜色具体值为{Color.x,Layer,Color.x}。
3.如权利要求1所述的一种三维引擎编辑器的界面布局处理方法,其特征在于,所述S5中:
遍历新字典Dictionary<Vector2,int>,将数据逐条取出,从图层资源列表中查找对应项,按照图层深度,新建Image图层并进行逐层锚点赋值,最终在一层一层的叠加下,快速完成布局。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424242.8A CN114529705B (zh) | 2022-04-22 | 2022-04-22 | 一种三维引擎编辑器的界面布局处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424242.8A CN114529705B (zh) | 2022-04-22 | 2022-04-22 | 一种三维引擎编辑器的界面布局处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114529705A CN114529705A (zh) | 2022-05-24 |
CN114529705B true CN114529705B (zh) | 2022-07-19 |
Family
ID=81628350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210424242.8A Active CN114529705B (zh) | 2022-04-22 | 2022-04-22 | 一种三维引擎编辑器的界面布局处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114529705B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949428A (en) * | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
CN104570068A (zh) * | 2013-10-11 | 2015-04-29 | 中国石油化工股份有限公司 | 一种基于三维gis的观测***crp属性分析方法 |
CN105511725A (zh) * | 2015-12-09 | 2016-04-20 | 网易(杭州)网络有限公司 | 界面中控件的显示方法及装置 |
WO2016078474A1 (zh) * | 2014-11-17 | 2016-05-26 | 国家电网公司 | 电网生产管理***与调度自动化***图形交互方法 |
CN108898589A (zh) * | 2018-06-19 | 2018-11-27 | 南通大学 | 基于高速机器视觉的过滤棒爆珠智能检测方法 |
CN109785420A (zh) * | 2019-03-19 | 2019-05-21 | 厦门市思芯微科技有限公司 | 一种基于Unity引擎的3D场景拾色方法及*** |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
US10909297B1 (en) * | 2019-08-15 | 2021-02-02 | Taiwan Semiconductor Manufacturing Company Limited | Deterministic system for device layout optimization |
CN113412471A (zh) * | 2019-02-08 | 2021-09-17 | 苹果公司 | 三维内容中的对象定位和移动 |
WO2022002150A1 (zh) * | 2020-06-30 | 2022-01-06 | 杭州海康机器人技术有限公司 | 一种视觉点云地图的构建方法、装置 |
CN114259730A (zh) * | 2021-12-24 | 2022-04-01 | 苏州九宫数字科技有限公司 | 一种Cocos预制体的高效率导出方法、***及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US8788931B1 (en) * | 2000-11-28 | 2014-07-22 | International Business Machines Corporation | Creating mapping rules from meta data for data transformation utilizing visual editing |
CN108492343B (zh) * | 2018-03-28 | 2021-09-21 | 东北大学 | 一种扩充目标识别的训练数据的图像合成方法 |
US20200202049A1 (en) * | 2018-12-21 | 2020-06-25 | Geospan Corporation | Shared geographic information system for creation, change management and delivery of 3d structure models |
EP3675061A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of editable feature trees |
CN112799583B (zh) * | 2021-04-13 | 2021-08-24 | 北京三维天地科技股份有限公司 | 一种基于android平台的点位示意图绘制*** |
-
2022
- 2022-04-22 CN CN202210424242.8A patent/CN114529705B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949428A (en) * | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
CN104570068A (zh) * | 2013-10-11 | 2015-04-29 | 中国石油化工股份有限公司 | 一种基于三维gis的观测***crp属性分析方法 |
WO2016078474A1 (zh) * | 2014-11-17 | 2016-05-26 | 国家电网公司 | 电网生产管理***与调度自动化***图形交互方法 |
CN105511725A (zh) * | 2015-12-09 | 2016-04-20 | 网易(杭州)网络有限公司 | 界面中控件的显示方法及装置 |
CN108898589A (zh) * | 2018-06-19 | 2018-11-27 | 南通大学 | 基于高速机器视觉的过滤棒爆珠智能检测方法 |
CN113412471A (zh) * | 2019-02-08 | 2021-09-17 | 苹果公司 | 三维内容中的对象定位和移动 |
CN109785420A (zh) * | 2019-03-19 | 2019-05-21 | 厦门市思芯微科技有限公司 | 一种基于Unity引擎的3D场景拾色方法及*** |
US10909297B1 (en) * | 2019-08-15 | 2021-02-02 | Taiwan Semiconductor Manufacturing Company Limited | Deterministic system for device layout optimization |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
WO2022002150A1 (zh) * | 2020-06-30 | 2022-01-06 | 杭州海康机器人技术有限公司 | 一种视觉点云地图的构建方法、装置 |
CN114259730A (zh) * | 2021-12-24 | 2022-04-01 | 苏州九宫数字科技有限公司 | 一种Cocos预制体的高效率导出方法、***及介质 |
Non-Patent Citations (7)
Title |
---|
3D Dynamic modeling and interactive query of underground roadway;M. Li等;《2011 19th International Conference on Geoinformatics》;20110812;第1-4页 * |
三维激光点云矢量化成图编辑工具设计与实现;曾翊城等;《地理信息世界》;20160225(第01期);第121-125页 * |
基于EV-Globe的虚拟漫游***设计;靳海亮等;《计算机与数字工程》;20161220(第12期);第119-126页 * |
基于Unity 3D的实时数据驱动数字化车间研究;胡凡成;《中国优秀硕士学位论文全文数据库 (经济与管理科学辑)》;20220115;J150-983 * |
基于专题图的GIS空间数据获取方法的研究;范艳芳等;《林业勘查设计》;20041230(第04期);第73-75页 * |
浅析水利三维设计中的法线贴图工作原理与绘制方法;柏文等;《科技视界》;20180625(第18期);第159-160页 * |
用CorelDraw绘制科技期刊插图的方法和技巧;张国庆等;《计算机辅助工程》;20051215(第04期);第24-28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114529705A (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228183B (zh) | 前端界面代码生成方法、装置、电子设备及存储介质 | |
CN111950051B (zh) | 基于bim的三维地质建模和基于地质体模型的施工应用方法 | |
CN108255489B (zh) | 前端界面代码生成方法、装置、电子设备及存储介质 | |
TWI480833B (zh) | 具高解析度之共軛焦顯微鏡影像拼接方法 | |
JP2626153B2 (ja) | レイアウトのコンパクション方法 | |
US7620247B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
JP2008146496A (ja) | 画像処理装置及びその制御方法、プログラム | |
CN106611438B (zh) | 三维仿真地图的局部区域更新切图方法及装置 | |
CN110688687B (zh) | 一种城乡建设用地可复垦资源调查图批量生成方法 | |
CN111462838B (zh) | 一种直接将图像像素转换成有限元单元的方法 | |
WO1998029831A1 (en) | Method and system for improving legibility of text and graphic objects laid over continuous-tone graphics | |
JP3647407B2 (ja) | 画像処理装置 | |
CN113779658A (zh) | 一种基于b/s及c/s端自动生成可编辑勘察图件的方法 | |
CN114882272A (zh) | 一种航空制造件全角度投影图像面片属性融合分析方法 | |
CN110309553B (zh) | 一种基于标准化桥梁通用图库的图纸快速绘制***及方法 | |
CN114529705B (zh) | 一种三维引擎编辑器的界面布局处理方法 | |
CN113255289A (zh) | 一种文案排版布局的方法及*** | |
CN110706240B (zh) | 基于小图斑的无人机影像数据批量裁切方法 | |
CN112799669B (zh) | 应用程序界面布局代码的生成方法、装置及电子设备 | |
CN115048473B (zh) | 城市信息模型人工智能服务方法及*** | |
CN114119894A (zh) | 一种地形曲面创建方法、***和计算机终端 | |
CN111612869B (zh) | 一种基于栅格数据进行地质编图的分析方法 | |
JPH09106460A (ja) | 画像部品の隣接関係判定方法 | |
CN101908062A (zh) | Gis空间谓词判断方法及其*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |