glecollinet Profile Banner
Little Workshop Profile
Little Workshop

@glecollinet

Followers
3K
Following
693
Media
66
Statuses
756

A digital studio focused on creating 3D/VR/AR experiences. Tweets by Guillaume Lecollinet, creative developer. Contact: [email protected]

Paris, France
Joined December 2009
Don't wanna be here? Send us removal request.
@glecollinet
Little Workshop
1 year
🚀 Our latest WebGL project is out! . Introducing Equinox, an interactive space adventure that will take you to the stars. ✨. Embark now: #webgl #threejs
33
91
506
@glecollinet
Little Workshop
6 months
RT @danielben: Dragonsweeper reaching 50k gameplays!. A minesweeper roguelike adventure you can play for free.
Tweet card summary image
danielben.itch.io
A roguelike minesweeper adventure. Play in your browser
0
59
0
@glecollinet
Little Workshop
6 months
Our interactive experience is nominated for People's Choice Award 2024 on @fwa!. If you enjoyed it, please consider giving us your vote to support more projects like this one!. 🗳️ Vote here:
Tweet card summary image
equinox.space
Embark on an interactive story among the stars
0
0
5
@glecollinet
Little Workshop
10 months
Our latest work for @Netlify has been awarded FWA of the Day! 🎉. Big thanks to the Netlify team for the opportunity to create this experience, and to the @fwa jury!.
@glecollinet
Little Workshop
10 months
✨ Our newest WebGL project is live! . We teamed up with @netlify to bring you a unique experience we're very excited to share!. Ready to roll? Play it now: #webgl #threejs
0
3
27
@glecollinet
Little Workshop
10 months
RT @Netlify: How do you celebrate 5 million ( 🤯) Netlify developers? With an interactive, 3D game built on the platform, of course. Roll th….
Tweet card summary image
5-million-devs.netlify.com
Netlify has reached 5 million developers! Travel through the journey to see how we got here and where you played a role (pun intended) in our story.
0
13
0
@glecollinet
Little Workshop
10 months
✨ Our newest WebGL project is live! . We teamed up with @netlify to bring you a unique experience we're very excited to share!. Ready to roll? Play it now: #webgl #threejs
22
47
408
@glecollinet
Little Workshop
1 year
RT @KMkota0: my wiggle bones library for three.js is now public. i can’t wait too see what you all make with it!. → docs: .
0
238
0
@glecollinet
Little Workshop
1 year
It's been brought to our attention that someone is using our Equinox project to promote a blockchain scam. 😢. Do not trust anyone pretending to be launching a crypto project based on Equinox. Please help us report this account.
Tweet media one
7
3
19
@glecollinet
Little Workshop
1 year
Thanks for reading! If you haven't already, check out the experience: You can also read our previous thread detailing how the rendering pipeline works:
@glecollinet
Little Workshop
1 year
🧵 Equinox behind-the-scenes thread #1. Curious to know how we achieved the art style in In this thread, we dive into our rendering pipeline and the various post-processing steps to explain the anatomy of a frame. #webgl #threejs #gamedev. Read on 👇
0
2
14
@glecollinet
Little Workshop
1 year
A few takeaways:. 🔄️Fast iteration loops are crucial for environment art. 🛠️Building custom tools can speed up your workflow. ✨Rendering optimization begins in the pipeline (merging static geo, mesh compression. ).🧩Environment kits are great. Procedural kits are amazing!.
1
1
11
@glecollinet
Little Workshop
1 year
And that’s a wrap! We hope you enjoyed this glimpse into how we created the 3D environments for Equinox.
Tweet media one
1
0
13
@glecollinet
Little Workshop
1 year
c. Optimization. Finally, both meshes and textures are optimized to reduce file size and improve performance. KTX2 is applied to all maps except a few of them where compression artifacts are too visible. Besides, Draco results in levels shrinking by at least 8 times in size.
1
0
3
@glecollinet
Little Workshop
1 year
Using command-line parameters, we made it easy to choose between re-baking only a specific room or the entire level. As for baking times, we also had the option to bake in low quality while iterating on levels.
1
0
3
@glecollinet
Little Workshop
1 year
Baking lightmaps was done through a Blender add-on called The Lightmapper ( using Cycles, also driven by our script. Here’s an example map using the same lightmap UVs as shown previously.
Tweet media one
1
0
7
@glecollinet
Little Workshop
1 year
Another important step is generating UVs for lightmaps. Instead of having to manually unwrap our geometry, we relied on XAtlas (, a library that does an awesome job at auto-generating lightmap UVs.
Tweet media one
1
0
11
@glecollinet
Little Workshop
1 year
One of the key transformations is to merge all static elements inside each room as a single mesh. This allows us to reduce the number of draw calls at runtime.
1
0
3
@glecollinet
Little Workshop
1 year
b. GLTF export. The meat of our export pipeline is based on a Blender Python script that loads each FBX level file exported from Unity, transforms it in many ways and then exports the final asset as GLTF.
1
0
2
@glecollinet
Little Workshop
1 year
a. Scene editing. Basically, all the scene editing was done in the Unity editor and exported as a single FBX file per level. No other Unity feature was used except for placing the various meshes coming from Blender/autokit.
2
0
3
@glecollinet
Little Workshop
1 year
Our solution was to use a mix of Unity, Blender Python scripts and shell scripts. Here is an overview:. a. Scene editing (Unity -> FBX).b. GLTF export & Lightmap baking (Blender scripting).c. Optimization (KTX2 + Draco).
1
0
4
@glecollinet
Little Workshop
1 year
3. Exporting to Three.js ⚙️. One of the challenges on Equinox was figuring out how to set up a good workflow allowing us to iterate on level design and environment art, and to easily preview the result in the browser.
1
0
3
@glecollinet
Little Workshop
1 year
Our mesh preparation also involved applying different materials to different parts of each mesh, for differentiating non-emissive, emissive and screen faces (Here shown as gray, blue and yellow, respectively).
Tweet media one
1
0
4