Terminal: converting a Unity scene to Three.js.
We converted Unity's Terminal sample scene to run in the browser with Three.js. This demo shows the conversion in action: imported scene assets, recreated lighting and materials, and interactive navigation.
We brought the Unity scene's geometry, textures, layout, and baked lighting data into our browser pipeline. That initial import was relatively straightforward with the tools we already had. The harder part was translating Unity's material and lighting behavior into Three.js so the scene retained its original appearance.
We made progress by leaning on Three.js's built-in lighting and material capabilities, reducing our reliance on complex custom reflection workarounds. That gave us a clearer foundation for resolving visual differences and refining the result.
-
v1 IngestionBring the scene across.
Import the Unity scene's assets and layout into Three.js. Get the scene running in the browser, then identify the lighting and material differences that still need work.
What we learnedA successful import is the beginning of visual validation.
-
v2 Faithful recreationGet the source right.
Recreate the Unity scene faithfully in Three.js, matching its lighting and material response using the renderer's built-in capabilities.
What we learnedCorrectness needs a faithful reference before enhancement.
-
v3 Enhanced presentationBuild on that foundation.
Build on the conversion with Three.js post-processing, including ambient occlusion and RGB shift, to refine the presentation beyond the original Unity scene.
What we learnedEvaluate visual enhancements against the established baseline.