在一个立方体,一个矩形物体上,通常的方法是什么?


理想的结果看起来很像这些图像。
(很自然,你可以使用一个网格,它有小心的圆角和圆角,但要达到这个目的需要很多三步。)
注意,当然对于non--shader方法.

加上两个小的平箱,只需在两边中间加上一个新的正常半边,即45度:

会被完美地画出来..。
下面的GDG提供了一篇文章,其中有人断言这确实是最好的方法,如果没有使用着色器的方法。
不过,我真的很想知道如何使用着色器来实现这个。
注:关于非着色方法的详细教程
http://catlikecoding.com/unity/tutorials/rounded-cube/
发布于 2014-08-04 07:33:44
使用延迟阴影,您可以访问G-缓冲区定位和圆形边缘,就像它在本论文中所做的。虽然这是一种后处理技术,所以它能够在一定的像素范围内模拟圆度。

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

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

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

发布于 2014-08-01 22:58:47
我当然会遵从面向着色器的答案,但特别是如果在给定的平台上没有必要的着色器,我会通过一些“细节级别”模型(又名LoD )来完成这一任务。
这一技术在3d游戏中得到了广泛的应用,这是一种很好的方式来代表那些一旦相机靠近就会变得更加详细的遥远的事物。
发布于 2019-03-24 03:21:57
我们能够完成我们的游戏WorldToBuild的斜面立方体。关键是你可以继续做斜面模型,然后分组移动顶点。
总之,我所要做的就是:
我在这里写了一篇文章。如果您只想知道这个过程,请滚动到文章的底部:
https://www.linkedin.com/pulse/coding-resizable-beveled-cubes-unity-richard-christley
https://stackoverflow.com/questions/25078224
复制相似问题