洪水填充算法_Unity 3D - 洪水填充/油漆桶算法不断崩溃引擎

在Unity中实现洪水填充算法时遇到了引擎崩溃的问题。该算法用于黑白线条图的颜色填充,但现有实现会导致Unity挂起。代码中通过创建WestEast列表并检查相邻像素颜色来填充,但在处理过程中出现了错误。寻求对算法优化、代码修订或解决问题的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我一直在试图编写一个在Unity中工作的洪水填充算法。这个想法是根据用户选择的颜色为黑白线条图上的部分着色。我已经尝试过几次洪水填充算法的实现,但是所有这些都会导致统一性在被调用时挂起。Unity 3D - 洪水填充/油漆桶算法不断崩溃引擎

对此的任何帮助都非常感谢,这是重要项目的一部分。根据实际情况修订代码,算法设计,或任何其他方法来得到这个工作的任何建议,将不胜感激:)

代码:

// FloodFill function

void FloodFill()

{

// TEST - colour the clicked pixel

//_tex.SetPixel((int)_pixelUV.x, (int)_pixelUV.y, m_fillColour);

//_tex.SetPixel(_pixelX, _pixelY, m_fillColour);

// FLOOD FILL

// ----------

// Create WestEast

List m_WestEast;

//get the pixel's colour

Color PC = new Color(_tex.GetPixel(m_StartNode.X, m_StartNode.Y).r, _tex.GetPixel(m_StartNode.X, m_StartNode.Y).g, _tex.GetPixel(m_StartNode.X, m_StartNode.Y).b);

//Record clicked pixel as point

Point node = new Point(m_StartNode.X, m_StartNode.Y);

//if the pixel's colour is boundary colour (black), return.

if(PC == Color.black)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值