Unity3D 带孔动态网格

2024-03-14

从两个顶点列表动态创建一个带有孔的网格 我目前正在尝试动态创建一个带有孔的网格(2D)。我有一个轮廓和孔轮廓的 Vector3 顶点列表。

我的问题:

How would I go about merging these two lists of vertices into a single mesh? enter image description here

更多细节:我有两个重叠的网格,我试图在两者之间进行布尔差异,以创建一个新的网格,最终取代较大的网格,以消除剪切。例子

使用 Clipper 库(请参阅http://www.angusj.com/delphi/clipper.php http://www.angusj.com/delphi/clipper.php)没有用,因为它返回与我设置为输入的相同的两组顶点。

我猜我需要以某种方式修复网格的三角形,以在外部顶点和内部顶点之间创建三角形? (网格可以是任何形状/大小,因此找出将哪些顶点组合成三角形并不是一件容易的事)。

谁能告诉我如何从两个顶点循环中创建一个网格?


如果您需要通用布尔算法,这是一个非常困难的问题,例如 3D Studio Max 有两个单独的布尔网格创建器,每个创建器在不同的对象集上失败。

如果您只需要减去不接触的矩形、对齐的形状,那就更简单了。对于您的具体情况,您可以只加入顶点列表,并填充新的三角形列表 - 每个四边形您需要两个三角形,因此八个三角形横跨八个顶点。

如果它们开始接触,事情就会变得有点困难,因为您需要找到交点并基本上重新对轮廓进行三角测量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3D 带孔动态网格 的相关文章

随机推荐

  • 如何查找具有相同字段的mongo文档

    我有一个 mongo 集合 我需要在该集合中查找文档 其中字段名称和地址相等 我找了很多 只能找到MongoDb 比较 2 个字段的查询条件 https stackoverflow com questions 4442453 mongodb
  • dig (DNS Lookup) 指定 Windows 上的 DNS 服务器

    在Linux中 我会使用dig使用以下命令指定 DNS 服务器 127 0 0 1 dig google com 127 0 0 1 我安装了 Windows 的绑定工具 choco install bind toolsonly 我怎样才能
  • 带 Spring Boot 项目的 Modbus 脉冲线圈

    必须实施呼叫数字IO with Modbus协议 on 春季启动项目构建者Maven 它应该是在身体上有一定持续时间的脉冲呼叫 例如 5 秒等 以下是规范中的一个片段 关于响应和错误的更多信息 看来这个呼叫应用程序应该表现得像一个大师 在这
  • Linux:在有限空间上使用分割

    我的 Linux 机器上有一个巨大的文件 该文件约为 20GB 我的盒子上的空间约为 25GB 我想将文件分成约 100mb 的部分 我知道有一个 分割 命令 但它保留了原始文件 我没有足够的空间来保存原件 关于如何实现这一点有什么想法吗
  • 如何在 Node.js Express 中检查会话?

    我尝试检查 Express 4 中的会话是否存在 if req session user undefined 它给了我错误 Cannot read property user of undefined 如何检查会话中是否存在值 来自sour
  • Python 类中的属性是否共享? [复制]

    这个问题在这里已经有答案了 下面的代码让我很困扰 class mytest name test1 tricks list def init self name self name name self tricks name self tri
  • P_SHA1算法在PHP中的实现

    我们正在尝试实现一个函数 P SHA1 意味着 PHP 用 Python 编写的函数的模式 但不幸的是 有些东西无法正常工作 JAVA中的实现函数如下 http ws apache org wss4j xref org apache ws
  • .wav 从 AVAssetWritter ios 转换为任何压缩形式

    那么我现在面临的问题是尺寸问题 我允许用户从他们的库中选择一首歌曲 然后将其切成碎片 然后能够在启用文件共享的情况下在计算机上使用 wav 或 mp3 文件 基本上我正在使用以下 AVAssetWritter 选项 并且我不断收到一个巨大的
  • ggplot2:仅显示一组中的文本标签

    我的设置 我有一些篮球运动员和他们的统计数据 library tidyverse df lt tibble season c 2010 2011 2012 2013 2014 2010 2011 2012 2013 2014 player
  • 使用 XmlSerializer 的多个命名空间

    这是场景 我有嵌套类 需要在 xml 文档中序列化 XmlRoot Namespace http www foo bar myschema public class root XmlAttribute public string versi
  • `文件中的错误(con,“r”):无法通过运行 BRugsFit() 打开连接

    我有一个错误关于Error in file con r cannot open the connection从运行 BRugsFit 开始 我假设所有输入参数都很好 调用代码是 gt output BRugsFit model txt da
  • Visual C++ 无法推导模板模板参数

    以下 C 17 代码片段在 GCC 和 CLang 中进行编译 但在 Visual C 中会出现以下错误
  • R 中的正则表达式:匹配节点词的搭配

    我想在文本字符串中找到单词的搭配 单词的搭配是指在该单词之前或之后与其同时出现的单词 这是一个虚构的例子 GO lt c This little sentence went on and on It was going on for qui
  • 如何使用 google geochart 启用文本悬停事件

    是否可以将悬停效果与谷歌地理图表一起使用 以便地图上的选定区域也触发区域列表中该区域文本颜色的变化 如果在地图地理图表上选择了蒙大拿州 我希望列表中的 蒙大拿州 一词具有不同的颜色 我希望你明白我想要实现的目标 function drawM
  • 目标 C:应用程序获得 2 级内存警告并不久后退出

    我的应用程序从服务器获取照片图像并将它们存储在一个数组中 该数组最终将显示在 UITableView 控制器中 我在一个单元格中显示 2 个图像 768 x 768 像素和 100 X 100 像素 启动时 该应用程序将加载 10 个带有图
  • “typeRoots”无法在项目中找到 d.ts 声明文件

    tsconfig json inside compilerOptions typeRoots types node modules types projectRoot types express index d ts declare glo
  • 无法从 32 位进程访问 Win32_WinSAT

    当从 x64 进程请求 Win32 WinSAT 时 我得到正确的结果 WinSATAssessmentState 1 但当从 x86 执行时 我得到 结果不可用 WinSATAssessmentState 3 x64 Powershell
  • 如何最有效地重构 data.table 中的快速字符串

    我有一个 data table 其中的字符分为两列 如下所示 01 01 2014 00 30 02 01 2014 01 00 03 01 2014 01 30 etc 该数据集的长度各不相同 但每次运行脚本时很容易超过 300 000
  • 为什么一个模块在加载另一个模块之前无法保存?

    我工作的大多数单元都依赖于数据模块 我遇到的最烦人的事情之一是一条错误消息告诉我 模块 X 引用另一个模块 并且在加载模块 Y 之前无法保存 现在 我确信有一个很好的理由CheckNoFixups尝试时引发此错误WriteRootStrea
  • Unity3D 带孔动态网格

    从两个顶点列表动态创建一个带有孔的网格 我目前正在尝试动态创建一个带有孔的网格 2D 我有一个轮廓和孔轮廓的 Vector3 顶点列表 我的问题 How would I go about merging these two lists of