通过管道mesh生成对应LineRender

起因

最近被告知需要对项目的所有管道进行流向标注,第一反应是给所有的管道替换材质球来实现目的,然而管道的mesh做的有些问题,直接替换材质球两边的流向是反的,只能退而求其次,使用lineRender给管道标注流向。然后我看着那几百根管道傻眼了。

方案

我是个非常懒的人,这种费力无聊还不讨好的工作不在我的考虑中,我决定做个插件,直接通过管道生成LineRender,在网上找了一下,发现根本没有人有这种奇怪的需求,那就只好自己造轮子了hhhh,于是便有了这篇博客。

思路

LineRender的核心是一串有序的位置,那我们要做的。便是在管道的mesh中找到这一串位置。

位置查找

说到位置,首先想到的就是mesh里面的顶点 vertices,通过mesh里的顶点,我们是不是能找出合适的作为LineRender的点呢,可mesh里的顶点太多了,没办法使用啊。

解决

我们可以通过分组的方式,根据距离,将mesh里的顶点分成N个组,然后每个组取其中的平均值,做为LineRender的点,emmm是个办法,但是。。。这个距离要怎么划分呢。

解决距离

我们可以取一个点,然后通过这个点去获取管道的直径,以直径做为顶点分组的依据,可行。这样LineRender的所有点位就都找到了。

排序

找到位置了,那我们要给这些位置排序,直接从第一个点开始,依次找最近的点好了,用过的就标记一下,ok,搞定了。也不难嘛hhh

后续

在我准备开始使用我的插件生成管道的时候,出现问题了。我遇到了这种管道

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值