我的问题简单来说是这样的:详细来说,沿着人物表面流的血是怎么做的?它从 0:34 开始在此视频中显示。
好的,现在关于我所调查的内容的更多细节(我已经尝试实现这种效果几个星期了,但没有成功):我尝试了一种蛮力方法,我得到了三角形(字符网格三角形) 与平面相交并计算每个三角形的线方程以绘制一条线(用于斜线)。然而,为了从表面上滴下来,我尝试创建一个三角形映射,该映射包含三角形的索引,这些三角形通过边缘连接到每个三角形。然后我沿着重力方向沿着每个三角形的表面做了线。这需要大量的处理器能力,并且通常会产生不良影响。当试图增加滴水的厚度时,它会产生很多额外的问题,因此根本不起作用。
我研究了八叉树纹理及其在模拟流过表面的液体中的用途,但是我不确定如何实现这一点,据我所知,这不适用于重力。
我目前正在研究 Cg 着色器,并认为这就是解决方案所在。我发现同一团队(Wolfire)的另一个视频暗示使用着色器来制作此处显示的血液效果。我一直在寻找着色器示例,这些示例可能会给我一个线索来了解它是如何完成的,但到目前为止我还没有运气。
我正在使用语言 C# 和 Cg 进行着色器。如果有人想提供任何代码来帮助解释等,那么任何语言都可以,我会尝试转换:-)
感谢任何帮助我的人,因为就像我在这篇文章前面所说的那样,我花了相当多的时间试图解决这个问题,但我的大脑开始受伤了。