R3DS Wrap基本使用方法

2023-05-16

中文的R3DS Wrap软件的教程较少,最近刚好实操了一遍,特此记录下来。

为了描述方便,下面将R3DS Wrap简称Wrap。

软件官网:https://www.russian3dscanner.com/

一、 目的及所需输入材料

下面介绍一下使用Wrap将高模转为低模的方法。

虽说目的是将高模转为低模,但是从软件名称和实际操作可以看出,软件是使用低模或者说是base mesh去包裹(wrap)高模,从而得到高模上对应与低模的顶点位置。

要将高模转为低模,首先需要两个模型,一个是预先定义的低模,一个是通过相机矩阵或者其他方式获取到的高模。

为了方便操作,文章提供预定义的低模(百度网盘:(链接: https://pan.baidu.com/s/1EU_IujrY1pHWFMbwUCnmUg 提取码: l85g)),而高模来源于Wrap预定义的模型(下面会提到)。

二、基本界面

打开Wrap可以看到下面界面

在这里插入图片描述

可以看出,wrap的界面非常简单,由三个大模块组成**(为了方便描述下面的介绍中,将各个界面定义为"1界面",“2界面”,“3界面”)**:

  1. 为可视化的界面,该界面又有多种视图,可以直接分别按Q、W、E、R键进行切换视图
  2. 为添加节点的界面,里面可以按Tab键,进行节点的添加。这里每一个节点是软件预定义的,一个节点表示一个操作
  3. 为对应2中某些节点需要编辑的参数

在2界面处点击Tab键,界面如下,白色框可以搜索相应的节点,也可以从下面的选项中选择想要的节点添加进来。

在这里插入图片描述

三、高模转为低模

3.1 加载低模和高模

  1. 下载上面百度云盘中提供的低模,并保存至硬盘中,这里我们保存在桌面上test文件夹里面。

  2. 在2界面中按Tab->Geometry->LoadGeom,出现如下界面 在这里插入图片描述

  3. 看到"3界面"出现了一些参数设置,选择File Names右边的…,然后选择刚刚下载好的低模,出现如下界面。如果"1界面"没有看到对应的模型,可以点击键盘的f键,这样可以获取合适的模型大小。
    在这里插入图片描述

  4. 点击键盘的R键,看到Scans那一栏有Wrap提供的几个高模,我们随便点击一个模型,这里选中Alex的模型。可以看到"2界面"新加了两个节点,一个是LoadImage01(该节点可以加载各种map,如albedo map,normal map等,这里默认加载了albedomap),一个是LoadGeom02(该节点加载了一个高模)。这里要说明的是LoadGeom节点右侧有个蓝色的方块,表示在"1界面"中显示对于的模型,如果点击该蓝色方块,则蓝色和对应的模型都消失了。
    在这里插入图片描述
    在这里插入图片描述

3.2 剔除不需要的顶点(optional)

注意:这一个节是可选的,采用有些预定义模型可以不用。但是采用本文提供的低模必需有这一节的操作。由于有些预定义的低模会包含一些独立的顶点(例如左右眼球,口腔等),如果不剔除那些独立的顶点,在下面的包裹阶段会出现下图所示的错误。错误提示内容为"floating geometry contains 3 disconnected polygon components, should be one"。意思就是在执行wrapping操作的时候,低模存在多个独立的组成部分,但是wrapping操作的输入低模必须是一个。
在这里插入图片描述

  1. 在3.1节的基础上,选中"2界面"->点击Tab键->Selection->SelectPolygons,将LoadGeom01与SelectPolygons01节点如下图所示连接起来
    在这里插入图片描述
  2. 点击键盘E键,使得"1界面"切换到Visual editor视图,然后选中右半边脸的面片,如下所示
    在这里插入图片描述
  3. 点击Visual editor视图下方的Hide selected选项,可以将选中的面片隐藏起来,然后旋转模型可以看见里面的左右眼球
    在这里插入图片描述
    在这里插入图片描述
  4. 3步骤是为了方便观察内部的结构,现在选择Visual editor下方的Unhide all按钮,然后双击人脸上任意一处的三角形,如下图所示,说明Selectionpolygons01节点已经选择了除眼球以外的所有节点以及面片
    在这里插入图片描述
  5. 添加Subset节点,操作为:点击Tab键->Geometry->Subset,可以看见Subset节点有两个输入,将鼠标放到输入点上可以看到输入的名字,如下图连接节点,点击q键,回到Viewpoint3D视图,这时候可以点击LoadGeom01和Subset01节点右侧的蓝色块来查看对应的可视化
    在这里插入图片描述
    完成3.2部分的所有步骤后,Subset01节点的输出为剔除低模预定义的左右眼球后得到的低模。

3.3 低模与高模对齐

  1. 要使得低模与高模对齐,需要先预定义对应的点,所以在"2界面"中添加SelectPoints节点,操作为:点击Tab键->Selection->SelectPoints。SelectPoints需要两个输入,一个为低模一个为高模,如下图所示
    在这里插入图片描述
  2. 点击e键切换视图,可以看到左侧的"1界面"出现两个模型。如果没有看到下图中的模型,分别选中"1界面"的左右子视图然后点击f键
    在这里插入图片描述
  3. 分别如下图选中对应的点,注意:在两个模型上选择点的顺序必须一模一样。当然选择的点可以与下图不同,可以自己定义,点越多,对齐越准
    在这里插入图片描述
  4. 添加RigidAlignment节点,操作:点击Tab键->Alignment->RigidAlignment,如下图连接节点,在"3界面"中勾选Match scale,是的两个模型大小一致,然后切换到Viewpoint3D视图,并且在"2界面"中选择显示的LoadGeom02和RigidAlignment01节点,隐藏其它节点,可以得到如下视图
    在这里插入图片描述

3.4 将对齐后的低模包裹高模

  1. 添加Wrapping节点,操作:点击Tab键->Alignment->Wrapping,按照下图连接节点
    在这里插入图片描述
  2. 点击"3界面"中compute按钮可以看到如下图,表示正在计算
    在这里插入图片描述
  3. 计算完成后,只显示LoadGeom01和Wrapping01节点,可以看到包裹后的结果如下图所示
    在这里插入图片描述

3.5 保持与原始低模相同的点数与顺序

完成3.4就包裹完成了,但是由于3.2节为了能够成功包裹,去除了眼球,如果直接保存包裹后的结果,会丢失眼球的节点,并且包裹后的顶点顺序也不同于原始低模,所以下面要利用Lattice节点保留眼球节点,并且使得输出的顶点数和顶点顺序与原始低模一模一样。

  1. 添加Lattice节点,操作:点击Tab键->Geometry->Lattice,Lattice的节点有三个输入,可以将鼠标放置在每个输入出查看应该输入什么。由于Lattice相对较难理解,这里解释一下,Lattice可以理解为一个映射函数,第一个输入是原始的低模,表示需要进行映射的输入,第二和第三个输入分别为剔除顶点用于包裹的低模和包裹后的模型,表示包裹的映射。如果看不懂按照如下图连接节点即可
    在这里插入图片描述

3.6 保存模型

  1. 添加SaveGeom节点,保存包裹后的低模。操作:点击Tab键->Geometry->SaveGeom,将Lattice的输入给到SaveGeom,连线如下图所示,在"3界面"File Name后面的填写保存的路径即可。保存下来的.obj文件即为包裹后的低模。
    在这里插入图片描述

3.7 保存纹理

  1. 添加TransferTexture节点用于将高模的texture转化为与低模对应的texture,操作:点击Tab键->Image->TransferTexture,TranferTexture01有两个输入,一个是source geometry用于输入高模,一个是target geometry用于输入包裹后的低模。连接方式如下图所示。图中"3界面"处可以设置texture图片输出的大小
    在这里插入图片描述
  2. 选中TranferTexture01节点后,点击W键可以查看带保存的纹理图片
    在这里插入图片描述
  3. 添加SaveImage节点用来保存texture,操作:点击Tab键->Image->SaveImage。选中SaveImage01节点可以在"3界面"处可以设置保存路径以及保存图片的质量,设置完成点击Compute current frame即可完成保存
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R3DS Wrap基本使用方法 的相关文章

随机推荐

  • VC2010和OpenCV2.4.9中imread这个函数不能正确读入图片的解决

    通常我们为了简单起见 xff0c 是把所有的库 lib 包括debug release两个版本同时加载的 这样的话象下面的代码是可以正常工作的 xff1a include lt opencv2 opencv hpp gt include l
  • 手动查询硬盘序列号

    win7旗舰版1 开始 运行 输入 xff1a wbemtest 回车 2 单击 34 连接 34 输入 xff1a root cimv2 回车 或者ROOT SecurityCenter 3 单击 34 查询 34 输入 xff1a se
  • VTK笔记-裁剪分割-几何裁剪-vtkClipPolyData

    什么是裁剪分割 VTK加载二维数据和三维数据 xff0c 我们通常观察到的是三视图图像 xff0c 或者是vtkImageReslice获取到的转换矩阵对应的观察点三视图或者是斜平面图像 xff0c 想要看到图像中间部分的渲染结果就要借助
  • github开源项目Bringing-Old-Photos-Back-to-Life实战

    Github项目 xff1a https github com microsoft Bringing Old Photos Back to Life 1 环境 win11 python 3 8 8 torch 1 9 1 torchvisi
  • sapjco3.jar在maven项目中的打包问题

    sapjco3 jar的打包问题 前几天做一个跟SAP系统有关的小功能时 xff0c 项目用到了sapjco3 jar的jar包 xff0c 项目打包部署后报错 com hand sapjco 3 system basedir src ma
  • 记录:c#中使用Selenium之一 使用chrome驱动手机模式浏览

    1 最近研究c 使用各种模拟浏览器的工具 xff0c 下面是Selenium的使用记录 1 xff09 首先使用Nuget搜索以下依赖库 2 xff09 我使用的是手机模式的浏览方式 下面为手机浏览模式设置的代码 xff0c 以移动端百度搜
  • 解决VS平台迁移时报错error MSB8020:The build tools for v141

    将在VS2017上编译的程序放到VS2013中 xff0c 报错 xff1a error MSB8020 The build tools for v141 Platform Toolset 61 39 v141 39 cannot be f
  • C++ 中的char型变量

    最简单的字符数据类型是 char 数据类型 该类型的变量只能容纳一个字符 xff0c 而且在大多数系统上 xff0c 只使用一个字节的内存 以下示例即声明了一个名为 letter 的 char 变量 请注意 xff0c 这里的字符常数就是赋
  • linux下DISPLAY和xhost + 作用

    在Linux Unix类操作系统上 DISPLAY用来设置将图形显示到何处 直接登陆图形界面或者登陆命令行界面后使用startx启动图形 DISPLAY环境变量将自动设置为 0 0 此时可以打开终端 输出图形程序的名称 比如xclock 来
  • 配置 maven 编译的 JDK 版本

    两种方式 xff1a 一 可以修改 MAVEN 的 setting xml 文件 xff0c 统一修改 lt profiles gt lt profile gt lt id gt jdk 1 6 lt id gt lt activation
  • 利用redis的setIfAbsent()方法实现分布式锁

    再集群环境中 xff0c 存在定时任务多次执行 xff0c 浪费资源 xff0c 那么如何避免这种情况呢 xff0c 下面就说明一下如何利用一个注解解决问题 xff0c 利用切面配合redis可以简单实现分布式锁 xff0c 解决定时任务重
  • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(win7——centos7)

    一 双向拷贝 xff1a 然后 xff0c 还需要通过virtualbox上安装一个增强的工具 此时 xff0c 会在centos上安装一些工具 xff1a 鼠标自动在宿主机 虚拟机之间移出 同时 xff0c 在centos上会出现一个安装
  • Record something about DL

    这篇文章算是DL实践杂谈吧 xff0c 主要是想把自己模型调优和复现算法遇到的一些坑总结一下 xff08 里面的一行字可能是我当时花费了一周甚至更长时间得到的总结 xff09 xff0c 希望能对读者有所帮助 一 熟悉数据 模型是数据的浓缩
  • Image captioning任务常用的评价指标计算

    BLEU ACL 2002Meteor AMTA 2004ROUGE L ACL 2004CIDEr CVPR 2015SPICE ECCV 2016
  • Image captioning评价方法之BLEU (bilingual evaluation understudy)

    文章地址 xff1a BLEU a Method for Automatic Evaluation of Machine Translation 代码地址 非官方 xff1a https github com tylin coco capt
  • Image captioning评价方法之Meteor

    项目地址 xff1a http www cs cmu edu alavie METEOR 代码地址 xff08 非官方实现 xff0c 实现的是项目地址中的1 5版本 xff09 xff1a https github com tylin c
  • Image captioning评价方法之ROUGE-L

    文章地址 xff1a ROUGE A Package for Automatic Evaluation of Summaries 代码地址 非官方 xff1a https github com tylin coco caption 文章由U
  • Image captioning评价方法之CIDEr

    文章地址 xff1a CIDEr Consensus based Image Description Evaluation 代码地址 xff08 非官方 xff0c 且代码实现的是CIDEr D xff09 xff1a https gith
  • Image captioning评价方法之SPICE

    项目地址 xff1a https panderson me spice 上述的项目地址包含了论文地址和代码地址 该方法是由The Australian National University和Macquarie University联合发表
  • R3DS Wrap基本使用方法

    中文的R3DS Wrap软件的教程较少 xff0c 最近刚好实操了一遍 xff0c 特此记录下来 为了描述方便 xff0c 下面将R3DS Wrap简称Wrap 软件官网 xff1a https www russian3dscanner c