Unity 5:自动指定网格顶点的三角形列表

时间:2016-02-14 17:04:42

标签: unity3d mesh procedural-generation

是否有一种方法或算法可以自动指定如何连接顶点列表?

例如,假设我有这个(为了简单起见,在2D中):

     *(0,0)     *(2,0)

*(-1,-1)   *(1,-1)

所以我按顺序(-1,-1),(0,0),(1,-1),(2,0)添加顶点 然后到三角形列表我添加索引0,1,2和2,1,3,这应该生成一个有两个三角形的网格。

然而,随着顶点数量的增加,定义三角形的过程变得更加繁琐,除非我按照排序顺序添加顶点,以便我可以跟踪哪个三角形和每次只添加一个偏移量(我不想这样做)。

我要做的就是这个(为了简单起见,再次在2D中): 我想定义一个数组,比如说:

[0,0,1,0,1,0]

[0,0,0,0,0,0]

[0,1,0,1,0,0]

表示xy平面,该数组中的点是顶点(1)或不包含任何内容(0)。因此,数组[0,0]将是x = 0,y = 0(无),而数组[2,1](顶点)将是x = 1,y = 2。使用这个,然后我想生成一个网格。

这可能吗?任何帮助将不胜感激。

由于

编辑:我知道这里有一个三角形脚本,但它只适用于2D。

2 个答案:

答案 0 :(得分:2)

不,你只需手动完成。

就是这样。

请注意,使用一行代码的例程,您可以“自动化”该过程。

如果您正在学习网格,那么理解 您不必使用重复的顶点,如果您不想 ,则至关重要。

祝你好运并祝贺他们整整一周在Unity3D标签中提出唯一有价值的问题:O

(1)我敦促你在Unity中编织网格时熟悉tis“gotchya”

http://answers.unity3d.com/answers/417487/view.html

请注意,这里一遍又一遍地询问同一个问题。

(2)我恳请你研究那里的三个相关答案。

(3)请务必了解这一点...... http://answers.unity3d.com/answers/352167/view.html

(4)不要忘记记住Unity的手性.. http://answers.unity3d.com/answers/267076/view.html

一个小问题。毫无疑问你不使用网格对撞机,几乎任何理由都在视频游戏中。 Unity包含了这个概念是非常令人困惑的,它无休止地混淆了新手和业余爱好者的程序员。 (如果你正在构建自己的网格,甚至添加动态碰撞器,你所要做的就是使用尺寸合适的盒式对撞机。)

答案 1 :(得分:0)

原来可以做到。有更复杂的方法可以实现这一点,例如Marching Cubes,然而,它们实现起来相当复杂并且不能正常工作,因为它们实时运行效率太低(编辑:除非你卸载到GPU)。