CN115619911B - 基于Unreal Engine的虚拟形象生成方法 - Google Patents
基于Unreal Engine的虚拟形象生成方法 Download PDFInfo
- Publication number
- CN115619911B CN115619911B CN202211319697.XA CN202211319697A CN115619911B CN 115619911 B CN115619911 B CN 115619911B CN 202211319697 A CN202211319697 A CN 202211319697A CN 115619911 B CN115619911 B CN 115619911B
- Authority
- CN
- China
- Prior art keywords
- animation
- skeleton
- avatar
- engine
- unreal engine
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种基于Unreal Engine的虚拟形象生成方法,所述方法包括:启动虚拟形象服务;创建SurfaceView;加载Unreal Engine;配置EGL;Unreal Engine开始描画;加载虚拟形象模型和骨骼动画;播放骨骼动画。本发明使用Unreal Engine作为虚拟形象的描画工具,能够支持3D虚拟形象,并且使用骨骼动画;使用骨骼动画替代原有的序列帧的车载虚拟形象表现方式,能够做出更复杂的动画,并且更为生动,同时骨骼动画作为3D模型能够对虚拟形象进行一些视角切换的操作,有更大的可操作性和趣味性;同时能够减少序列帧带来的存储大量占用,性能也更加优化。
Description
技术领域
本发明涉及智能座舱技术领域,具体涉及一种基于Unreal Engine的虚拟形象生成方法。
背景技术
伴随城镇化的发展,城市范围不断扩张,通勤距离拉长,人们也在交通工具上花费了更多时间。汽车作为出行场景下的代表产品,开始超越“代步工具”的单一属性,逐步升级为智能移动空间,也与日常生活结合更加紧密。出行场景耗时越久,用户也就会越重视的智能移动空间的体验感。同时,随着车内日益丰富且复杂的功能,用户亟需一个能够统筹全车的智能助手来协助使用。
随着一车多屏成为业内主流,越来越多的智能汽车开始搭载具有虚拟形象的AI车载助手。目前车机上的虚拟形象主要是使用Kanzi或者QT等工具去制作,只能使用序列帧去完成动作,存在序列帧的文件过多导致存储占用大的问题,并且由于序列帧是事先在设计软件上制作的固定动画,也不好表现出特别复杂的组合动画,同时序列帧的性能无法保证,也无法进行灵活的视角切换。
Unreal Engine,即虚幻引擎,是一套完整的开发工具,面向任何使用实时技术工作的用户,支持骨骼动画,但是作为原生Activity应用在安卓中运行,无法很好的充当虚拟形象的承载体,存在不能作为后台运行、触摸事件无法穿透、且描画无法透过的问题。
发明内容
针对现有的车载虚拟形象只能使用序列帧去完成动作导致存储占用大、动画单一、无法进行灵活的视角切换的问题,以及Unreal Engine作为原生Activity应用在安卓中运行,无法很好的充当虚拟形象的承载体,不能作为后台运行、触摸事件无法穿透、且描画无法透过的问题,提出了一种基于Unreal Engine的虚拟形象生成方法,使用UnrealEngine作为虚拟形象的描画工具,能够支持3D虚拟形象,并且使用骨骼动画;使用骨骼动画替代原有的序列帧的车载虚拟形象表现方式,能够做出更复杂的动画,并且更为生动,同时骨骼动画作为3D模型能够对虚拟形象进行一些视角切换的操作,有更大的可操作性和趣味性;同时能够减少序列帧带来的存储大量占用,性能也更加优化。为了实现上述目的,本发明通过如下的技术方案来实现:
基于Unreal Engine的虚拟形象生成方法,所述方法包括如下步骤:
步骤S01:启动虚拟形象服务;
步骤S02:创建SurfaceView;
步骤S03:加载Unreal Engine;
步骤S04:配置EGL;
步骤S05:Unreal Engine开始描画;
步骤S06:加载虚拟形象模型和骨骼动画;
步骤S07:播放骨骼动画。
作为本发明的一种优选方案,所述步骤S01中,虚拟形象服务作为系统服务跟随车机的安卓系统启动。
作为本发明的一种优选方案,所述步骤S03中,包括:修改Unreal Engine的安卓侧代码,将其修改为Service,使Unreal Engine能够在后台运行。
作为本发明的一种优选方案,所述步骤S03中,还包括:修改Unreal Engine的触控逻辑,将消息捕获后继续传递,使触控事件能够进行控制,传递到安卓端进行透过设置。
作为本发明的一种优选方案,所述步骤S04中,设置带透明度通道的EGL配置,修改Unreal Engine中EGL、Shader部分的代码,将透明度通道描画,使画面能够通过。
作为本发明的一种优选方案,所述步骤S05中,具体包括:
创建骨骼动画对象,加载预先生成的骨骼动画所需要的资源,并对所述资源进行解析,得到全局骨骼矩阵数据;
接收调取指令,根据所述调取指令从全局骨骼矩阵数据中获取动画的当前帧所需要的骨骼矩阵数据;
获取骨骼动画着色器代码、图像对象以及模型顶点数据,并根据所述骨骼矩阵数据、骨骼动画着色器代码、图像对象以及模型顶点数据进行运算,渲染出多个骨骼动画设计图块;
接收设置指令,根据所述设置指令,将所述多个骨骼动画设计图块进行组合生成图块动画对象;
根据所述图块动画对象生成骨骼动画。
作为本发明的一种优选方案,所述步骤S07中,在收到语音消息或其他消息后,骨骼动画进行播放,收到触摸事件后,传送到虚拟形象描画测进行动作反馈,同时传送到SurfaceView进行一系列移动、放大缩小逻辑的操作。
本发明的有益效果是:使用Unreal Engine作为虚拟形象的描画工具,能够支持3D虚拟形象,并且使用骨骼动画;使用骨骼动画替代原有的序列帧的车载虚拟形象表现方式,能够做出更复杂的动画,并且更为生动,同时骨骼动画作为3D模型能够对虚拟形象进行一些视角切换的操作,有更大的可操作性和趣味性;同时能够减少序列帧带来的存储大量占用,性能也更加优化。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明实施例中基于Unreal Engine的虚拟形象生成方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
需要具体说明的一些术语:
SurfaceView:Surface是“表面”的意思,可以简单理解为内存中的一段绘图缓冲区,SurfaceView是拥有独立绘图层的特殊View,就是一个有Surface的View里面内嵌了一个专门用于绘制的Surface,SurfaceView控制这个Surface的格式、尺寸以及绘制位置。
Service:Service是android 系统中的四大组件之一,不能自己运行只能后台运行,服务总是藏在后台,可以和其他组件进行交互。
EGL:是渲染API和原生窗口系统之间的接口。
Shader:即着色器,专门用来渲染图形的一种技术,通过Shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕。主要分为Vertex Shader(顶点着色器)和Fragment Shader(片段着色器)两类。
如图1所示,为本发明的一个实施例,该实施例提供了基于Unreal Engine的虚拟形象生成方法,所述方法包括如下步骤:
步骤S01:启动虚拟形象服务;虚拟形象服务作为系统服务跟随车机的安卓系统启动。
步骤S02:创建SurfaceView;
步骤S03:加载Unreal Engine;包括:修改Unreal Engine的安卓侧代码,将其修改为Service,使Unreal Engine能够在后台运行;还包括:修改Unreal Engine的触控逻辑,将消息捕获后继续传递,使触控事件能够进行控制,传递到安卓端进行透过设置。
步骤S04:配置EGL;设置带透明度通道的EGL配置,修改Unreal Engine中EGL、Shader部分的代码,将透明度通道描画,使画面能够通过。
步骤S05:Unreal Engine开始描画;具体包括:
创建骨骼动画对象,加载预先生成的骨骼动画所需要的资源,并对所述资源进行解析,得到全局骨骼矩阵数据;
接收调取指令,根据所述调取指令从全局骨骼矩阵数据中获取动画的当前帧所需要的骨骼矩阵数据;
获取骨骼动画着色器代码、图像对象以及模型顶点数据,并根据所述骨骼矩阵数据、骨骼动画着色器代码、图像对象以及模型顶点数据进行运算,渲染出多个骨骼动画设计图块;
接收设置指令,根据所述设置指令,将所述多个骨骼动画设计图块进行组合生成图块动画对象;
根据所述图块动画对象生成骨骼动画。
步骤S06:加载虚拟形象模型和骨骼动画;
步骤S07:播放骨骼动画;在收到语音消息或其他消息后,骨骼动画进行播放,收到触摸事件后,传送到虚拟形象描画测进行动作反馈,同时传送到SurfaceView进行一系列移动、放大缩小逻辑的操作。
综上所述,使用Unreal Engine作为虚拟形象的描画工具,能够支持3D虚拟形象,并且使用骨骼动画;使用骨骼动画替代原有的序列帧的车载虚拟形象表现方式,能够做出更复杂的动画,并且更为生动,同时骨骼动画作为3D模型能够对虚拟形象进行一些视角切换的操作,有更大的可操作性和趣味性;同时能够减少序列帧带来的存储大量占用,性能也更加优化。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.基于Unreal Engine的虚拟形象生成方法,其特征在于,所述方法包括如下步骤:
步骤S01:启动虚拟形象服务;
步骤S02:创建SurfaceView;
步骤S03:加载Unreal Engine;
步骤S04:配置EGL;
步骤S05:Unreal Engine开始描画;
步骤S06:加载虚拟形象模型和骨骼动画;
步骤S07:播放骨骼动画;
所述步骤S03中,包括:修改Unreal Engine的安卓侧代码,将其修改为Service,使Unreal Engine能够在后台运行;
所述步骤S03中,还包括:修改Unreal Engine的触控逻辑,将消息捕获后继续传递,使触控事件能够进行控制,传递到安卓端进行透过设置;
所述步骤S04中,设置带透明度通道的EGL配置,修改Unreal Engine中EGL、Shader部分的代码,将透明度通道描画,使画面能够通过。
2.根据权利要求1所述的基于Unreal Engine的虚拟形象生成方法,其特征在于,所述步骤S01中,虚拟形象服务作为系统服务跟随车机的安卓系统启动。
3.根据权利要求1所述的基于Unreal Engine的虚拟形象生成方法,其特征在于,所述步骤S05中,具体包括:
创建骨骼动画对象,加载预先生成的骨骼动画所需要的资源,并对所述资源进行解析,得到全局骨骼矩阵数据;
接收调取指令,根据所述调取指令从全局骨骼矩阵数据中获取动画的当前帧所需要的骨骼矩阵数据;
获取骨骼动画着色器代码、图像对象以及模型顶点数据,并根据所述骨骼矩阵数据、骨骼动画着色器代码、图像对象以及模型顶点数据进行运算,渲染出多个骨骼动画设计图块;
接收设置指令,根据所述设置指令,将所述多个骨骼动画设计图块进行组合生成图块动画对象;
根据所述图块动画对象生成骨骼动画。
4.根据权利要求1所述的基于Unreal Engine的虚拟形象生成方法,其特征在于,所述步骤S07中,在收到语音消息或其他消息后,骨骼动画进行播放,收到触摸事件后,传送到虚拟形象描画测进行动作反馈,同时传送到SurfaceView进行一系列移动、放大缩小逻辑的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319697.XA CN115619911B (zh) | 2022-10-26 | 2022-10-26 | 基于Unreal Engine的虚拟形象生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319697.XA CN115619911B (zh) | 2022-10-26 | 2022-10-26 | 基于Unreal Engine的虚拟形象生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115619911A CN115619911A (zh) | 2023-01-17 |
CN115619911B true CN115619911B (zh) | 2023-08-08 |
Family
ID=84863628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211319697.XA Active CN115619911B (zh) | 2022-10-26 | 2022-10-26 | 基于Unreal Engine的虚拟形象生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115619911B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105916052A (zh) * | 2015-12-15 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 一种视频画面的绘制方法及装置 |
CN106200898A (zh) * | 2016-06-24 | 2016-12-07 | 张睿卿 | 虚拟现实软件平台系统 |
CN108520491A (zh) * | 2018-04-24 | 2018-09-11 | 上海仪电汽车电子系统有限公司 | 基于qnx操作系统的全屏开机动画驱动方法 |
CN110102050A (zh) * | 2019-04-30 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子设备及存储介质 |
CN110767220A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种智能语音助手的交互方法、装置、设备及存储介质 |
CN111724457A (zh) * | 2020-03-11 | 2020-09-29 | 长沙千博信息技术有限公司 | 基于ue4的真实感虚拟人多模态交互实现方法 |
CN112933597A (zh) * | 2021-03-16 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN115220842A (zh) * | 2022-07-21 | 2022-10-21 | 亿咖通(湖北)技术有限公司 | 车载导航方法、系统、车辆及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430251B2 (en) * | 2013-09-30 | 2016-08-30 | Unity Technologies Finland Oy | Software development kit for capturing graphical image data |
-
2022
- 2022-10-26 CN CN202211319697.XA patent/CN115619911B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105916052A (zh) * | 2015-12-15 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 一种视频画面的绘制方法及装置 |
CN106200898A (zh) * | 2016-06-24 | 2016-12-07 | 张睿卿 | 虚拟现实软件平台系统 |
CN108520491A (zh) * | 2018-04-24 | 2018-09-11 | 上海仪电汽车电子系统有限公司 | 基于qnx操作系统的全屏开机动画驱动方法 |
CN110102050A (zh) * | 2019-04-30 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子设备及存储介质 |
CN110767220A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种智能语音助手的交互方法、装置、设备及存储介质 |
CN111724457A (zh) * | 2020-03-11 | 2020-09-29 | 长沙千博信息技术有限公司 | 基于ue4的真实感虚拟人多模态交互实现方法 |
CN112933597A (zh) * | 2021-03-16 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
CN115220842A (zh) * | 2022-07-21 | 2022-10-21 | 亿咖通(湖北)技术有限公司 | 车载导航方法、系统、车辆及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈又军 苏彬.《民用飞行模拟技术与应用》.西南交通大学出版社,2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115619911A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092612B (zh) | 实现安卓操作系统3d桌面贴图的方法及电子装置 | |
US20090002368A1 (en) | Method, apparatus and a computer program product for utilizing a graphical processing unit to provide depth information for autostereoscopic display | |
CN113244614B (zh) | 图像画面展示方法、装置、设备及存储介质 | |
CN106886353B (zh) | 一种用户界面的显示处理方法及装置 | |
CN108270926A (zh) | 用于发送和接收手写动画消息的装置和方法 | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
CN111583379A (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
CN113141537A (zh) | 视频插帧方法、装置、存储介质以及终端 | |
CN111754607A (zh) | 图片处理方法及装置、电子设备、计算机可读存储介质 | |
CN116091329B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN115543535B (zh) | 安卓容器系统、安卓容器构建方法及装置、电子设备 | |
CN113504870B (zh) | Hypervisor智能驾驶舱输入法共享系统及方法 | |
CN109922457B (zh) | 信息交互方法、装置及系统 | |
CN110297585A (zh) | 电子白板实现方法、装置、设备以及存储介质 | |
CN115619911B (zh) | 基于Unreal Engine的虚拟形象生成方法 | |
CN114115673A (zh) | 车载屏幕的控制方法 | |
CN113672280B (zh) | 动画播放程序包编写方法、装置、电子设备及存储介质 | |
CN114064826A (zh) | 地图渲染方法、系统、终端和存储介质 | |
CN105743769B (zh) | 讯息图文显示方法 | |
CN111243069B (zh) | 一种Unity3D引擎的场景切换方法和系统 | |
CN103597435A (zh) | 用于用户界面的基于对象的转变效果的方法和装置 | |
KR100657116B1 (ko) | 3차원 오브젝트 애니메이션 구현 방법 및 그 시스템 | |
EP3890291A1 (en) | Background display method and apparatus during call, storage medium and mobile terminal | |
CN114299210A (zh) | 图形渲染的方法、装置、存储介质以及电子设备 | |
CN112882706B (zh) | 一种Android原生和QT混合开发的实现方法和系统 |
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 |