“沉浸、3D世界、虚拟社交、虚拟购物”,人们畅想通过AR/VR以及其他互联网技术,把现实世界的楼房街道、天气温度、人际关系等投射到虚拟世界,拥有一个网络分身。

但目前来看,要想实现这一构想,开发者们还有很长一段路要走。3D虚拟世界的构建,需要海量且高质量的3D内容支撑,以还原真实世界。本期就和开发者们共同探讨、分享一些构建3D模型的常见方式。

主流方式——3D软件手动建模

3D软件手动建模是主流的建模方式之一。目前,市场上有大量的专业3D建模软件供使用,比如3DMax、Maya、Blender等。不同软件的建模方式多样,包括多边形、曲面、参数、逆向等,分别适用于动画、游戏、室内设计等场景的3D模型创作。

它的优点是所建模型精度高,可发挥想象任意创作。但建模师的学习成本往往很高,制作难度较大,制作周期长。映射到构建“元宇宙”,如果使用3D软件手动建模则需要投入大量的人力。

特殊需求——专业仪器扫描建模

随着3D建模知识的普及以及行业的快速发展,工业、3D打印以及电商等场景都需要运用专业仪器扫描建模,用于模型重建。这一建模方式的主要仪器类型有激光扫描仪、光场扫描仪等。

所谓激光扫描建模,是指通过激光设备反射信号测距,用算法计算出深度数据;光场扫码建模则是通过多相机阵列摄影,或使用专业光场设备扫描建模。它可以模拟出与物体表面一致的反射特性,最大程度还原真实物体材质的颜色、纹理和光泽,提高3D物体渲染的逼真度。

专业仪器扫描建模的速度比手动建模快很多,操作难度较低,可以实现高精度建模。但它的不足在于越高精的仪器设备,成本越高,而且只能根据现实中的物体进行重建,无法虚拟创作。其对现实物体的大小也有一定限制,在建模后仍需专业3D软件进行编辑处理才能投入使用。

各有利弊下,专业仪器扫描建模虽然需要建模师对模型进行修补、优化甚至二次创作,但相比手动建模已经大大减少了工作量,提高了效率。可以说,这不失为一种快速复制真实世界以构建“元宇宙”的方法。

新颖易用——拍照建模

拍照=建模?如果我们在调研某个地点时,能够拍照生成3D场地模型,一定很酷!

拍照建模是一种很新颖的3D建模方式,通过手机或照相机拍摄物体的多张照片,用算法将照片拼接起来,然后自动对齐照片、生成点云、添加纹理,最终形成模型。它的优点很多,仅需数分钟即可完成、无操作门槛、无需购置高精仪器、成本低、效果基本可以还原实物。缺点则为拍照建模的精密度与清晰程度还有待提升,只能根据现实中的物体进行建模,对物体大小、表面纹理等有一定限制。

市场上提供拍照建模的方案提供商有Epic Game的RealityCapture、华为3D建模服务、苹果公司的Object Capture API等。其中,RealityCapture3D建模软件一般需要把按照格式拍摄的照片拷贝到电脑的软件中,再上传处理并编辑,主要应用于游戏开发场景。华为3D建模服务简单易用,通过手机即可实现拍照、模型预览、下载等操作,可为C端用户创造更多建模玩法。

近几年,拍照建模逐渐流行起来。这种可以快速便捷地通过拍照生成表面纹理丰富的逼真物体模型的方式,没有美工与仪器的门槛,更适合消费者个人用户操作。

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

构建3D虚拟世界,有哪些3D建模方式?的更多相关文章

  1. 构建“元宇宙”,有哪些3D建模方式?

    "沉浸.3D世界.虚拟社交.虚拟购物",最近"元宇宙"的概念特别火.人们畅想通过AR/VR以及其他互联网技术,把现实世界的楼房街道.天气温度.人际关系等投射到虚 ...

  2. 利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...

  3. 利用WPF建立自己的3d gis软件(非axhost方式)(十三)万能的用户层接口,(强大的WPF)

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十三)万能的用户层接口,(强大的WPF) 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt ...

  4. 利用WPF建立自己的3d gis软件(非axhost方式)(十一)SDK中的动画系统

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十一)SDK中的动画系统 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...

  5. 利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(十)SDK中一些自带的展示面板应用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV ...

  6. 利用WPF建立自己的3d gis软件(非axhost方式)(七)实现简单的粒子效果

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(七)实现简单的粒子效果 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew密 ...

  7. 利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...

  8. 利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bP ...

  9. 利用WPF建立自己的3d gis软件(非axhost方式)(六)跳转,增加外部三维模型

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(六)跳转,增加外部三维模型 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPe ...

  10. 利用WPF建立自己的3d gis软件(非axhost方式)(五)在鼠标点击的位置增加UI

    原文:利用WPF建立自己的3d gis软件(非axhost方式)(五)在鼠标点击的位置增加UI 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bP ...

随机推荐

  1. 『手撕Vue-CLI』添加自定义指令

    前言 经上篇『手撕Vue-CLI』添加帮助和版本号的介绍之后,已经可以在控制台中输入 nue --help 来查看帮助信息了,但是在帮助信息中只有 --version,--help 这两个指令,而 v ...

  2. 阿里巴巴Canal常见问题:重复解析/Filter失效/消费落后

    前言 Canal是阿里巴巴开源的数据库Binlog日志解析框架,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 在之前我写的文章阿里开源MySQL中间件Canal快速入门中, ...

  3. Solution Set - 图上问题

    CF360E Link&Submission. 首先显然可以选择的边的权值一定会取端点值.事实上,第一个人经过的边选最小,第一个人不经过的边选最大,这样一定不劣.进一步,如果 \(s_1\) ...

  4. SpringBoot3.1.5对应新版本SpringCloud开发(2)-Eureka的负载均衡

    Eureka的负载均衡 负载均衡原理 负载均衡流程 老版本流程介绍 当order-servic发起的请求进入Ribbon后会被LoadBalancerInterceptor负载均衡拦截器拦截,拦截器获 ...

  5. sqli-labs-master 第一关

    Sql注入 基础知识: 一··系统函数; 1. version()--MySQL 版本 2. user()--数据库用户名 3. database()--数据库名 4. @@datadir--数据库路 ...

  6. Golang 爬虫02

    验证邮箱 目标站点: https://movie.douban.com/top250

  7. ansible系列(29)--ansible的Jinja2语法及应用

    目录 1. Ansible Jinja2 1.1 jinja2语法结构 1.2 jinja2中{{ }}中的运算符 1.3 jinja2中for循环和if判断示例 1.4 Jinja2管理Nginx负 ...

  8. Js使用面向对象和面向过程的方法实现拖拽物体的效果

    1.面向过程的拖拽实现代码: <!DOCTYPE html> <html> <head> <title>drag Div</title> & ...

  9. C 语言编程 — 高级数据类型 — 结构体与位域

    目录 文章目录 目录 前文列表 结构体 定义结构体 初始化结构体变量 访问结构体成员 将结构体作为实参传入函数 指向结构体变量的指针 位域 定义位域 使用位域结构体的成员 前文列表 <程序编译流 ...

  10. flutter开发环境的搭建

    下载flutter开发包,有670M左右. github的下载地址:https://github.com/flutter/flutter 或者官方下载地址:https://flutter.dev/do ...