I get the following error when I try to use UnionAsync, SubtractAsync or IntersectAsync within the Command Bar: New API is not enabled for plugin on publishing use yet
What are the limitations preventing the use of these APIs?
What are the limitations preventing the use of these APIs?
When will these APIs be available?
Hey @AlreadyPro,
We really want to enable this as soon as possible, It’s causing us to have to unwind some historical behavior with the Studio APIs and that is taking a bit longer than expected. Honestly the best timeline I can give you for this is Soon ™.
Will the soon to release occlusion culling count as it being “destroyed” if completely culled out?
Hey @DabidarZ
Occlusion culling refers to Rendering resources. Basically: don’t render stuff that’s not visible. This will reduce load on the GPU but. It will not affect the amount of data that is actually in the game. Think about it this way: You still want an object to move and respond to physics even if it’s behind a wall
It’s something we really want to enable but there are underlying issues that need to be solved first: Trust and safety (moderation), permissions and IP (who owns the published thing and who can modify it), economy and so forth. Creating things ephemerally allows us to sidestep some of these issues but as we work through them, we’re hopeful we’ll be able to enable this.
When I use SubtractAsync, both parts have the same position. Shouldn’t their position be at the COM? How can I detect which part is higher than the other?
Are you sure this is to do with speed, and it not being due to how far away the object is from the world origin? If it’s the latter, then that’s an engine limitation due to floating point precision that gets worse the further objects travel from (0,0,0).
This is just the result of how floating point numbers work, every single game engine has this. The only solution would be to teleport the player back to 0 on the X and Z axis every time a high distance is reached.
Hey @Lil_devboy123
Is there a way you could give us a minimal reproducible example?
Is everything welded together in this case or do they use other constraints to keep everything in place?
I notice you’re not play testing anything so this is visible both in studio and in experience?
Feel free to pass on anything to help us investigate
~BelgianBikeGuy
How would GeometryService parallelism work? Very likely this isnt yet 100% planned (since it only being on the Todo list) but is there at least a general idea you could share? Would it function by allowing other threads to do union operations or would it function by allowing multiple threads to compute a singular union operation?
The results use off center coordinates to allow attachments and everything to be moved more cleanly between parts and to provide continuity between results of operations. It also allows the setting the CFrame of the source directly to the result even after a time delay.
Let’s say you’re shooting a falling object:
You do a CSG operation to remove a chunk from a block
the object keeps falling while the operation is resolving
You get the object back with a chunk missing but at the original position where the operation was called
you can now either substitute the geometry or set the CFrame of the result where the falling object is to prevent it from snapping back up. Note substitute geometry should remove the flicker also (and all bug fixes are in for that to work again so it should be enabled next week)
There is the property ExtentsCFrame that you can query. the position of the CFrame is the physical center of the Part.
I have a scenario where I have a ragdoll rig that is being sliced. I want to detect, for the torso and limbs, the parts to keep the ball joint attached to, and for the other parts to be dropped. My current solution is to make super small parts anchored to each corner of the limbs, and to detect which sliced part the small parts end up in. Because of the position weirdness, I cannot reliably use this to detect proper part logic. I am not currently using CalculateConstraintsToPreserve because I do not understand how to apply it. I wish there were examples of usage. How would you recommend doing something like this: TLDR slice a ragdoll rig made of baseparts with ragdoll constraints.
Thanks!