有趣的是如何实现静态模型动态化?华为3DModelingKit的动作捕捉能力采用了人体检测技术、模型加速压缩技术,以及基于深度学习的单目姿态估计算法。只需要一部普通手机的RGB摄像头,就可以捕捉到24个人体。骨架关键点的3D信息可以轻松实现静态模型的动态,让我们的模型更加生动活泼。这个功能的实现也很简单,下面就来看看集成步骤吧!应用场景该业务广泛应用于3D内容制作领域,尤其是游戏、影视、医疗等行业。例如UGC游戏中的角色驱动和动画视频制作,虚拟主播的实时驱动,医疗行业的康复指导等。集成代码1开发准备详见华为开发者联盟官网:配置AppGalleryConnect-开发准备-Android-3D建模服务(huawei.com)2编辑项目集成在开始API开发之前,您需要3.3。1配置AppGalleryConnect,确保你的项目中已经配置了HMSCoreSDK的Maven仓库地址,完成3.3.2集成该服务的HMSCoreSDK。2.1创建动作捕捉引擎。//自定义参数配置。Modeling3dMotionCaptureEngineSettingsetting=newModeling3dMotionCaptureEngineSetting.Factory()//设置检测模式。//Modeling3dMotionCaptureEngineSetting.TYPE_3DSKELETON_QUATERNION:输出人体姿态对应的骨骼点四元数。//Modeling3dMotionCaptureEngineSetting.TYPE_3DSKELETON:输出人体姿态对应的骨骼点坐标。.setAnalyzeType(Modeling3dMotionCaptureEngineSetting.TYPE_3DSKELETON_QUATERNION|Modeling3dMotionCaptureEngineSetting.TYPE_3DSKELETON).create();Modeling3dMotionCaptureEngineengine=Modeling3dMotionCaptureEngineFactory.getInstance().getMotionCaptureEngine(setting);Modeling3dFrame封装了源自相机的视频帧或静态图片数据,以及相关的数据处理逻辑.Youcanprocessvideostreambyyourself,convertvideoframetoModeling3dFrameobject,usedtodetectvideoframe,supportNV21format.CreateaModeling3dFrameobjectthroughandroid.graphics.Bitmap,whichisusedbythemotioncaptureenginetodetectpictures.Thesupportedpictureformatsinclude:JPG/JPEG/PNG.//CreateModeling3dFramethroughbitmap.Modeling3dFrameframe=Modeling3dFrame.fromBitmap(bitmap);//CreateModeling3dFramefromvideoframe.Modeling3dFrame.Propertyproperty=newModeling3dFrame.Property.Creator().setFormatType(ImageFormat.NV21)//Setthevideoframewidth..setWidth(width)//Setthevideoframeheight..setHeight(height)//Setthevideoframerotationangle..setQuadrant(quadant)//Setthevideoframenumber..setItemIdentity(framIndex).create();Modeling3dFrameframe=Modeling3dFrame.fromByteBuffer(byteBuffer,property);2.2调用同步或异步方法进行动捕检测。asyncAnalyseFrame异步方法示例代码:Task>task=engine.asyncAnalyseFrame(frame);task.addOnSuccessListener(newOnSuccessListener
>(){@OverridepublicvoidonSuccess(List
