// Constructor public RFShatterCluster(RFShatterCluster src) { enable = src.enable; count = src.count; seed = src.seed; relax = src.relax; layers = src.layers; amount = src.amount; scale = src.scale; min = src.min; max = src.max; }
// Copy from void CopyFrom(RayfireShatter shatter) { type = shatter.type; voronoi = new RFVoronoi(shatter.voronoi); splinters = new RFSplinters(shatter.splinters); slabs = new RFSplinters(shatter.slabs); radial = new RFRadial(shatter.radial); custom = new RFCustom(shatter.custom); slice = new RFSlice(shatter.slice); tets = new RFTets(shatter.tets); mode = shatter.mode; material.CopyFrom(shatter.material); clusters = new RFShatterCluster(shatter.clusters); advanced = new RFShatterAdvanced(shatter.advanced); }
/// ///////////////////////////////////////////////////////// /// Clusters /// ///////////////////////////////////////////////////////// // Set clusters static void SetClusters(RFShatter shatter, RFShatterCluster gluing) { shatter.InitClustering(true); shatter.SetClusterParameter(RFShatter.ClusterParams.enabled, true); shatter.SetClusterParameter(RFShatter.ClusterParams.by_pcloud_count, gluing.count); shatter.SetClusterParameter(RFShatter.ClusterParams.options_seed, gluing.seed); shatter.SetClusterParameter(RFShatter.ClusterParams.preview_scale, 100f); // Debris shatter.SetClusterParameter(RFShatter.ClusterParams.debris_layers_count, gluing.layers); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_count, gluing.amount); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_scale, gluing.scale); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_min, gluing.min); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_max, gluing.max); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_tessellate, false); shatter.SetClusterParameter(RFShatter.ClusterParams.debris_remove, false); // Glue shatter.SetGeneralParameter(RFShatter.GeneralParams.glue, true); shatter.SetGeneralParameter(RFShatter.GeneralParams.glue_weld_threshold, 0.001f); shatter.SetGeneralParameter(RFShatter.GeneralParams.relax, gluing.relax); }