RBD —— 不同材质破碎

8 篇文章 0 订阅

目录

Working with concrete

Chipping

Details

Proxy geometry

Constraints

Working with glass

Chipping

Proxy geometry

Constraints

Resolving issues with glass fracturing 

Working with wood

Clustering

Using custom cutters


Working with concrete

        Concrete破碎使用Voronoi fracture方法,Fracture Level控制切割次数,Primary Strength控制约束强度;左Fracture Level 2,右Fracture Level 3;

 

        第一级别的破碎,类似Voronoi Fracture,在体积上撒点切割破碎;可使用Guide Geometry->Primary Volume查看;如Noise Frequency为0,将均匀统一撒点;可多次迭代破碎,Fracture Ratio、Fracture Seed参数确定对多少个先前级别破碎;也可使用RBD Paint交互式地在视图上绘制区域;

Chipping

        Chipping可使模拟产生更加真实的外观,会断开拐角;

Details

        切面添加noise,Edge DetailInterior Detail

 

Proxy geometry

        默认,RBD Material Fracture SOP使用Voronoi Fracture形状作为代理几何体;但,如使用了Edge Detail,Interior Detail,则不会完美匹配;通常也足够接近,但可使用Convex Decomposition,或Packed Spheres

Constraints

Working with glass

        Fracture per Piece对不同glass非常有用,可单独对每个破碎;

Chipping

        添加过多细节,会断开拐角;

 

Proxy geometry

        默认,RBD Material Fracture SOP使用Voronoi Fracture形状(边无noise)作为代理几何体;这与高精度几何体不会完美匹配,但通常也足够接近;可使用Convex Decomposition以获得更接近的匹配;

Constraints

        对glass有特别的约束,可设置glue强度;可使用Guide Geometry->Constraint Network查看;

Resolving issues with glass fracturing 

        但galss没有分开时切面的细节,由于透明会导致渲染问题;可预破碎后使用RBD Connected Faces SOP,记录面号及到对面的距离;然后通过RBD Disconnected Faces SOP使用这些信息确定是否删除内部面(但没有断开时);

Working with wood

        基于在两个方向(Grain、Cut)上,使用布尔切割;默认断裂方向是由最长点确定的;

 

Clustering

        打簇(RBD Cluster SOP),用于将碎块连接在一起;

Using custom cutters

        比预设的concrete, glass, wood类型更高级,可使用自己的切割面,但仍然利用RBD Material Fracture SOP提供的所有控制(如edge detail, interior detail, constraint creation, rewiring);还公开了布尔“treat as”参数,对solid、surface切割(金属切割有用);

  

 

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ceph是一个分布式存储系统,包括多个组件,其中包括Librbd块存储库。在Ceph中,Librbd提供了一种将RBD(块设备)映射到客户端的方法,并使客户端能够读写这些设备。在本文中,我们将分析Librbd块存储库的源代码以及RBD的读写过程。 1. Librbd源码分析 Librbd块存储库的源代码位于src/librbd目录下。其中,包括librbd.cc、ImageCtx.cc、ImageWatcher.cc、Journal.cc等多个源代码文件。这些源代码文件组成了Librbd块存储库的核心。 其中,librbd.cc是Librbd块存储库的主要源代码文件。在这个文件中,包括了Librbd的初始化、映射、卸载等方法。ImageCtx.cc则是Image上下文,用于管理Image的状态、锁定、映射等信息。ImageWatcher.cc用于监控Image的状态变化,Journal.cc则是Librbd的Journal日志管理。 2. RBD读写流程源码分析 在Ceph中,RBD由client和server两个部分组成。client在客户端上运行,提供了将RBD映射到客户端的方法。server在存储集群中运行,提供了RBD的存储和管理。 RBD的读写流程如下: 1)客户端向Ceph Monitor请求RBD映射信息,Monitor返回Image ID和Image特性; 2)客户端向Ceph OSD请求RBD数据块,OSD返回数据块内容; 3)客户端将数据写入或读取到本地块设备; 4)客户端向Ceph OSD写入或读取数据块,OSD返回操作结果; 5)客户端向Ceph Monitor请求解除RBD映射,Monitor返回解除结果。 在上述过程中,涉及到的源代码文件有:librbd.cc、ImageCtx.cc、ImageWatcher.cc、Journal.cc等。 总结 Librbd块存储库和RBD读写流程是Ceph存储系统的核心组件之一,通过分析源代码可以更加深入地了解Ceph存储系统的实现原理。同时,对于开发者来说,也有助于在Ceph存储系统上构建更加高效、稳定的存储应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值