how to use OCTREES in your Roblox Game
ฝัง
- เผยแพร่เมื่อ 17 พ.ค. 2024
- If you'd like to learn more about octrees and quadtrees, check out this video!
• Trees QuadTree OctTree
Check out Quenty's Octree module here!
quenty.github.io/NevermoreEng...
Ever wanted to learn Roblox Studio & scripting? Check out my course:
bit.ly/LuaScriptingCourse
Use code DEV2024 for 33% off!
My linktree:
linktr.ee/crusherfire
Music used:
Lucid Dreaming by | e s c p | www.escp.space
Happy scripting! - เกม
Ayy, new video. Octrees seem extremely useful, especially when paired with things like foliage moving in the wind or enitities. As always, keep it up king
finally a language I can understand
this makes sense as a programmer this is my first time learning about roblox studio
You might not have been the Roblox Studio TH-camr we wanted, but you're definitely the ONE we desperately needed!
Thank you for covering this topic! I was waiting for a nice explanation to this module!
WOAH THAT'S COOL. i could see myself using this in the future. nice video! you're super underrated.
yo bro thanks for making clear and well explained videos on subjects that doesn't already have 5 million tutorials on them 👍👍
finally a video about this, when I decided to create my own, it was complicated with so little instruction like this
I could see this being useful in terms of possibly rendering objects from the workspace to the replicated storage to help performance on high end games with 100s of thousands of parts/high number of unions.
OMG you beat me to it, i wanted to a video about this cause no one has even talked about the grid system on roblox, its been really useful since i discevered how it works
Thanks a lot for explaining it so well!
Would you mind making roblox studio settings / plugins video? I would love to watch it and configure it as u have
You can rewrite the module to using functions and not hooking metamethods, and it will be even faster, I think.
Orc trees are good for constant objects. When it comes to dynamic objects that can move from one place to another you can run into a lot of issues. It’s complexity of proper garbage collection and table’s size limit. Since objects are constantly moving from one grid to another your code will have to spend a lot of time literally removing reference from one grid table to another. Which can get to the point to absolute the whole algorithm. Also don’t forget that extending tables in lua and luau automatically is very expensive. So you will probably have to use table.create() with the first parameter being the whole amount of data in tables, which will use one hell of amount of ram
There is actually a module using octrees for dynamic objects! Check it out here:
devforum.roblox.com/t/dynamic-octree-system/2177042
Reminds me of the concept of BSPs
Hey, I would really like your roblox studio script theme, how'd you do it like that?
What's that autocomplete plugin you're using?
also, this video is super helpful and informative
dude that less than or equal to changed its sign, what plugins are you using, when your mouse was hovering around the cube earlier, a white spot was coming at the ends. you gotta list your stuff man, they look pretty good, id like to try them sometime
how did i end up here. gotta love it when youtube mixes up unity and roblox tutorials and actually gives me something good. great video
Hey! I really like your editor theme, could you maybe share that?
You can find that in the community posts!
does Octree allow that return radius search to return an instance? say if you made a zombie game and wanted to search zombies within radius of the player and all other zombies far away you want to respawn
I'm still wondering if tick() is deprecated or not, I see a lot of people saying it will be deprecated but it never seems to happen
hey where do I get the module? I don't see any devforum link in the description
What font do you use for the scripts?
great video 10/10 explanation, but i have no clue how to install the nevermore engine
You can just take the code from the github page and slap it into some modules, you don't necessarily need nevermore and there aren't any game-breaking dependencies for Quenty's Octree module except for some visualization module that you can simply remove the code for
Couldnt you just create a region3 bound box say 100,100,100 size and then everything inside that box can be put into the table instead of getting everything in the workspace first?
u can use any method to get whatever parts u want and put them in the octree, although i heard region3 is worse than overlapparams (like workspace:GetPartsInBoundBox() and all those)
Im sorry to bother but i cant find the module itself, like as roblox asset
how did u make that when u put ":octree" and it just put the local octree and local replicatedstorage?
th-cam.com/video/ObDp5JlbmFI/w-d-xo.html
damn
3:27 Could you explain how you got intellisense to work here with the services?
It's a plugin:
th-cam.com/video/ObDp5JlbmFI/w-d-xo.htmlsi=8p0U3i7v9Gfj3NLZ
What about the time it needs to add parts to the ocree first, in the linear search there is no overhead of adding and organizing parts into a data structure unlike octrees where every add operation has some overhead, I think it would've been nice if you included a third test where you include both the time for adding the parts into an octree and the time for searching for it.
If you did it, you can just pin it in a comment, I'd really appreciate it.
Why wouldnt you just do getpartboundsinradius?? Is that still slower?
As listed in the docs, this is best used for when you have thousands of objects or more. If you have few or a small area to check, the regular spatial query functions will work fine.
What Plugin do you use for the scale tool?
It is the base ROBLOX scaling using the beta features. You can enable beta features in your studio :)
@@Awokein Oh cool, Thanks!
Basically Minecraft chunks
*"And maybe those children have children of their own"* 💀
struk-chure