首页 > 其他分享 >Unity可视化资源依赖关系开发总结

Unity可视化资源依赖关系开发总结

时间:2023-03-24 13:36:07浏览次数:40  
标签:关系 依赖 阻力 算法 Unity 质点 可视化

为了更好的查看资源依赖关系,有必要将资源数据和依赖关系按可视化的形式展现。

0x0 使用有向图作为数据结构

由于预制体资源依赖关系复杂,可能呈现网状关系,因此关系利用有向图的数据结构来表示是最合适的。

可视化界面中,资源用矩形表示,资源的依赖关系用连线和箭头表示

0x1 基于力导向的图布局算法

图的布局算法有很多,这里利用了基于力导向的布局算法。
这个算法的主要思想是将节点看作质点,模拟质点之间的斥力和引力关系,再加入阻力,然后进行迭代直到所有力达到力最终平衡状态,核心逻辑非常类似2d物理引擎。
算法中的主要需要模拟以下力:

斥力-库仑定律

具体来说,斥力使用了库仑定律,电荷之间的作用力,与距离的平方成反比,与电荷的电量成正比,这里电量我统一取1,方便利用库伦常数对力的大小做调整

引力-虎克定律

引力使用了弹簧力模拟,即虎克定律。力的大小和长度成正比,方向和弹簧伸长和压缩方向相反。

运动阻力

最后是运动阻力,如果没有运动阻力,所有质点最终很难达到静止状态。运动阻力和质点的速度成正比,方向和质点的速度方向相反。

调整物理参数得到布局结果

所以通过调整库伦常量,弹性常数和阻力系数这几个参数来调整布局最终的效果。

最后展示一下动态调整的效果。

标签:关系,依赖,阻力,算法,Unity,质点,可视化
From: https://www.cnblogs.com/terrynoya/p/17251247.html

相关文章