LessSimpleZone | A more precise & optimized extension of SimpleZone

Update: Increased random point dimension to 3 for less edge-biased random point distribution

You can change it here inside the PartsZone module by changing RANDOM_POINT_DIMENSION:

Heres what a random point dimension of 1 looks like, pretty cool:

1 Like

Update: Made :IsPointWithinZone() work reliably for any array of vertices (used to be kinda buggy :confused: )

Thanks to the folks at StackOverflow for this function:

Note that this update has slightly slightly decreased the performance of :IsPointWithinZone(), but only by like idk 40% of the original performance so it’s not that much

Update: Changed :IsPointWithinZone() to now use predefined shape check functions instead of using the vertices of the shape (those are reserved for :GetRandomPoint() now)

This SIGNIFICANTLY increased the performance, around 0.000001s (min) to around 0.00004 (max) for each :IsPointWithinZone() call

Update: Added .fromBasePartsVertices constructor, which allows you to define your own vertices AND use MeshParts!

Let me know if you have any issues with tetrahedron creation :slightly_smiling_face:

I also seperated all the geometry-related functions and tables (such as VertexGroup constructors for parts, .getRandomPointInSimplex, .isPointInBox, etc) into its own module called Geometry, which can be used independently :slight_smile:

image

can you add download link too? (publish script to roblox)
i dont like downloading files :sweat_smile:

1 Like

Okay, I’ll publish the module to Roblox. However, you will have to download updates manually as I don’t think the PackageLink is preserved that way :sweat_smile: Give me a minute…

Here it is!:

1 Like

Well I tried a little bit and i will write issues , suggestions and questions
And I did not use some methods that I did not know what they were used for.

issues

  • zone.ListenTo works a buggy i think I don’t know if I should use this too but when i call listento on the client i cant add assemblylinearvelocity things to part it wont work and if i change the pats position it doesnt work player touch and if i forced to touch part to on it it calls it
    and we can call it from server? it says we shouldnt

suggestions

  • Well a document would be nice when module is finished
  • and when creating a zone we need to can enter an instance without an array too

questions

  • well we can use itementered event why should we need use listento?

unnecessary

  • Zone → SimpleZone → Templates → ClientWorker → Worker
    There is a space in the 1st line lol
    image
    On serverworker it doesnt have space.

(used some translate my english is a little bad sorry)

Yeah currently LessSimpleZone doesn’t automatically update anything, if youd like your zones to move with your parts I’d suggest using SimpleZone.fromPart() or SimpleZone.fromPartParallel() instead.

Honestly alot of your issues sounds like you just need to use SimpleZone instead of LessSimpleZone, the post to it is linked on the top :slight_smile:

Is a higher quantity of smaller zones more performant than far fewer larger zones?

Nope, if you can combine zones into 1 id suggest to do that :sweat_smile:

Would you be able to publish this package onto Github? Having Github and Wally support would make it much easier for developers using the Rojo workflow.

It would also be much better for version control and other developers who would like to contribute to this module

I’m going to be honest, I have absolutely 0 idea on how to use git and rojo, especially wally :sweat_smile:

I’m gonna try to set it up, I’ll update the post if I succeed

Hi,
Can there be zones inside of zones and overlapping zones, that have there own triggers?

Also I see you have a test place for simplezone( I was checking out the test place, why is there Zoneplus in it? and also what is it supposed to do? I walled around but nothing seemed to happen.)…

, is there one for lesssimplezone?

Thanks

Hello

Unfortunately I have forgotten to update the SimpleZone test place :sweat_smile: Yeah will be making one for LessSimpleZone

The reason why theres ZonePlus in it is because I was doing comparisons.

Package Version 85:

  • For those who weren’t able to get the latest version, the download link has been updated

Hi, did you make an editable place or .rbxl to check out with the latest version?

Thanks

Hi, I’ll make one rn 30charlimit