跪拜 Guibai
← Back to the summary

ThreeFlowX Replaces Boilerplate Three.js Code with a Visual Scene Editor


theme: cyanosis

In the past, a digital twin project might require tens of thousands of lines of code.

Model loading, lighting configuration, particle effects, camera animation, mouse interaction...

A huge amount of time was spent on repetitive engineering development, while the actual business logic only accounted for a small part.

After working with Three.js for a few years, I kept thinking:

Is there a way to visualize all this repetitive work?

So, I started developing ThreeFlowX.

Why ThreeFlowX?

When I first encountered Three.js, I was like many developers.

A scene, starting from scratch.

Load the model. Add lights. Adjust materials. Add HDR. Write post-processing. Bind mouse events. Write animations.

A slightly more complex digital twin project could easily turn into tens of thousands of lines of code.

What really consumed time wasn't Three.js's rendering capabilities, but:

So I started trying to abstract all this repetitive work.

Gradually, it formed today's ThreeFlowX.

Editor initial interface:

It's Not Just a Simple Editor

Many people, upon first seeing ThreeFlowX, think:

"Isn't this just a model viewer?"

Actually, it's not.

It's more like a Three.js scene production tool.

Beyond model editing, it can also complete most of the scene setup work for an entire 3D project.

For example:

These capabilities can all be achieved visually.

Rich 3D Scene Resources

To reduce development costs, the editor has a large number of built-in common resources.

For example:

✅ 3D Models

Supports:

✅ Lighting

Supports:

✅ Scene Resources

Supports:

Many features that previously required custom coding can now be done by drag-and-drop.

From "Writing Code" to "Drag-and-Drop Configuration"

Before.

After loading a model, you had to write:

scene.add()

mesh.position

mesh.rotation

mesh.scale

Constantly modifying code. Constantly refreshing the page. Constantly adjusting parameters.

Now.

Just drag it in directly. Position. Rotation. Scale.

Real-time modification. What you see is what you get.

The whole process is more in line with the usage habits of design software.

My Favorite Feature: The Low-Code Interaction System

For Three.js, what's truly complex isn't the model.

It's the interaction.

For example:

After clicking a model: change color. Play animation. Show/hide. Modify text. Play video. Control other models. All of this previously required writing a lot of code.

For example: Raycaster, Tween animation management, event listeners. A simple interaction could be hundreds of lines of code.

But in ThreeFlowX.

All of this becomes: configuration. Select event. Select action. Save. No need to write any business code.

Camera Roaming

Digital twin projects almost always involve:

Automatic inspection. Park browsing. Exhibition hall introduction.

Traditional development methods.

Require writing a lot of Tween animations. Path calculation. Easing control.

Now.

Just edit the path directly.

Supports:

Not Just Browser Support

Many editors can only run on the Web.

But ThreeFlowX supports:

Built on Electron.

Whether it's an internal enterprise tool.

Or delivered to a client.

It can be deployed quickly.

Practical Application Scenarios

Currently, it is more suitable for the following projects:

Most of these projects involve a large amount of repetitive 3D scene setup work.

And the goal of ThreeFlowX is to help developers focus more energy on business logic, rather than reinventing the wheel.

Final Words

From initially improving my own development efficiency to gradually evolving into a complete Three.js low-code scene editor, the growth of ThreeFlowX has been inseparable from the polishing of real projects time and time again.

I have always believed that the value of Three.js is not just rendering a cool 3D scene; more importantly, it helps developers quickly build truly implementable digital twin, WebGIS, and 3D visualization applications.

If this article can bring some inspiration to you who are also doing Three.js development, you are welcome to exchange ideas, and also welcome to share the problems and experiences you have encountered in the process of 3D development. I believe that by continuously improving tools and practices, we can all invest more time into things that truly create value, rather than repeatedly writing code that can already be replaced by visualization.

Project experience address:

http://threeflowx.cn/edit/#/

Comments

Top 3 of 4 from juejin.cn, machine-translated. The original thread is authoritative.

Charlie2

I bow to you, master. I've worked on digital twin projects before and always felt Three.js was a mountain to climb.

答案answer

[grin]

叫个啥名

Just mindless applause.

Becauseofyou137

🐂🍺