unity-game-engine - Unity3D,圆化盒子、立方体的边缘?

标签 unity-game-engine shader bump-mapping

将立方体(如示例中的矩形物体)的边缘倒圆的常用方法是什么?

enter image description here enter image description here

理想的结果看起来与这些图像几乎一模一样。

(当然,您实际上可以使用具有仔细圆形边缘和角的网格,但需要多次尝试才能实现这一点。)

<小时/>

请注意,当然对于着色器方法...

enter image description here

添加两个小扁平盒子,然后简单地将新法线设置在两侧之间的中间位置,即 45 度:

enter image description here

那将被画成完美的圆形......

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

我真的很想知道如何使用着色器来做到这一点。

<小时/>

注意 - 关于非着色器方法的极其详细的教程

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

最佳答案

使用延迟着色,您可以访问 G 缓冲区来定位和圆化边缘,就像 this paper 中所做的那样。虽然它是一种后处理技术,所以它能够在某些像素的限制内模拟圆度。

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

关于unity-game-engine - Unity3D,圆化盒子、立方体的边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25078224/

相关文章:

c++ - 法线贴图和平移扰乱了我的照明

c# - 是否可以在Unity中创建 "global"类实例?

java - 我需要 java 编程知识才能在 unity 3d 中开发 android 游戏吗?

unity-game-engine - 是否可以从数据库查询 3D 对象到 Unity 场景?

opengl - GLEW 着色器似乎不受支持

shader - HLSL 6+ 统一变量和编译

java - 在处理中更改聚光灯方向

c++ - 平坦水面上的法线贴图会产生不正确的镜面高光

JavaFX Material 的凹凸和规范贴图

ios - iOS App Store 上的大尺寸