HMS Core挑战赛故事:鞋、街景、手办、玩具,原来这些都可以3D建模
HMS Core线上Codelabs挑战赛第3期中,开发者通过学习和运用HMS Core开发的3D建模服务,生成3D建模应用demo,再使用demo为自己身边的一个实物完成建模。在提交的作品中,小编发现原来鞋、街景、手办、玩具这些都可以3D建模!你还能想到什么?看了以下这些作品,也许会有灵感。
1.1 3D建模之手办、鞋、街景系列(附零基础完整实现教程)
作品帖:【HMS Core挑战赛第3期】3D建模技术应用-【手办】【鞋】【街景系列】-附零基础完整实现教程*-华为开发者论坛 (huawei.com)
·3D建模应用:
·作品“全家福”展示:
(上图手办、街景座椅、消防栓等模型均使用HMS Core 3D建模服务制作)
GIF演示图
·实现流程:
1.2 3D建模之玩偶
作品帖:【HMS Core挑战赛第3期】3D建模客厅玩具-华为开发者论坛 (huawei.com)
在2021年的HDC开发者大会上,我现场尝试了Codelabs,体验到华为为开发者开放的许多创新功能。后来,我发现codelabs正在线上做3D建模挑战活动。我十分感兴趣并决定动手学习一番。
根据活动要求,我总结了以下几步:
1.Android Studio运行示例工程,安装到手机上
刚开始下载示例工程后,用Android Studio打开并运行成功,但在手机上传时却提示“Data Processing Location not set”。因此,参考Hms Core官方账号回复:“在开发应用前,需要在AppGallery Connect中配置相关信息”(https://developer.huawei.com/consumer/cn/doc/development/graphics-Guides/config-agc-0000001142925473?ha_source=hms1)
据官网文档:先注册开发者,创建应用,生成签名证书指纹,配置签名证书指纹,打开相关服务,设置默认数据处理位置,设置数据留存期限。接着修改示例工程:更新AndroidManifest.xml中的package,更新应用级别build.gradle中的applicaionId,然后示例工程相关文件夹rename(设置成与创建的应用ID相同),重新编译,再在手机运行就能上传和下载模型了。
2.使用app拍摄3D物体并在线生成3D模型
万事开头难!刚开始用手机拍摄我就遇到了困难:由于没有稳定的转盘工具,徒手拍了十几次(用手拿着手机对着物体转圈),结果提示建模失败,或建出来的模型不堪入目:
变则通,不变则壅。每次上传--在线建模--下载模型的过程要差不多5~10分钟,于是再细看活动说明,发现建模物体体积要大于15 x 15 x 15cm,决定重新选择合适的物体后再次尝试。同时我联想到旋转办公椅不正是一个天然转盘吗?说时迟,那时快,赶紧站了起来,在椅子上放上箱子垫高底部,在最上面以白板作底、白墙作背,刚好拼凑出一个“舞台”,固定好手机拍摄位置,手摇办公椅转动模式开始运作。
这样一来效果明显好了很多,随着拍摄次数的增多,我也渐渐掌握了一些关键点:
每次固定一个相机角度拍摄一圈,转速要均匀。
最多拍摄上传数是200张,为了让这些图片都有效,每次拍摄完一圈后要按暂停,调整新的拍摄角度后再继续。
透明和半透明物体的建模效果不行,容易模糊。
每个角度拍摄前,最好微调一下灯光位置,使拍摄的效果更佳。
物体内部如果有遮挡结构,很难完全拍清,需要尽量避免。
拍摄底部时需要把物体侧放(漏出底部),这时一定注意侧放后的物体不能变形(会出现重影)。如果无法保证不出现形变,最好想办法固定它的形状。
后来,我还入手了电动转盘,成片率更是快速提高;
3.把3D模型文件导出并运行到手机上
最后一步要把生成的模型运行在手机上,导出的模型有obj和gltf两种格式,都是主流3D应用支持的,找个3D接口或者3D引擎接入就可以了。
我选用了Unity(比较快速),新建空白工程,创建背景hdr,中间放个桌子,添加桌子纹理,调整好摄像机视角,添加光源。然后把所有模型obj方式导出的文件放进工程里,逐个拖进去,摆放好在桌面上。为了增加些动效,我还给每个模型添加了自动旋转的组件,最后就完成了作品全家福:
欲了解3D建模服务,请至官网:
https://developer.huawei.com/consumer/cn/hms/huawei-3d-modeling?ha_source=hms1
服务演示DEMO:
https://github.com/HMS-Core/hms-3d-modeling-demo?ha_source=hms1
参考开发指导文档,快速完成基础数据上报:
Android SDK集成文档
https://developer.huawei.com/consumer/cn/doc/development/graphics-Guides/introduction-0000001143077297?ha_source=hms1
(开发者授权发布)
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
HMS Core挑战赛故事:鞋、街景、手办、玩具,原来这些都可以3D建模的更多相关文章
- 码上来战!探索“智”感生活,HMS Core线上Codelabs挑战赛第4期开始!
HMS Core线上Codelabs挑战赛第4期正式开始!我们向所有实践力超强.创新力满满的开发者发出邀请,用你的超级"码"力,解锁更多应用价值! 生活里,我们被手机"秒 ...
- 放码来战!HMS Core线上Codelabs挑战赛正式开始
亲爱的开发者,在1024程序员节即将到来之际,HMS Core准备了一场线上Codelabs挑战赛,现向你发出诚挚邀请,希望你能将新奇的想法和对产品的思考融入代码,用技术与世界对话. HMS Core ...
- HMS Core Insights第八期直播预告--创新能力解读
[导读] 在上个月举办的HDC2021华为开发者大会上,全新登场的HMS Core 6向大家展示了包括媒体.图形.连接与通信等领域的众多全新开放能力.如仅用一部RGB摄像头的手机即可完成的3D建模,在 ...
- 来自开发者的点赞!HMS Core荣获多个行业奖项
2021年,HMS Core发布全新HMS Core 6,为全球开发者提供多终端.跨OS.全场景的华为移动服务核心能力,和开发者共同成长.通过和开发者在行业解决方案.业务场景创新和商业增长上的持续合作 ...
- HMS Core 能力速配,唱响恋爱进行曲
情人节,HMS Core 最具CP感的能力搭档来袭,浓浓爱意,表白各行业,你准备好了吗? 1.ML Kit +Signpal Kit 科技相助,恋爱提速.展现爱意的方式有千百种,你可以用文本翻译学习数 ...
- HMS Core助力宝宝巴士为全球开发者展现高品质儿童数字内容
本文分享于HMS Core开发者论坛<宝宝巴士携HMS Core为全球家庭用户提供优质儿童数字内容>采访稿整理 宝宝巴士是国内有着十多年出海经验的开发者,其旗下有超过200多款儿童益智互动 ...
- HMS Core携手厦门大学打造AR增强现实技术
HMS Core AR Engine团队联手厦门大学信息学院,与专业学生面对面深度交流行业发展与前沿成果.双方共同编写行业知识教材,引导学生开发AR游戏实践,为未来AR.VR人才培养培育可复制的教学模 ...
- HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验
AR技术已经被广泛应用于营销.教育.游戏.展览等场景.通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报.卡牌等平面物体以及文物.手办等立体物体的AR效果.尽管近年来2 ...
- 华为HMS Core携手超图为三维GIS注入新动能
6月30日,在2022(第五届)GIS软件技术大会GIS基础软件新技术板块论坛上,华为联合超图推出了基于HMS Core 3D Engine开发的高保真三维GIS插件,通过3D渲染技术助力三维GIS实 ...
随机推荐
- shell循环ping ip的写法
#!/bin/bash for i in `seq 1 20` do if ping -w 2 -c 1 192.168.43.$i | grep "100%" > /dev ...
- 记一次 .NET 某智能交通后台服务 CPU爆高分析
一:背景 1. 讲故事 前天有位朋友加微信求助他的程序出现了CPU爆高的问题,开局就是一个红包,把我吓懵了! 由于是南方小年,我在老家张罗处理起来不方便,没有第一时间帮他处理,朋友在第二天上午已经找出 ...
- .NET 5.0 Docker 镜像 错误修复方法
在给eshopondapr 打镜像的时候碰到了3个错误 1.restore: Received an unexpected EOF or 0 bytes from the transport stre ...
- Git使用教程(超全,看一篇就够了)
目录 Git介绍 Git安装 Git使用 问题与解决 推荐学习网址 Git介绍 Git是什么? Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别? SVN是集中式版本控制系 ...
- 使用Typora+PicGo实现图片自动上传到Gitee图床
一.前言 我们在使用Typora编辑器时,会加上图片,有个弊端,只能在本地访问,你发送给别人就无法查看图片,当然可以导出pdf.小编这边的需求是这样的,自己搭建的一个博客系统,基于Hexo搭建的,这个 ...
- 洛谷P4859 已经没有什么好害怕的了
因为不存在任意两个数相同,那么设糖果比药片大的组有 \(x\) 个,药片比糖果大的组有 \(y\) 个,那么我们有: \[x + y = n, x - y = k \] 即: \[x = \frac{ ...
- CF Round #530 Div2
A. 尛你 \(\%\%\%\) B. 题意:你需要在平面上画 \(n(n \le 10 ^ 9)\) 个 \(1 \times 1\) 的正方形,且顶点都在整点上,每次可以画一条长度为 \(1\) ...
- 样式操作案例5-改变box的大小和位置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Lua 语言: 语法
转载请注明来源:https://www.cnblogs.com/hookjc/ -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释.--]] -------------- ...
- xshell脚本之条件语句
xshell脚本之条件语句 1.test命令: 如果test命令中列出的条件成立,test命令就会退出并返回状态码0, 如果条件不成立,test命令就会退出并返回非零的退出状态码,这使得if-then ...