正在加载视频...
视频加载失败
This is an opensource fully procedural building generator running using Three.js . Building customization, (GPU instancing). Real-time snow, rain & wet surfaces. I reverse-engineered a Blender geometry nodes graph to TypeScript. Source code :
88,997 次观看 • 3 个月前 •via X (Twitter)
73 条评论

@threejs the coordinate flip from blender's Z-up to three.js Y-up is the part that kills you quietly. spent a day chasing rotations that looked right on one axis and broken on every other before i caught it

@threejs Totally relatable, May all the softwares be united in terms of axis 🤣

@threejs you the boss! I was just in need of some buildings for the race track, these are perfect for that mid density residential/commercial parts of town I'm missing. Going to try and populate these along a spline road. Will post results back!

@threejs Thanks man ! if the performance drops try to look for modular assets for less complex building and u can use the project as a reference, if people likes it i might release a good low poly with some realisitc PBR materials for improved performance

@threejs for sure will need some LOD, with mrdoob's downtown TSL buildings I managed to build some simple LOD's then load in the TSL building for higher detail.

@threejs all i'm asking for is sunglasses achref

@threejs

@threejs This is really good work.

@threejs Much appreciated 🙌

@threejs oh man love this. used to do procedural buildings in 3ds max, but this is so much faster

@threejs much appreciated !

@threejs Love this

@threejs Glad you loved it ✨

@threejs building my own next! did some prototyping in houdini but speed of cooking all nodes kinda kills all the fun in this process. I want realtime

@threejs Well, I gotta be jealous, i always wanted to learn houdini, it's quite crazy the complexity that it can handle. for real-time approaches unreal & threejs are the best picks 🙌

@josh_garrett_kc @threejs Mew @brandon_manus @DOCTORdrippNFT

@threejs wow this is something interesting

@threejs Glad you like it !

@threejs Freaking insane!!

@threejs Thank you 🙌

@threejs Never done this before... how it works on mobile? The more I see projects like this I just find out i need to study more... f

@threejs Thanks for your comment, i’m not sure how it performs on mobile cause mainly i done it for pc but i think with some geometry optimizations u can get one running smoothly on it

@threejs Reverse engineering a whole Blender geometry graph into TypeScript is a serious amount of work.

@threejs Thanks! I really appreciate it

@threejs That reverse engineering skill alone is worth studying honestly.

@mrdoob @threejs

@threejs 🫡🫡🫡

@threejs

@threejs God Deam this is so fire 🔥 I’m definitely using this

@threejs glad u liked it ✨

@threejs This is pretty cool! I will try it out asap!

@threejs Thanks !

@threejs Rad

@threejs Nice!

@threejs Thanks ✨

@threejs added this to Fossy

@threejs Super cool!🙌🔥

@threejs Thank you, i really appreciate it ✨

@threejs with the github?!? you're too kind !!

@threejs Thank you ! 🙌

@threejs Played around 20 minutes with it. Loved it :)

@threejs Glad that you liked this project !

@threejs Thank you, you will be credited with this great work!

@threejs Thank you ! much appreciated 🙌

@threejs Any chance you can stand this up as a GitHub page that can be viewed in-browser?

@threejs well, i didn’t want to host it cause i was concerned that i might get a huge bill cause the source files are quite heavy 🤣 i never done github hosting, i always use aws or cloud flare, ill check it out and see if its the same

@threejs If it's all just static content you should be good 💪🏻

@threejs incredible work Chrio, i will test this!

@lostinlatencyX @threejs Thank you, i really appreciate it ✨

@threejs thanks for sharing, I absolutely love this! i took liberty to compile it and serve it online for anyone who wants to try it, hope it's ok!

@threejs Glad that you liked this project ✨

@threejs Reverse-engineering a Blender geometry nodes graph into TypeScript is wild, and the results speak for themselves. That Hong Kong tenement look with the AC units and clutter is so convincing, and the wet-surface pass really sells the atmosphere. Huge respect for open-sourcing it.

@threejs Thank you so much ! i really appreciate it

@threejs Nice job. This is the future.

@threejs Thanks ✨

@mrdoob @threejs Eastern European building generator.

@mrdoob @threejs Glad you liked it !

@threejs where ports break is seed stability, does threejs match blender across builds

@threejs seeds won't match the same seds in blender cause the nodes are translated to typescript and the randomization alghorithm is different

@threejs Super impressive!

@threejs Glad you liked it !✨

@threejs Yoooo this is crazyyyy

@threejs Thank you !

@threejs This is awesome, thanks for open-sourcing it!

@threejs glad you loved it 🙌

@threejs 把几何节点翻成 TS 这步挺狠的

@threejs Thank you 🙌

@threejs I see all of these efforts converging into new levels for counterstrike go. One day.

@threejs Thanks ! much appreciated

@threejs How did you go about translating more advanced geometry nodes concepts like subgraphs and context providers (where eg position node pulls from currently processed mesh)? Or was source project simpler data flow graphs?

@threejs I actually sidestepped building a general field evaluator. Instead of emulating Geometry Nodes' lazy field/context system, I flattened the graph into eager TypeScript and proved it matched Blender numerically.

@threejs The tricky part wasn't fields themselves it was preserving Blender's re-indexing after every Separate/Join, since that's where eager implementations silently diverge. This graph was also fairly feed-forward (no repeat/simulation zones), so that approach was viable.

@threejs Context providers (like Position/Index) just became values from the current array/loop index once the domain was fixed.
