
效果图
柱状温度图,和上一篇温度图的区别就只是在展示效果。
柱状物体会随机分布在温度点周围的一定范围内,越靠近温度点柱子越高,柱子的颜色根据高度有变化。
一、实现原理
简单来说就是生成很多柱子,更具温度点的位置进行分布。
但是如果直接实例化很多柱子,电脑肯定扛不住的,因为一个点可能有60个柱子,100个点就是6000个柱子。
我使用的方法是使用CommandBuffer直接绘制柱子。CommandBuffer最多绘制1023个柱子,所以多个柱子需要多个CommandBuffer。
public void CommandBufferForDrawMeshInstanced()
{
SetPos();
RemoveCommandBuffer();
if (m_buff != null)
{
for (int i = 0; i < m_buff.Length; i++)
m_buff.Release();
}

这篇博客介绍了Unity 3D中实现热力图的柱状效果。通过使用CommandBuffer绘制柱子并控制其位置、高度和颜色,解决了大量柱子导致的性能问题。柱子的坐标、旋转和缩放由Matrix4x4控制,颜色变化则通过Shader实现。文章还提及了Shader需支持实例化,并开启材质球的实例化设置。虽然这种方法局限于默认渲染管线,但在URP或HDRP中有望实现类似效果。
5051

被折叠的 条评论
为什么被折叠?



