在多维数据集中围绕边缘的通常方式,如示例中的矩形对象?

理想的结果看起来非常像这些图像。

(当然,您可以用仔细围绕边缘和角落的网格实际上使用网格,但它需要很多三个来实现这一目标。)


注意,当然是<强>非 -shader方法...

添加两个小型扁平盒,简单地使新的正常半,即45度,两侧之间:

将是完美的圆形...

gdg下面提供了一篇文章,其中有人断言这确实是最好的方法,如果不是使用着色器方法。

我真的很想知道如何用着色器来做这个


注意 - 非着色器方法的令人难以置信的详细教程

http://catlikecoding.com/unity/tutorials/rounded-cube/

有帮助吗?

解决方案

使用延期的着色,您可以访问G-Buffer以定位和圆形边缘,如在本文。虽然它是一种后处理技术,但它能够在一些像素的极限中模拟圆度。

简单的平均法线(1像素宽度):

简单平均法线(2像素宽度):

简单的平均法线(3像素宽度):

其他提示

我肯定会推迟定向着色的答案,但特别是如果在给定平台上没有必要的着色器,我会用几个“细节水平”模型来实现这一点。

  • 为此对象的GameObject提供针对单面盒,略微弯曲的盒子和拔顶非常弯曲的盒子网格的GameObject。( http://www.wings3d.com/ 是我的Go-to简单的建模工具)
  • 给出gameObject一个行为脚本,用于检查每个帧的距离相机。

  • 基于距离激活适当的网格,并停用其他网格,这应该在播放器可用的最高分辨率下无法检测到更改的距离。

这种技术非常广泛应用于3D游戏,这是一个很好的方法来代表一下,一旦相机升起,就可以更详细地描述的东西。

我们能够为游戏WorldTobuild完成斜面的立方体。关键是您可以继续前进并制作倾斜的模型,然后只需在组中移动顶点。

所以简而言之,我必须做的就是实现效果是:

  • 创建一个斜面的多维数据集(我使用搅拌机)。
  • 找到你将通过从中心的位置移动到每个方向上的顶点。
  • 计算出斜边的边缘,并设置精确尺寸。

我在这里写了一篇关于它的文章。如果您只想知道该过程,请滚动到文章的底部:

https://www.linkedin.com/脉冲/编码 - 可调整化的斜面 - 立方体 - Unity-Richard-Christley

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top