What I meant is that you can’t edit the individual bevel wedge components. With real-time CSG, you’re essentially “cutting out” portions from an existing part rather than creating entirely new parts (which you could then edit and change the color, material, etc… of).
Yeah, if that ever comes out I will consider it. Sounds cool!
I’ve not got around to contributing my fixes, but from memory, yes it’s the scale. The way the raycast positions are calculated isn’t quite right and so at small scales it misses the corners.
If you modify the Check function inside the DetectCornerOnSide function in the EdgeBevel script, this ought to fix it:
local params = RaycastParams.new()
params.FilterDescendantsInstances = filterObjects
params.FilterType = Enum.RaycastFilterType.Exclude
local direction = math.sign(sideOffset)
local offsetDistance = radius + 0.1
local startCF = cf + cf.RightVector * (sideOffset + direction * offsetDistance) + cf.LookVector * radius / 4 + cf.UpVector * radius / 4
-- Adjust the direction to cover the original distance plus the offset
local direction = cf.RightVector * -(direction * (radius + offsetDistance))
-- Perform the blockcast from the adjusted starting position
local result = workspace:Blockcast(
startCF,
Vector3.new(radius / 2, radius / 2, radius / 2),
direction,
params
)
if result and result.Instance then
There are two changes:
Sizing the block of the block cast based on the size of the radius (previously hard coded at 0.5, so I think this is the crux of why it broke before - corners smaller than 0.5 will normally be missed as the block often hits something else before the corner).
Dividing the radius by 4 rather than 2 when calculating startCF (I’m not 100% sure if this is required)
Unrelated to this, I’ve also done other changes locally that add support for generating the curved corner edges with UnionParts rather than meshes (which then allows the object with the beveled corners to be unioned and used for subtraction etc). I personally find this much more useful than the meshes, though it is a little more complex.