墙生成器脚本

时间:2015-11-02 02:31:16

标签: c# unity3d procedural-programming

我遇到了一些麻烦。

我需要按路径生成墙。

例如。我有矢量A,B,C。我需要找到矢量D,E,F来创建ABC周围的体积墙。

enter image description here

首先,我采用最简单的方式 - 缩放ABC(找到质心)。

但这不是一个正确的解决方案,b / c我需要设置正确的墙宽,我需要找到一些像这样的额外点(点J和点K与JK垂直AB)

enter image description here

我将不胜感激任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要找到多边形外边缘的normals

可能有两种方法。 一个是使用边法线,另一个是顶点法线。 在边缘法线上,您需要找出外面的方向(取决于关闭/打开) 如果使用顶点法线,则只需将顶点平移到新位置。找出一个好的顶点法线是主要问题。

这称为抵消。更多细节可以在下面找到。 An algorithm for inflating/deflating (offsetting, buffering) polygons