正在加载视频...

视频加载失败

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 条评论

Gregor 的头像
Gregor3 个月前

@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

Chiro Visuals 的头像
Chiro Visuals3 个月前

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

Ryan Fitzpatrick 的头像
Ryan Fitzpatrick3 个月前

@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!

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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

Ryan Fitzpatrick 的头像
Ryan Fitzpatrick3 个月前

@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.

robot 2.0 的头像
robot 2.03 个月前

@threejs all i'm asking for is sunglasses achref

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs

Nicolas Norton 的头像
Nicolas Norton3 个月前

@threejs This is really good work.

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Much appreciated 🙌

taigajim 的头像
taigajim3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs much appreciated !

Vadim B 的头像
Vadim B3 个月前

@threejs Love this

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Glad you loved it ✨

Vadim B 的头像
Vadim B3 个月前

@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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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 🙌

SinfulMeatStick.eth 的头像
SinfulMeatStick.eth3 个月前

@josh_garrett_kc @threejs Mew @brandon_manus @DOCTORdrippNFT

Chetan Khulage 的头像
Chetan Khulage3 个月前

@threejs wow this is something interesting

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Glad you like it !

Meta__Architect 的头像
Meta__Architect3 个月前

@threejs Freaking insane!!

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you 🙌

Manuel Arias 的头像
Manuel Arias3 个月前

@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 🫩

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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

AI Mastery Guide 的头像
AI Mastery Guide3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thanks! I really appreciate it

AI Mastery Guide 的头像
AI Mastery Guide3 个月前

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

dewmap 的头像
dewmap3 个月前

@mrdoob @threejs

Vipin Pathak 的头像
Vipin Pathak3 个月前

@threejs 🫡🫡🫡

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs

Edwin Meza 🎬 的头像
Edwin Meza 🎬3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs glad u liked it ✨

Ozony.Tech 的头像
Ozony.Tech3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thanks !

Alex Coulombe 的头像
Alex Coulombe3 个月前

@threejs Rad

KingDankKush 的头像
KingDankKush3 个月前

@threejs Nice!

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thanks ✨

GreenRocket.app 的头像
GreenRocket.app3 个月前

@threejs added this to Fossy

Ebenezer 的头像
Ebenezer3 个月前

@threejs Super cool!🙌🔥

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you, i really appreciate it ✨

lalo 🐧 的头像
lalo 🐧3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you ! 🙌

Rushabh ⚡️ 的头像
Rushabh ⚡️3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Glad that you liked this project !

Jon 的头像
Jon3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you ! much appreciated 🙌

Sas van der Westhuizen 的头像
Sas van der Westhuizen3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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

Sas van der Westhuizen 的头像
Sas van der Westhuizen3 个月前

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

lost in latency 的头像
lost in latency3 个月前

@threejs incredible work Chrio, i will test this!

Chiro Visuals 的头像
Chiro Visuals3 个月前

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

Fred Moon 🚀 的头像
Fred Moon 🚀3 个月前

@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!

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Glad that you liked this project ✨

GameGen 的头像
GameGen3 个月前

@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.

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you so much ! i really appreciate it

Religion is poison 的头像
Religion is poison3 个月前

@threejs Nice job. This is the future.

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thanks ✨

Barbakadze 的头像
Barbakadze3 个月前

@mrdoob @threejs Eastern European building generator.

Chiro Visuals 的头像
Chiro Visuals3 个月前

@mrdoob @threejs Glad you liked it !

Sebastian Buzdugan 的头像
Sebastian Buzdugan3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

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

Jim Whitehead 的头像
Jim Whitehead3 个月前

@threejs Super impressive!

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Glad you liked it !✨

Nawwara 的头像
Nawwara3 个月前

@threejs Yoooo this is crazyyyy

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you !

Day Day Up 的头像
Day Day Up3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs glad you loved it 🙌

晚晚 的头像
晚晚3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thank you 🙌

Bram van Es 的头像
Bram van Es3 个月前

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

Chiro Visuals 的头像
Chiro Visuals3 个月前

@threejs Thanks ! much appreciated

Marcin Ignac 的头像
Marcin Ignac3 个月前

@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?

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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.

Chiro Visuals 的头像
Chiro Visuals3 个月前

@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.

Chiro Visuals 的头像
Chiro Visuals3 个月前

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

相关视频