“沉浸、3D世界、虚拟社交、虚拟购物”,最近“元宇宙”的概念特别火。人们畅想通过AR/VR以及其他互联网技术,把现实世界的楼房街道、天气温度、人际关系等投射到虚拟世界,构建“元宇宙”,拥有一个网络分身。这一科幻小说中常出现的场景,如今腾讯、字节跳动、Facebook(已更名为Meta,元宇宙MetaVerse的前缀)等国内外科技公司均开始抢占赛道,重金布局。

但目前来看,要想实现这一构想,开发者们还有很长一段路要走。毕竟“元宇宙”的背后是庞大的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建模方式?的更多相关文章

  1. 从产业链、架构和技术三个层面,看元宇宙与RPA的发展关系

    你可能还不知道,元宇宙也将带动RPA高速发展 一文读懂RPA如何赋能元宇宙,虚拟空间更需要RPA无处不在 三个层面,解读元宇宙如何利好RPA行业发展 从产业链.架构和技术三个层面,看元宇宙与RPA的发 ...

  2. GIS :元宇宙未来发展的有力技术支撑

    摘要:元宇宙是描述未来互联网迭代发展的一个概念,是一个将现实世界和虚拟世界相互融合的一个可感知的持久.共享的3D虚拟空间组成的世界. 本文分享自华为云社区<[云驻共创]元宇宙漫游指南-新一代GI ...

  3. Awesome metaverse projects (元宇宙精选资源汇总)

    Awesome Metaverse 关于 Metaverse 的精彩项目和信息资源列表. 由于关于 Metaverse 是什么存在许多相互竞争的想法,请随时以拉取请求.问题和评论的形式留下反馈. We ...

  4. Three.js实现脸书元宇宙3D动态Logo

    背景 Facebook 近期将其母公司改名为 Meta,宣布正式开始进军 元宇宙 领域.本文主要讲述通过 Three.js + Blender 技术栈,实现 Meta 公司炫酷的 3D 动态 Logo ...

  5. 乘风破浪,遇见未来元宇宙(Metaverse)之进入元宇宙世界,虚拟数字人行业洞察报告

    正值元宇宙热潮,虚拟数字人兴起 作为⼀个新兴领域,虚拟数字⼈已经引起市场和资本的⾼度关注,截⾄目前据不完全统计,全球范围已有500+虚拟数字人相关项目获得融资,融资总额超10亿美元,并且融资项目和总额 ...

  6. web3.0、比特币、区块链、元宇宙,以及那些待收割的韭菜们!

    前几天看到周星驰在社交账号上招聘web3.0的人才,感觉有必要说说web3.0,当然不是基于技术层面,而是从另一个维度说说web3.0以及其它相关的概念,从而做到如何反欺诈,如何避免被资本割韭菜.想到 ...

  7. 3D建模与处理软件简介

    [前言]自半年前笔者发表博客“什么是计算机图形学”以来,时常有人来向笔者询问3D模型的构建方法与工具.笔者的研究方向是以3D技术为主,具体包括3D建模,3D处理及3D打印三个方面,在3D建模与处理方面 ...

  8. 建模:3D建模

    ylbtech-建模:3D建模 “3D建模”通俗来讲就是通过三维制作软件通过虚拟三维空间构建出具有三维数据的模型.3D建模大概可分为:NURBS和多边形网格. NURBS对要求精细.弹性与复杂的模型有 ...

  9. 为什么要学3D建模呢?你看中的肯定是这几点

    游戏行业的大环境 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯.电子阅读.虚拟社区.网络游戏.电子 ...

随机推荐

  1. 洛谷3348 大森林 (LCT + 虚点 + 树上差分)

    这可真是道神仙题QWQ问了好多\(dalao\)才稍微明白了一丢丢做法 首先,我们假设不存在\(1\)操作,那么对于询问的一段区间中的所有的树,他们的形态应该是一样的 甚至可以直接理解为\(0\)操作 ...

  2. 多项式(polynomial)

    多项式(polynomial) 题目大意: 给出一个 n 次多项式 \(f(x)=\sum_{i=0}^na_ix^i\) 对于\(k ≤ x ≤ k + l − 1\) 的\(l\) 个\(x\), ...

  3. Mybatis、maven项目中整合log4j (17)

    Mybatis.maven项目总整合log4j java 中Mybatis.maven项目总整合log4j 1.pom增加log4j包引用 2.添加 log4j.properties文件 # java ...

  4. 好奇!仅 13kB 大小的游戏,源码长啥样?

    这个马赛克风格的表情正好 13Kb,有人竟然能用一个表情大小的空间,制作个游戏出来.我就不信这么点的地儿,能写出个花来?游戏能好玩吗?因为这些游戏点开就能玩,我抱着试一试的心态把玩了一会. 事实证明是 ...

  5. html视口单位:vw,vh,rem

    前言 不像响应式布局,通过media query,设置几个变化点来适配,流体排版通过调整大小,适配所有设备宽度.这个方法可以使我们开发的网页,在几乎所有屏幕尺寸上都可以使用.但出于一些原因,它的使用率 ...

  6. 【二食堂】Beta - 设计和计划

    Beta设计和计划 需求再分析 根据助教.老师.用户以及各个团队PM的反馈意见,我们的项目目前有以下问题: 功能不完整 实用价值不高 两方面的缺陷,所以在Beta阶段,我们工作的中心还是完成项目规划中 ...

  7. Scrum Meeting 10

    第10次例会报告 日期:2021年05月30日 会议主要内容概述: 目前组员均无暇软工,进展较慢. 一.进度情况 我们采用日报的形式记录每个人的具体进度,链接Home · Wiki,如下记录仅为保证公 ...

  8. C语言基础知识总结大全

    1.入门程序 #include <stdio.h> int main() { printf("Hello World!"); return 0; } 2.数据类型 数据 ...

  9. 洛谷 P4555 [国家集训队]最长双回文串

    链接: P4555 题意: 在字符串 \(S\) 中找出两个相邻非空回文串,并使它们长度之和最大. 分析: 直接使用马拉车算法求出每个点扩展的回文串.如果枚举两个回文串显然会超时,我们考虑切割一个长串 ...

  10. JAVA笔记__窗体类/Panel类/Toolkit类

    /** * 窗体类 */ public class Main { public static void main(String[] args) { MyFrame m1 = new MyFrame() ...