CN111651959B - 一种3d字体的实现方法及终端 - Google Patents
一种3d字体的实现方法及终端 Download PDFInfo
- Publication number
- CN111651959B CN111651959B CN202010305528.5A CN202010305528A CN111651959B CN 111651959 B CN111651959 B CN 111651959B CN 202010305528 A CN202010305528 A CN 202010305528A CN 111651959 B CN111651959 B CN 111651959B
- Authority
- CN
- China
- Prior art keywords
- font
- file
- text
- generating
- model
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种3D字体的实现方法及终端,读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;根据所述3D文本模型数据渲染3D文本模型以生成3D字体;通过2D字体的轮廓线点集的整合以生成用于3D文本模型渲染的3D文本模型数据,3D文本模型数据能够方便用于对3D字体的各种设置,提高了3D字体实现上的灵活度,丰富了3D显示效果。
Description
技术领域
本发明涉及3D技术领域,尤其涉及一种3D字体的实现方法及终端。
背景技术
近年来,随着计算机技术的快速发展,3D技术的研发与应用也从前期摸索阶段走向不断的成熟化、完善化。经过多年的快速发展与广泛应用,3D技术在人们的工作生活中也越来越普及,有面向影视动画、动漫、游戏等视觉表现类的文化艺术类产品的开发与制作,有面向汽车、飞机、家电、家具等实物物质产品的设计和生成,也有面向人与环境交互的虚拟现实的仿真和模拟等。具体的,包括3D软件行业、3D硬件行业、数字娱乐行业、制造业、建筑业、虚拟现实、地理信息GIS、3D互联网等等。
其中,随着现代计算机的CPU、内存和显卡等硬件性能的显著提升,其计算能力、渲染能力和存储能力都得到大幅度的发展,从而为传统应用跨越到3D应用奠定了基础,为了提高用户日常办公体验,在用户使用办公软件的过程中,也出现了3D的身影,比如艺术字,可以认为是一种3D字体,或者是通过PS技术实现字体的立体化,均实现了从“传统”到“3D”的演进,但是,现有的3D字体实现上灵活度不高,3D效果也比较单一。
发明内容
本发明所要解决的技术问题是:提供一种3D字体的实现方法及终端,提高3D字体实现上的灵活度,丰富3D显示效果。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种3D字体的实现方法,包括步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种3D字体的实现终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体。
本发明的有益效果在于:通过获取2D字体的轮廓线点集,根据轮廓线点集生成3D文本模型数据,根据3D文本模型数据生成3D字体文件,在生成3D字体时,直接读取3D字体文件,获取其中的3D文本模型数据进行3D文本模型的渲染以生成3D字体,通过2D字体的轮廓线点集的整合以生成用于3D文本模型渲染的3D文本模型数据,3D文本模型数据能够方便用于对3D字体的各种设置,提高了3D字体实现上的灵活度,丰富了3D显示效果。
附图说明
图1为本发明实施例的一种3D字体的实现方法的步骤流程图;
图2为本发明实施例的一种3D字体的实现终端的结构示意图;
图3为本发明实施例的对字体的点集进行贝塞尔曲线算法优化的示意图一;
图3(a)为本发明实施例中字体“O”点集中的点偏离正确位置的示意图;
图3(b)为本发明实施例中字体“O”偏离的点调整到正确位置的示意图;
图3(c)为本发明实施例中通过优化点集连接得到字体“O”的示意图;
图4为本发明实施例的对字体的点集进行贝塞尔曲线算法优化的示意图二;
图4(a)为本发明实施例中字体“永”点集中的点偏离正确位置的示意图;
图4(b)为本发明实施例中字体“永”偏离的点调整到正确位置的示意图;
图4(c)为本发明实施例中通过优化点集连接得到字体“永”的示意图;
图5为本发明实施例的利用三角剖分算法根据轮廓线点集生成闭合的几何区域的示意图;
图5(a)为本发明实施例中字体“品”的第一闭合区域示意图;
图5(b)为本发明实施例中字体“品”的第二闭合区域示意图;
图5(c)为本发明实施例中字体“品”的第三闭合区域示意图;
图5(d)为本发明实施例中字体“品”的第四闭合区域示意图;
图5(e)为本发明实施例中字体“品”的第五闭合区域示意图;
图5(f)为本发明实施例中字体“品”的第六闭合区域示意图;
图5(g)为本发明实施例中字体“品”的示意图;
图6为本发明实施例的实现关键帧动画设置的示意图;
图7为本发明实施例的根据3D字体文件生成3D字体的步骤流程图;
标号说明:
1、一种3D字体的实现终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种3D字体的实现方法,包括步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体。
由上述描述可知,本发明的有益效果在于:通过获取2D字体的轮廓线点集,根据轮廓线点集生成3D文本模型数据,根据3D文本模型数据生成3D字体文件,在生成3D字体时,直接读取3D字体文件,获取其中的3D文本模型数据进行3D文本模型的渲染以生成3D字体,通过2D字体的轮廓线点集的整合以生成用于3D文本模型渲染的3D文本模型数据,3D文本模型数据能够方便用于对3D字体的各种设置,提高了3D字体实现上的灵活度,丰富了3D显示效果。
进一步的,所述根据所述2D字体文件获取所述2D字体的轮廓线点集包括:
根据所述2D字体文件获取所述2D字体的字型图像信息;
从所述字型图像信息获取2D字体的轮廓线,根据所述轮廓线确定所述轮廓线的点集;
利用贝塞尔曲线算法优化所述点集。
由上述描述可知,基于2D字体的字型图像信息获取轮廓线,并根据轮廓线确定点集,同时通过贝塞尔曲线算法对点集进行优化以形成最终的2D字体的轮廓线点集,能够优化点集的精细程度,进一步改善3D字体的呈现效果。
进一步的,所述根据所述轮廓线点集生成3D文本模型数据包括:
利用三角剖分算法根据所述轮廓线点集生成闭合的几何区域;
根据所述闭合的几何区域生成3D文本正面模型、背面模型和侧面模型;
根据所述3D文本正面模型、背面模型和侧面模型生成3D文本模型数据。
由上述描述可知,基于轮廓线点集先生成闭合的几何区域,然后基于闭合的几何区域生成3D文本的正面模型、背面模型和侧面模型,再将3D文本的正面模型、背面模型和侧面模型进行组合以形成3D文本模型数据,保证了所生成的3D字体的立体性,3D效果更好。
进一步的,所述步骤S2还包括:
接收对所述3D字体的皮肤设置,所述皮肤设置包括材质设置、纹理设置、颜色设置和/或渲染器设置;
根据皮肤设置生成字体皮肤文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体皮肤文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的皮肤设置;
所述步骤S4还包括:
根据所述对所述3D字体的皮肤设置对所述3D文本模型进行皮肤设置以生成3D字体。
由上述描述可知,通过皮肤设置能够对生成的3D字体进行材质、纹理、颜色和/或渲染方式等方面的设置,进一步丰富了3D字体的显示效果。
进一步的,所述步骤S2还包括:
接收对所述3D字体的动画设置,所述动画设置包括关键帧动画、顶点动画和/或UV动画;
根据所述动画设置生成字体动画文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体动画文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的动画设置;
所述步骤S4还包括:
根据所述对所述3D字体的动画设置对所述3D文本模型进行动画设置以生成3D字体。
由上述描述可知,通过动画设置能够对生成的3D字体进行关键帧动画、顶点动画和/或UV动画等方面的设置,使得3D字体具有动态显示效果,进一步丰富3D字体的显示效果。
请参照图2,一种3D字体的实现终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体。
由上述描述可知,本发明的有益效果在于:通过获取2D字体的轮廓线点集,根据轮廓线点集生成3D文本模型数据,根据3D文本模型数据生成3D字体文件,在生成3D字体时,直接读取3D字体文件,获取其中的3D文本模型数据进行3D文本模型的渲染以生成3D字体,通过2D字体的轮廓线点集的整合以生成用于3D文本模型渲染的3D文本模型数据,3D文本模型数据能够方便用于对3D字体的各种设置,提高了3D字体实现上的灵活度,丰富了3D显示效果。
进一步的,所述根据所述2D字体文件获取所述2D字体的轮廓线点集包括:
根据所述2D字体文件获取所述2D字体的字型图像信息;
从所述字型图像信息获取2D字体的轮廓线,根据所述轮廓线确定所述轮廓线的点集;
利用贝塞尔曲线算法优化所述点集。
由上述描述可知,基于2D字体的字型图像信息获取轮廓线,并根据轮廓线确定点集,同时通过贝塞尔曲线算法对点集进行优化以形成最终的2D字体的轮廓线点集,能够优化点集的精细程度,进一步改善3D字体的呈现效果。
进一步的,所述根据所述轮廓线点集生成3D文本模型数据包括:
利用三角剖分算法根据所述轮廓线点集生成闭合的几何区域;
根据所述闭合的几何区域生成3D文本正面模型、背面模型和侧面模型;
根据所述3D文本正面模型、背面模型和侧面模型生成3D文本模型数据。
由上述描述可知,基于轮廓线点集先生成闭合的几何区域,然后基于闭合的几何区域生成3D文本的正面模型、背面模型和侧面模型,再将3D文本的正面模型、背面模型和侧面模型进行组合以形成3D文本模型数据,保证了所生成的3D字体的立体性,3D效果更好。
进一步的,所述步骤S2还包括:
接收对所述3D字体的皮肤设置,所述皮肤设置包括材质设置、纹理设置、颜色设置和/或渲染器设置;
根据皮肤设置生成字体皮肤文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体皮肤文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的皮肤设置;
所述步骤S4还包括:
根据所述对所述3D字体的皮肤设置对所述3D文本模型进行皮肤设置以生成3D字体。
由上述描述可知,通过皮肤设置能够对生成的3D字体进行材质、纹理、颜色和/或渲染方式等方面的设置,进一步丰富了3D字体的显示效果。
进一步的,所述步骤S2还包括:
接收对所述3D字体的动画设置,所述动画设置包括关键帧动画、顶点动画和/或UV动画;
根据所述动画设置生成字体动画文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体动画文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的动画设置;
所述步骤S4还包括:
根据所述对所述3D字体的动画设置对所述3D文本模型进行动画设置以生成3D字体。
由上述描述可知,通过动画设置能够对生成的3D字体进行关键帧动画、顶点动画和/或UV动画等方面的设置,使得3D字体具有动态显示效果,进一步丰富3D字体的显示效果。
实施例一
请参照图1,一种3D字体的实现方法,包括步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
具体的,根据所述2D字体文件获取所述2D字体的字型图像信息;
从所述字型图像信息获取2D字体的轮廓线,根据所述轮廓线确定所述轮廓线的点集;
利用贝塞尔曲线算法优化所述点集;
其中,Bezier贝塞尔曲线算法通过增加2D字体的特征点和调整2D字体的特征点来优化点集的精细程度;
如图3所示的字体“O”的点集形成过程,在图3(a)中,圆圈圈出来的点偏离了正确位置,通过贝塞尔曲线算法优化后,在图3(b)中,偏离位置的点被调整到了正确的位置,在图3(c)中,优化后的点集连接而成的即为正确的字体“O”;
如图4所示的字体“永”的点集形成过程,在图4(a)中,圆圈圈出来的点偏离了正确位置,并且“永”上面的一点的特征点数不够多,通过贝塞尔曲线算法优化后,在图4(b)中,不仅将偏离了正确位置的点调整到正确位置,并且也增加了“永”上面的一点的特征点数,在图4(c)中,优化后的点集连接而成的即为正确的字体“永”;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
其中,所述根据所述轮廓线点集生成3D文本模型数据包括:
利用三角剖分算法根据所述轮廓线点集生成闭合的几何区域;
根据所述闭合的几何区域生成3D文本正面模型、背面模型和侧面模型;
根据所述3D文本正面模型、背面模型和侧面模型生成3D文本模型数据;
如图5所示为对于字体“品”通过三角剖分算法生成闭合的几何区域的示意图,利用OpenGL的TessVertex方法生成由多个三角面拼接而来的几何形状,如图5(a)-(f)所示,为通过三角剖分确定出的“品”字的六个闭合区域,图5(g)为成品;
在使用三角剖分算法生成2D字体对应的几何面片后,几何面片通过顶点位置数据和顶点索引信息表示,如图5(a)中,该区域由8个顶点构成,则进行存储时,确定出这8个顶点对应的位置信息和索引信息,位置信息与对应的索引信息进行绑定,则通过索引信息即可获得8个顶点对应的位置信息,从而确定其组成的区域;
在另一个可选的实施方式中,顶点信息还可以进一步包括法线信息和切线信息以使得根据顶点确定出的区域更加准确;
使用三角剖分算法生成的几何面片合并成3D文本的正面模型,将合成后的3D文本的正面模型进行拷贝作为3D文本的背面模型,再根据3D文本的正面模型和背面模型生成3D文本的侧面模型,最后将正面模型、背面模型和侧面模型合并后即生成3D文本模型数据;
在另一个可选的实施方式中,可以进一步对生成的3D文本模型进行加粗、斜体、倒角等设置;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体;
生成模型过程中利用Unity 3D的Mesh、MeshRenderer和MeshFilter组件进行模型合并和模型渲染,Unity 3D在渲染之前会根据顶点位置信息重新计算默认法线信息,然后将顶点位置数据映射到[0,1]空间内,从而生成顶点uv信息;
在另一个可选的实施方式中,在生成3D文本模型数据后,采用lz4算法对其进行压缩生成字体数据文件,在读取所述3D字体文件时,先对其包含的字体数据文件进行解压以得到3D文本模型数据。
实施例二
本实施与实施例一不同在于,所述步骤S2还包括:
接收对所述3D字体的皮肤设置,所述皮肤设置包括材质设置、纹理设置、颜色设置和/或渲染器设置;
比如,可以进行透明度设置、加材质、加透光、镂空设置等等,使得从不同角度看3D字体可以呈现不同的字效果;
根据皮肤设置生成字体皮肤文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体皮肤文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的皮肤设置;
所述步骤S4还包括:
根据所述对所述3D字体的皮肤设置对所述3D文本模型进行皮肤设置以生成3D字体;
具体的,可以利用Unity 3D的Material组件给3D文本模型添加纹理、材质、颜色等属性;
通过对3D字体进行皮肤设置可以使得3D字体被赋予各种皮肤效果,比如粒子效果、积雪效果、破碎效果等等;
在生成3D字体文件时,先生成皮肤的描述文件,然后导出材质资源文件、纹理资源文件、颜色设置文件以及渲染器设置文件,将上述各个文件打包并通过lz4算法压缩以生成字体皮肤文件;读取所述3D字体文件时,先对其包含的字体皮肤文件进行解压以得到3D字体的皮肤设置。
实施例三
本实施例与实施例的不同在于,所述步骤S2还包括:
接收对所述3D字体的动画设置,所述动画设置包括关键帧动画、顶点动画和/或UV动画;
其中,关键帧动画包括位移动画、旋转动画、缩放动画、路径动画等等;
根据所述动画设置生成字体动画文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体动画文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的动画设置;
所述步骤S4还包括:
根据所述对所述3D字体的动画设置对所述3D文本模型进行动画设置以生成3D字体;
在生成3D字体文件时,先生成动画的描述文件(动画名称描述、动画文件索引等),然后导出动画资源文件,将上述各个文件打包并通过lz4算法压缩以生成字体动画文件;读取所述3D字体文件时,先对其包含的字体动画文件进行解压以得到3D字体的动画设置;
Unity 3D引擎,提供了很多动画技术,例如关键帧动画、顶点动画和UV动画等,将其与3D文本模型结合可以产生很多酷炫的动态表现;
如图6所示,通过设置不同帧的字体表现形态可以实现关键帧动画效果;
UV动画则是利用Unity 3D材质脚本,给3D文本模型添加动画效果;
在另一个可选的实施方式中,如图7所示,3D字体文件包括字体数据文件、字体皮肤文件和字体动画文件,进行3D字体生成时,依次读出字体数据文件、字体皮肤文件和字体动画文件;先根据字体数据文件渲染出3D文本模型,接着依次根据字体皮肤文件给3D文本模型添加皮肤效果,根据字体动画文件给3D文本模型添加动画效果,最终渲染出带有皮肤效果和动画效果的3D字体;
其中,3D字体文件是一个zip包,其中包含必须部分和可选部分,必须部分是字体数据文件,将顶点位置信息和顶点索引信息通过文本编号(ADCII码)和文本一一对应,最终存储在二进制文件中,字体数据文件可以通过文件名对其进行索引,其包括文本序号、头部信息(包含字体作者、生成时间和字体皮肤文件和字体动画文件的记录(如果包含字体皮肤文件和字体动画文件的话))和数据部分(包含3D文本模型的顶点位置和顶点索引数据);可选部分包括字体皮肤文件和字体动画文件,字体皮肤文件将3D文本模型的材质数据、纹理数据、颜色数据和对应渲染器(Shader文件)存储在二进制文件中形成皮肤,包括头部信息(包含皮肤的作者、生成皮肤的时间)、数据部分(包括材质属性数据)和资源部分(包括纹理资源和渲染脚本);字体动画文件将Unity 3D提供的动画数据存储在二进制文件中形成动画文件,包括头部信息(包含动画文件的作者、生成动画的时间)和数据部分(包含动画数据);最终将三部分打包成压缩文件,形成3D字体文件;
在另一个可选的实施方式中,可以把对3D字体的上述设置方式应用于文本框中,实现立体文本框,将文本框变成立体,可以投影,并且有厚度,并且可以设置材质,材质可以设置成透明色,由于是立体的,可以用任何的3D图像做背景;
在有3D字体和立体文本框的基础上,可以设置立体文本框与立体文本框内的3D字体呈空间摆放方式,具有立体感,文本框里面是透明的,里面的3D字体有对应的大小、颜色和位置设置,由于是立体的,可以在其中一个面还原要显示的字,在其他面看,则可以看到字和文本框是不在一起的,分离的;
3D文本框和3D字体可以赋予各种动画效果,在3D文本框和3D字体应用到PPT文档中时,可以结合PPT文档的动画,设置进入动画和退出动画。
实施例四
请参照图2,一种3D字体的实现终端1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一至三中任一个所述的步骤。
综上所述,本发明提供的一种3D字体的实现方法及终端,通过获取2D字体的轮廓线点集,根据轮廓线点集生成3D文本模型数据,根据3D文本模型数据生成字体数据文件,根据对3D字体的皮肤设置生成字体皮肤文件,根据对3D字体文件的动画设置生成字体动画文件,将字体数据文件、字体皮肤文件和字体动画文件打包生成3D字体文件,在生成3D字体时,直接读取3D字体文件,获取其中的3D文本模型数据进行3D文本模型的渲染,读取其中的字体皮肤文件对渲染而成的3D文本模型进行皮肤设置,读取其中的字体动画文件对渲染而成的3D文件模型进行动画设置,通过2D字体的轮廓线点集的整合以生成用于3D文本模型渲染的3D文本模型数据,3D文本模型数据能够方便用于对3D字体的各种设置,包括皮肤设置和动画设置,提高了3D字体实现上的灵活度,丰富了3D显示效果。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种3D字体的实现方法,其特征在于,包括步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体;
所述步骤S2还包括:
接收对所述3D字体的皮肤设置,所述皮肤设置包括材质设置、纹理设置、颜色设置和/或渲染器设置;
根据皮肤设置生成字体皮肤文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体皮肤文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的皮肤设置;
所述步骤S4还包括:
根据所述对所述3D字体的皮肤设置对所述3D文本模型进行皮肤设置以生成3D字体;
所述根据所述轮廓线点集生成3D文本模型数据包括:
利用三角剖分算法根据所述轮廓线点集生成闭合的几何区域;
根据所述闭合的几何区域生成3D文本正面模型、背面模型和侧面模型,具体为:
使用三角剖分算法生成的几何面片合并成3D文本的正面模型,将合成后的3D文本的正面模型进行拷贝作为3D文本的背面模型,再根据3D文本的正面模型和背面模型生成3D文本的侧面模型;
根据所述3D文本正面模型、背面模型和侧面模型生成3D文本模型数据;
所述步骤S2还包括:
接收对所述3D字体的动画设置,所述动画设置包括关键帧动画、顶点动画和/或UV动画;
根据所述动画设置生成字体动画文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体动画文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的动画设置;
所述步骤S4还包括:
根据所述对所述3D字体的动画设置对所述3D文本模型进行动画设置以生成3D字体。
2.根据权利要求1所述的一种3D字体的实现方法,其特征在于,所述根据所述2D字体文件获取所述2D字体的轮廓线点集包括:
根据所述2D字体文件获取所述2D字体的字型图像信息;
从所述字型图像信息获取2D字体的轮廓线,根据所述轮廓线确定所述轮廓线的点集;
利用贝塞尔曲线算法优化所述点集。
3.一种3D字体的实现终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、读取2D字体文件,根据所述2D字体文件获取所述2D字体的轮廓线点集;
S2、根据所述轮廓线点集生成3D文本模型数据,根据所述3D文本模型数据生成字体数据文件,根据所述字体数据文件生成3D字体文件;
S3、读取所述3D字体文件,获取所述3D字体文件中的3D文本模型数据;
S4、根据所述3D文本模型数据渲染3D文本模型以生成3D字体;
所述步骤S2还包括:
接收对所述3D字体的皮肤设置,所述皮肤设置包括材质设置、纹理设置、颜色设置和/或渲染器设置;
根据皮肤设置生成字体皮肤文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体皮肤文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的皮肤设置;
所述步骤S4还包括:
根据所述对所述3D字体的皮肤设置对所述3D文本模型进行皮肤设置以生成3D字体;
所述根据所述轮廓线点集生成3D文本模型数据包括:
利用三角剖分算法根据所述轮廓线点集生成闭合的几何区域;
根据所述闭合的几何区域生成3D文本正面模型、背面模型和侧面模型,具体为:
使用三角剖分算法生成的几何面片合并成3D文本的正面模型,将合成后的3D文本的正面模型进行拷贝作为3D文本的背面模型,再根据3D文本的正面模型和背面模型生成3D文本的侧面模型;
根据所述3D文本正面模型、背面模型和侧面模型生成3D文本模型数据;
所述步骤S2还包括:
接收对所述3D字体的动画设置,所述动画设置包括关键帧动画、顶点动画和/或UV动画;
根据所述动画设置生成字体动画文件;
所述根据所述字体数据文件生成3D字体文件包括:
根据所述字体数据文件和字体动画文件生成3D字体文件;
所述步骤S3之后还包括:
读取所述3D字体文件,获取所述3D字体文件中的对所述3D字体的动画设置;
所述步骤S4还包括:
根据所述对所述3D字体的动画设置对所述3D文本模型进行动画设置以生成3D字体。
4.根据权利要求3所述的一种3D字体的实现终端,其特征在于,所述根据所述2D字体文件获取所述2D字体的轮廓线点集包括:
根据所述2D字体文件获取所述2D字体的字型图像信息;
从所述字型图像信息获取2D字体的轮廓线,根据所述轮廓线确定所述轮廓线的点集;
利用贝塞尔曲线算法优化所述点集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305528.5A CN111651959B (zh) | 2020-04-17 | 2020-04-17 | 一种3d字体的实现方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305528.5A CN111651959B (zh) | 2020-04-17 | 2020-04-17 | 一种3d字体的实现方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651959A CN111651959A (zh) | 2020-09-11 |
CN111651959B true CN111651959B (zh) | 2023-02-28 |
Family
ID=72348461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010305528.5A Active CN111651959B (zh) | 2020-04-17 | 2020-04-17 | 一种3d字体的实现方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651959B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867673B (zh) * | 2021-09-27 | 2022-09-16 | 湖南省舟际智控电气科技有限公司 | 一种液晶屏立体字字体显示方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681735A (zh) * | 2016-12-30 | 2017-05-17 | 迈普通信技术股份有限公司 | 基于字体生成动态图标的方法、装置及设备 |
WO2017219643A1 (zh) * | 2016-06-23 | 2017-12-28 | 广州视睿电子科技有限公司 | 输入文字的3d效果生成、输入文字的3d显示方法和系统 |
CN110111425A (zh) * | 2019-05-07 | 2019-08-09 | 厦门欢乐逛科技股份有限公司 | 3d字体的斜角生成方法、介质、设备及装置 |
CN110383269A (zh) * | 2017-03-03 | 2019-10-25 | 微软技术许可有限责任公司 | 基于多轴可变字体的动画字形 |
-
2020
- 2020-04-17 CN CN202010305528.5A patent/CN111651959B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017219643A1 (zh) * | 2016-06-23 | 2017-12-28 | 广州视睿电子科技有限公司 | 输入文字的3d效果生成、输入文字的3d显示方法和系统 |
CN106681735A (zh) * | 2016-12-30 | 2017-05-17 | 迈普通信技术股份有限公司 | 基于字体生成动态图标的方法、装置及设备 |
CN110383269A (zh) * | 2017-03-03 | 2019-10-25 | 微软技术许可有限责任公司 | 基于多轴可变字体的动画字形 |
CN110111425A (zh) * | 2019-05-07 | 2019-08-09 | 厦门欢乐逛科技股份有限公司 | 3d字体的斜角生成方法、介质、设备及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111651959A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110414148B (zh) | 基于WebGL的开放式BIM跨平台在线可视化方法 | |
Rottger et al. | Hardware-accelerated volume and isosurface rendering based on cell-projection | |
Rossignac et al. | Depth-buffering display techniques for constructive solid geometry | |
CN106909640A (zh) | 基于webgl的三维模型轻量化展示技术 | |
Boubekeur et al. | A flexible kernel for adaptive mesh refinement on GPU | |
Ernst et al. | Early split clipping for bounding volume hierarchies | |
Li et al. | Multivisual animation character 3D model design method based on VR technology | |
CN110489692B (zh) | 一种基于WebGL实例化技术构件级操作的实现方法及系统 | |
McGuire et al. | Hardware-determined feature edges | |
Livnat et al. | Interactive point-based isosurface extraction | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN112530005B (zh) | 一种三维模型直线结构识别与自动修复方法 | |
EP1866870B1 (en) | Rendering 3d computer graphics using 2d computer graphics capabilities | |
CN111651959B (zh) | 一种3d字体的实现方法及终端 | |
Whitted et al. | A software test-bed for the development of 3-D raster graphics systems | |
Scholz et al. | Real‐time isosurface extraction with view‐dependent level of detail and applications | |
Qin et al. | Precise vector textures for real-time 3D rendering | |
CN116485967A (zh) | 一种虚拟模型的渲染方法及相关装置 | |
dos Passos et al. | Sample-based synthesis of illustrative patterns | |
Masuch et al. | Visualising ancient architecture using animated line drawings | |
Jimenez et al. | Practical and realistic facial wrinkles animation | |
JP3732386B2 (ja) | 3次元コンピュータグラフィックスの輪郭線の作成方法 | |
US11321899B1 (en) | 3D animation of 2D images | |
KR101066524B1 (ko) | 원통형 객체 렌더링 장치 및 그 렌더링 방법 | |
Boada et al. | 3D texture-based hybrid visualizations |
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 |